Commit Graph

80 Commits

Author SHA1 Message Date
ManoloFLTK
4b945a3086 Wayland/X11 hybrid: use "bool fl_disable_wayland;" declaration. 2022-11-05 19:47:37 +01:00
Albrecht Schlosser
92e9181a0a Rename FL/fl_string.h to FL/fl_string_functions.h
This is part 1 of the final fix for a previous name clash on case
insensitive file systems (fl_string.h vs. Fl_String.H).
2022-01-16 19:47:16 +01:00
Albrecht Schlosser
ab58971bcf Improve focus box drawing and documentation
Add new method
  Fl_Widget::draw_focus(Fl_Boxtype t, int x, int y, int w, int h, Fl_Color bg)

  ... with background color for correct contrast testing (in Fl_Tabs)

Draw the focus box of the "tabs" of Fl_Tabs widgets with the correct
  boxtype and background color.

Make 'unsigned int visible_focus()' const so it can be used in 'const'
  methods.

Do not draw the focus box if the per-widget focus box option is off.
2022-01-14 17:17:09 +01:00
Greg Ercolano
2141c63628 Implement + deploy fl_strdup() 2020-08-01 14:19:40 -07:00
Albrecht Schlosser
f09e17c3c5 Remove $Id$ tags, update URL's, and more
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files

The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
2020-07-06 20:28:20 +02:00
Albrecht Schlosser
a8c4f77d50 Improve docs of Fl_Widget::callback() and do_callback().
Clarify that all variants of do_callback() call clear_changed() after
the callback and that 'long Fl_Widget::argument()' may truncate the
user_data value on some (particularly Windows 64-bit) platforms.

Some code has been reformatted and refactored with better variable names,
but there are no effective code changes.

