Documentation has been fixed and clarified, and ld() handling is now
consistent in Fl_(RGB_)Image, their subclasses and fl_draw_image()
and similar functions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@12028 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Rewrite library and header configuration so HAVE_something is only set
in config.h if both library and header files are found.
Fix and enhance summary output to display _found_ options instead of
_requested_ options (e.g. don't show Xft if Xft was requested but not found).
Configure is aborted if Xft is requested explicitly but not found.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11997 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also: more consistent use of 'const int nc = children()'. Added 'const'
qualifier for clarity only. This does not change the behavior.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is now documented as legal to reset a window icon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11881 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
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
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
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
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
Fl_Browser::add(), Fl_Browser::insert(), and Fl_Browser::text() didn't
test if the provided text argument was NULL, although this was explicitly
allowed in the documentation.
Also applied some minor documentation fixes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10966 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
Fl::event_x_pixel(), and Fl::event_y_pixel() functions.
Also, put tab at start of lines, as required.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10942 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit adds the configure option --with-abiversion and the CMake option
OPTION_ABI_VERSION. Both options can be set e.g. to 10304 to build with
FL_ABI_VERSION = 10304 (FLTK 1.3.4).
For IDE builds there are new files ide/<IDE-NAME>/FL/abi-version.h that
can be edited to change the ABI version before the FLTK lib is built.
Note that this file MUST be copied to the include/FL directory if the
IDE-built library is to be installed.
The default is FL_ABI_VERSION = FL_MAJOR*10000 + FL_MINOR*100 + 0, i.e.
10300 for all FLTK 1.3.x versions to keep binary compatibility (ABI).
Todo: more tests and more documentation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10786 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Two new static methods have been introduced:
- Fl::box_color(Fl_Color c) returns the bg color dependent on the
widget's state (inactive_r()).
- Fl::set_box_color(Fl_Color c) sets the correct bg color dependent
on the widget's state by calling fl_color(Fl::box_color(c)).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10781 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
It used to be 'Courier New' that was judged too thin. 'Courier' will be used now.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10722 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Fl_Menu_Item::set_only() is deprecated and replaced by Fl_Menu_::set_only(Fl_Menu_item*).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10647 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Note to devs: if I missed something, please mark follow-up commits with
[Version 1.3.4] so we can find the necessary commits for version updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10612 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
and P4-formatted files of width a multiple of 8 were handled incorrectly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10558 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is useful (necessary) because in old (pre 1.1.6) which didn't have
Fl::delete_widget() users would have called 'delete window', which would
have hidden a window and destroyed it as well. Now the widget/window is
hidden immediately, whereas it is destroyed delayed, which comes much
closer to the previous behavior and is useful for better window close
detection in Mac OS X cmd-Q handling.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10456 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Thanks to Evan Laforge for spotting this and supplying a patch.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10383 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added Fl_Image_Surface class to draw into an Fl_Image object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
The fix is twofold:
(1) if Fl_Window::flush() is called, this is ignored silently
(2) if Fl_Window::make_current() is called directly, but the window
is currently not shown(), then the program will be terminated
with an error message.
The latter is necessary because returning from make_current() would
leave the program in a state where it would expect to have a valid
drawing context.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This is a convenience method to support easier implementation of
scheme-specific code in draw() methods and elsewhere.
Also improved Fl::scheme(const char *name) documentation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10075 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Note: This fix is temporary and should be revisited later.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10044 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to enable inheritance and for consistency (STR #2834).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10039 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
***************************************************************
NOTE: You MUST uncomment the FLTK_ABI_VERSION in Enumerations.H
to use these changes.
***************************************************************
Also: separated tree size calculation from draw() code,
so that one can cause the tree to recalculate immediately
after making modifications to the tree by calling Fl_Tree::calc_tree().
Numerous improvements to docs for the tree as well, enough
to create a rather large diff.
Large internal changes were needed to do this properly.
The following was added to the CHANGES file:
- Fl_Tree: various related changes:
o Added horizontal scrollbar
o Separated draw() and tree size calculation
o Added new public methods:
> resize() -- uses optimized dim calc, avoids tree recalc
> next_item() -- added parameters: direction, visibility
> extend_selection() -- added parameters, improved algorithm
> calc_dimensions() -- calc tix/y/w/h, tox/y/w/h and scrollbars
> calc_tree() -- calc tree_w/tree_h
> recalc_tree() -- schedules calc_tree()
> first_visible_item(), last_visible_item(), next_visible_item()
> first_selected_item(), last_selected_item(), next_selected_item()
o Added protected variables:
> _tix/y/w/h -- tree widget 'inner' dimension
> _tox/y/w/h -- tree widget 'outer' dimension
> _tree_w,_tree_h -- entire tree hierarchy width/height
o Deprecated:
> item_clicked() -- use callback_item() instead
> first_visible() -- use first_visible_item() instead
> last_visible() -- use last_visible_item() instead
- Fl_Tree_Item: various related changes:
o Added Fl_Tree ptr: needed for auto-recalc when item modified directly
o Added new methods tree(), recalc_tree()
o Added new ctor that accepts Fl_Tree*
o draw() parameters changed to include tree size calculations
o Deprecated:
> ctor using Fl_Tree_Prefs parameter (Fl_Tree* version better,
and must be used for 1.3.3 ABI features to work correctly)
> next_displayed() -- use next_visible() instead
> prev_displayed() -- use prev_visible() instead
- test/tree: added tests for newly added features
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10034 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Also: added release dates for all releases I could easily find copies of.
To determine release dates, I used e.g.
tar tvfz /net/software/fltk/fltk-1.1.1-source.tar.gz | sort --key=4 | tail
..the date stamps on the directories at the bottom of the report indicate
the date the tar file was created.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10017 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
unused function strtoll() [resolves one part of STR #2965].
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9923 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Added _next_sibling and _prev_sibling to Fl_Tree_Item class to make
next_sibling() and prev_sibling() more efficient during item selection.
Used new FLTK_ABI_VERSION macro (as designed by Greg and Albrecht on fltk.dev) to protect the ABI breaking features.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
to honor maximum_size() as number of allowed characters (STR #2747).
This was a hangover from FLTK 1.1, where the number of bytes was equal
to the number of characters.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121