This version works much better than the previous one:
- fixed buffer overflow ("stack corruption")
- fixed potential long text truncation
- fixed tab formatting at line start or any offset divisible by 8
- better handling of HTML entities (aka quoted characters)
- code simplifications, e.g. HV_Edit_Buffer::cmp() + width()
Todo:
- improve and standardize handling of HTML entities
- more tests
Missing features and known bugs:
- strike out text (not implemented)
- table and horizontal line formatting issues (STR #3227)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11745 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Clarify that the resizable() box should be the first child to ensure
correct event delivery to children.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Previously the X11 platform got an Fl_Shared_Image whereas other got an Fl_RGB_Image,
which made image deletion difficult. Now all platforms get an Fl_RGB_Image object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11712 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Setting a different text size didn't affect the scrollbars.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11453 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Remove src/fl_call_main.c from non-Windows (static) libraries. It would
be an empty object file anyway.
Use CMake variables to set up used files and linked libraries to remove
redundancies. All files and libs are used only in the definition of
CMake variables and used later in static and shared builds, resp.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11444 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Three documented pre-processor variables can now be defined on the
compiler command line to avoid editing the FLTK src code. The default
values still apply unchanged.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11404 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
If the exposed window contains a sub-window the sub-window can disappear
after having been drawn. This can be seen with the device demo
completed with a wait_for_expose() call just after the main window show().
The fix applies wait_for_expose() recursively for all subwindows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11352 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The fclose(stderr) apparently freezes the opening of the GTK file chooser.
It is replaced by 2>&- which closes stderr for the lpstat command.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11329 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Modifier key names like Alt, Shift, Ctrl, Meta can now be localized by
setting global string pointers. See documentation of fl_shortcut_label().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11321 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The variable "_lastselect" had been added to the methods Fl_Tree::remove() and Fl_Tree::clear() without any ABI guards, but "_lastselect" was added to the class ABI at 10301 (so far as I can tell).
Builds now with my patch: not sure it is correct, but... Will commit anyway since it allows the lib to build, but please feel free to fix it better!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit fixes a regression in FLTK 1.3.x, where negative values
of 'd' (pixel delta) and 'ld' (line delta) didn't work anymore under
Unix/Linux (X11) and Windows.
With this commit the regression is fixed on all supported platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11270 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The fixes in this commit include those proposed in file #6
(fltk-misc-1.patch) with a few modifications (see comment on STR).
Changes in src/fl_set_font.cxx are not included (see comment #13).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11243 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Optimized wrap mode - removed unnecessary wrap margin calculations.
The speed-up is significant, but there is still room for improvements.
Refactored parts of the code to make the decisions more modular and
(hopefully) obvious.
This commit also fixes some positioning issues with different scrollbar
alignments and the new line number display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11205 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is part 1 of the proposed patch, slightly reformatted.
See STR #3272, comments #1 - #3.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11202 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Removed obsolete ENC() macro, fixed some encodings that were still
Windows CP-1252: converted to correct Unicode values.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11174 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
prevent problems with Fl_Tree::_item_focus remaining valid after clear().
Applied his patch, plus extra checks added to Fl_Tree_Item's dtor.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11173 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This new member function returns a high resolution bitmap image scaled to the adequate
drawing size. This allows to create a bitmap image able to fill all pixels of a high resolution
display. This is functional only for the Mac OS platform and with FL_ABI_VERSION >= 10304.
On other platforms, the new member function returns an unscaled bitmap.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11156 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Visible only with FLTK_ABI_VERSION >= 10303, since FLTK 1.3.3.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This depth was set to 4 at r.10999 to help dealing with images of windows with rounded
corners. But it was not such a good idea to have an image depth that changes with the platform.
For example, the shapedwindow example program was made more complicated.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11118 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
gcc issued lots of warnings if compiled with -Wundef. This shows access
to undefined preprocessor macros, particularly for config tests.
This update is similar, but not identical to fltk-cpp-fixes.patch as
posted on STR #2988 (file #1). There have been changes in the configure
script and the macros in configh.in and configh.cmake.in meanwhile.
This commit compiles with -Wundef w/o such warnings under Linux and
Windows (MinGW).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11094 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
allowing to draw exactly windows with rounded corners.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10999 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
because it did not use the correct dwmapi.dll - based implementation.
This commit uses the correct way to compute the width and height of window
borders in Fl_Window::decorated_h() and in Fl_Paged_Device::draw_decorated_window().
2) Fixed the computation of enhanced metafile units that correspond to a given pixel size
used by the Fl_Copy_Surface class on the WIN32 platform.
Tested with MSWindows XP, 7 and 10 using the device test app.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10997 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
is used when fl_draw() is called while no font has been set before. This commit does the same
on the MSWindows platform, for consistency.
2) Slightly improved Fl_Image_Surface::draw_decorated_window() under WIN32.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10996 ea41ed52-d2ee-0310-a9c1-e6b18d33e121