This commit reproduces the same changes in the fltk-1.3-porting branch.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11761 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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
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
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
Platform headers should not be #include'd in public FLTK header files,
so that user space is not polluted by platform specific definitions.
This commit fixes FL/fl_utf8.h to #include X11 headers only if compiled
in the FLTK library.
Todo (FLTK 1.4): Remove more unnecessary (unwanted) system header #include
statements from FL/x.H and other public header files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11266 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
To use Fl_Cairo_Window one ddi not only need to configure with --enable-cairo,
but also needed to #include <config.h> before #include <FL/Fl.H>.
This commit removes the smaller part of the dependency of the public header
file FL/Fl.H on config.h. This needs a better solution in FLTK 1.4.0.
The user still needs to define FLTK_HAVE_CAIRO _before_ #include <FL/Fl.H>.
Note: This is not compatible with fluid, since fluid _always_ includes
FL/Fl.H as the first statement in generated header files.
See also the discussion in fltk.general:
https://groups.google.com/d/msg/fltkgeneral/_C1OJhMLQl0/pHUFtz9SCwAJ
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11167 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
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
This gives the same drawing capabilities to all supported drawing
surfaces: display, printer, clipboard, in-memory bitmap image,
PostScript file.
Also, completed the Mac OS implementation of
Fl_Copy_Surface::draw_decorated_window(Fl_Window *win, int delta_x=0, int delta_y=0)
that did not honor non-zero last arguments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10990 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1) Changed the way fluid attaches images to widgets and menu items so
it is compatible with running fluid-generated code containing such images
in a static initializer. Images are now attached calling a function:
widget->image( image_function_name() );
and this function is defined before in fluid-generated code as:
static Fl_Image *image_function_name() {
static Fl_Image *image = new image_type(......);
return image;
}
2) Changed src/Fl_File_Chooser.fl so the source code generate by fluid
from it is compatible with running in a static initializer.
3) Changed src/Fl_File_Chooser.cxx and FL/Fl_File_Chooser.H
to the result of running fluid on src/Fl_File_Chooser.fl
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10972 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
the static method Fl_Surface_Device::surface() can be called before main() starts.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Moved the docs up (before #ifdef ...) so they are also generated on
Mac OS X platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10946 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Methods Fl::event_x_pixel() and Fl::event_y_pixel() committed at r.10941
are removed. Instead method Fl_Gl_Window::pixels_per_unit() is added.
The documentation explains in more detail how to write cross-platform
FLTK code supporting high resolution OpenGL windows on retina displays.
The examples/OpenGL3test.cxx app exercises Fl_Gl_Window::pixels_per_unit().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10945 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
dynamically adjust to windows moved between high and low resolution displays.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10944 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
in pixel units that differ from FLTK units for OpenGL windows mapped to a retina display.
On non Mac OS platforms, these are synonyms of Fl::event_x() and Fl::event_y().
The example/OpenGL3test demo program is modified to call these new functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10941 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that allows customization of the application menu on the Mac platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10932 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
that copies a window to the clipboard together with its title bar and borders.
This requires very little new code because the capture of window decorations
is shared with the Fl_Paged_Device::print window() method.
The device test program is changed to call the new method.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10928 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
is done by cmd-click rather than ctrl-click, as is expected on this platform.
Also, updated the documentation to describe the effects of ctrl-, shift- and cmd-clicks.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10882 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
On the X11/MSWindows platforms, this requires external installation of the GLEW library.
This fixes STR#3198 and STR#3257.
Added two new examples programs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10876 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
subject to change, and that Fl_Gl_Window::mode(int a) is the adequate stable API.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10862 ea41ed52-d2ee-0310-a9c1-e6b18d33e121