Obsolete, inactive code was removed.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12345 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-20 15:16:37 +00:00
Albrecht Schlosser
9713905710 Allow widget callback to be NULL (STR #2835).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11812 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-07-15 19:23:32 +00:00
Matthias Melcher
6e16d033ae Add fl_focus_rect function to driver.
Focus rectangles are dotted lines. The default implementation uses the dotted line style, However, for systems without line stye, we draw many dots instead.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-01 23:06:14 +00:00
Matthias Melcher
b1520373ae Created pseudo code for all FL_PORTED section so that FLTK compiles and links (Xcode, hello, other C flags: -D FL_PORTING -U __APPLE__ -U __APPLE_QUARTZ__)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04 23:09:32 +00:00
Manolo Gouy
5c7ef30341 Running FLTK in static initializers (cont'd):
To make sure that fl_graphics_driver is initialized, it is enough to test whether it is null.
This saves the memory cost of a static variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10971 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16 10:22:13 +00:00
Manolo Gouy
291cf838bf Allowing to use FLTK objects in static initializers (cont'd).
Mac OS: a more convenient position where to initialize the fl_fonts global variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10964 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 13:24:17 +00:00
Manolo Gouy
6bdb661c2a Allowing to use FLTK objects in static initializers (cont'd).
On the Mac platform, it's also necessary to initialize the fl_fonts
global variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10960 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 08:38:16 +00:00
Manolo Gouy
6a608d4862 Restore the possibility to construct FLTK objects and draw them within static initializers
(which run before main() begins in an uncontrolled order). This was failing because
calls to drawing functions (e.g., fl_font(f,s);) crashed due to uninitialized fl_graphics_driver
global variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10959 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 06:55:30 +00:00
Albrecht Schlosser
c2601505bb Documentation updates on callbacks and Fl::readqueue().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10677 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-05 09:04:44 +00:00
Albrecht Schlosser
21520a3d5e Remove redundant redraw_label() call from copy_label(), STR #2836.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9452 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-07 07:18:11 +00:00
Albrecht Schlosser
66cea4322f Fix STR #2836: copy_label() with old label() value failed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-05 13:36:47 +00:00
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(to clarify static exception LGPL by changing license references)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19 04:49:30 +00:00
Greg Ercolano
a343f7555b STR#2466: Added copy_tooltip().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7940 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-02 17:58:58 +00:00
Matthias Melcher
e454f97acc Fixed Copyright to 2010.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28 21:06:39 +00:00
Albrecht Schlosser
27e7308654 Minor fix to do_callback() code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7321 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-23 17:37:51 +00:00
Albrecht Schlosser
177f45fe98 Extended Fl_Widget::align_ flag from 8 bits to full (unsigned) size for
later extensions (currently all 8 bits are used).

Moved the align_ flag to the internal Fl_Label struct (where it should be).
There are no API changes, though.

I also reordered a few other variables for better alignment, so that there
is no size change of Fl_Widget on 32-bit platforms (currently 84 bytes on
Windows/32-bit and probably all 32-bit platforms).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7013 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-16 15:56:41 +00:00
Albrecht Schlosser
954fba25c8 Widgets now remove stale entries from the default callback queue
(see Fl::readqueue()) when they are deleted (STR #2302)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-23 12:53:45 +00:00
Fabien Costantini
15489bda1b Major documentation update including: now html doc API is sorted, navigation problems/side effects fixed, html tags replaced by proper doxygen commands, parameters command switched from a to p. Includes a pdf update.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6716 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-03-24 01:40:44 +00:00
engelsman
ced863d334 converted html tags to doxygen commands in documentation/src/subclassing.dox
this also required tweaking parameter names and doxygen comments in
Fl_Widget.H, Fl_Group.H, Fl_Widget.cxx and fl_boxtype.cxx 




git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6705 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-03-21 17:08:23 +00:00
Albrecht Schlosser
e94b388899 renamed class Fl_Watch to Fl_Widget_Tracker, as discussed in fltk.development.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6659 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-02-15 13:49:34 +00:00
Albrecht Schlosser
9f1eeaee19 Added the helper class Fl_Watch to simplify safe handling of widget deletion
in callbacks. This is used e.g. in Fl_Widget::do_callback() to prevent 
accessing widgets after deletion in the callback.

Documentation adjusted, Fl_Menu_Button.cxx changed to use Fl_Watch instead
of Fl::watch_widget_pointer.

Fl::watch_widget_pointer() and Fl::release_widget_pointer() have been
modified to use an array without "holes" (NULL pointers) for storing the
widget pointers for faster access: Fl::release_widget_pointer() now shifts
pointers to close gaps of freed pointers.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6651 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-02-08 14:44:15 +00:00
Albrecht Schlosser
eec7f80e94 Widgets now remove themselves from their parent group (if any), when destroyed
(STR #1894). Fl_Group::clear() removes widget by widget (one at a time) to
allow widgets to remove other related widgets from the same group, when they
are deleted.
Also fixed a bug in Fl_Value_Input (added a destructor), because it used
a non-Fl_Group widget as parent of another widget.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6623 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-08 17:12:34 +00:00
Matthias Melcher
5251b64d57 Changed Copyright in 'src' directory
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 21:28:26 +00:00
Albrecht Schlosser
6ed54124bb Fixed typos and doxygen documentation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6582 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-13 18:31:54 +00:00
Fabien Costantini
92051890f1 Quickdraw removal: option removed from configure, all Qd code removed from sources. Also took this opportunity to sort the ifdef clauses so that USE_X11 shows first. Also added error pragma to enforce proper target checking, thus make even less assumptions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6423 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-13 23:10:43 +00:00
Albrecht Schlosser
b804e1f3ab Fixed some typos and links and added a section about document structure
and some more to development.dox.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6320 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-20 22:46:24 +00:00
Fabien Costantini
e8478458bf Doxygen documentation: Fixed most important warnings for the Fl_Widget, Fl_Window, Fl_Valuator classes that should be now a 100% documented. For the rest I drastically reduced the undocumented APIs, but many others (less important) remains.
It looks and feels pretty good now :-)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6299 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-18 19:09:34 +00:00
Fabien Costantini
ae697b80b2 Doxygen documentation : took the opportunity to update copyright info as we modified already in batch almost all sources, added also a fil doxygen command to class headers to harmonize with original matt Fl_Widget dox. format.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6265 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-16 07:26:22 +00:00
Fabien Costantini
d55dfeb5e9 Doxygen documentation. Fixed somes typos and also H4 remanent misplaced tags and comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6258 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-15 17:46:42 +00:00
Fabien Costantini
9bf19e2329 WP1 merged from my branch, WP2 reserved, todo list updated.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-13 22:33:03 +00:00
Matthias Melcher
b6bde2e456 Merging the UTF8 patch, consisting of O'ksi'd s original 1.1.6 patch and additions by Ian. PLEASE BE AWARE that the patch in its current incarnation is a regression in many aspects and further work is required before we can announce Unicode support.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-10 23:56:49 +00:00
Matthias Melcher
e63c50b2d1 Rename type Fl_Font_Size into Fl_Fontsize to comply with other naming in FLTK.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6161 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-15 21:11:21 +00:00
Matthias Melcher
2bded55947 Moving more documentation into doxygen format
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-11 08:35:34 +00:00
Matthias Melcher
7c8f5cc888 First attempt at consistently using Fl_Font as a type for the font index and Fl_Font_Size as a type to measure font height (or rather size).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-04-23 19:09:28 +00:00
Matthias Melcher
ad0fc9ca23 STR #1162: Fl_Menu_Button::popup was trying to access a previously deleted widget (itself). The delayed deleting mechanism in 'Fl::delete_widget' did not work in this case because the main loop is called before the callback returns. The fix implements a type of automatic pointer that will be cleared to NULL should the widget get deleted. This may not be a 'nice' solution, but it does fix the problem reliably. We could actually use this for all widget pointers and remove the delayed delete mechanism alltogether
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5037 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-04-27 21:40:47 +00:00
Michael R Sweet
067d1d8a61 Updated the default label and text colors of all widgets to use
FL_FOREGROUND_COLOR instead of FL_BLACK (STR #1052)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4609 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-10-30 17:42:21 +00:00
Matthias Melcher
13cb2bc18c STR #878: fixed tiny memory leak when calling Fl_Widget::label(label()) which happens when assigning a window icon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4412 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-07-11 21:05:45 +00:00
Michael R Sweet
1c399af444 Update source file headers with STR web page.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16 00:13:17 +00:00
Michael R Sweet
add37faa25 Copyright updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 21:55:12 +00:00
Michael R Sweet
b32fefd1c5 Fl_Widget::copy_label(NULL) didn't work (STR #707)
src/Fl_Widget.cxx:
    - Check for NULL in Fl_Widget::copy_label()


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 01:29:54 +00:00
Michael R Sweet
7acedd91ff Fix compiler errors...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3918 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-11-23 19:51:03 +00:00
Michael R Sweet
a42ded75e2 Added the 2.0 Fl_Widget::copy_label() method to allow FLTK 1.x
applications to have their label strings managed by FLTK (STR
#630)

Added Fl::delete_widget() method to safely delete widgets in
callback methods (STR #629)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3917 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-11-23 19:47:52 +00:00
Matthias Melcher
8327822026 Updated config stuff to allow for --enable-quartz ofr Mac OS X which in
turn defined USE_QUARTZ to 1 and defines __APPLE_QUARTZ__. If Quartz
is not disabled, it will define __APPLE_QD__ for Quickdraw.

I also replaced all relevand #ifdef __APPLE__ with #ifdef __APPLE_QD__
#elif defined(__APPLE_QUARTZ__). This does not affect the compile at
this time and both version will generate the same Quickdraw code.

I will start to replace all QD calls with Quartz calls for the
remainder of the week until I can completely remove all QD calls from
the Quartz branch.

Thanks to Robert Smith for a great initial Quartz implementation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3782 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-25 00:20:27 +00:00
Michael R Sweet
a3d0905c9e Copyright updates and prep for 1.1.5rc1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11 04:39:01 +00:00
Michael R Sweet
00cb676e11 Copyright update for 1.1.3 release (not quite yet, but soon...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30 21:46:07 +00:00