summaryrefslogtreecommitdiff
path: root/src/Fl_Widget.cxx
AgeCommit message (Collapse)Author
2016-02-01Add fl_focus_rect function to driver.Matthias Melcher
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-01-04Created pseudo code for all FL_PORTED section so that FLTK compiles and ↵Matthias Melcher
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
2015-12-16Running FLTK in static initializers (cont'd):Manolo Gouy
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-13Allowing to use FLTK objects in static initializers (cont'd).Manolo Gouy
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-13Allowing to use FLTK objects in static initializers (cont'd).Manolo Gouy
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-13Restore the possibility to construct FLTK objects and draw them within ↵Manolo Gouy
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-04-05Documentation updates on callbacks and Fl::readqueue().Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10677 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-07Remove redundant redraw_label() call from copy_label(), STR #2836.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9452 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-05Fix STR #2836: copy_label() with old label() value failed.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19Modifications to all LGPL headers for STR #2685.Greg Ercolano
(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
2010-12-02STR#2466: Added copy_tooltip().Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7940 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28Fixed Copyright to 2010.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-23Minor fix to do_callback() code.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7321 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-16Extended Fl_Widget::align_ flag from 8 bits to full (unsigned) size forAlbrecht Schlosser
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
2009-12-23Widgets now remove stale entries from the default callback queue Albrecht Schlosser
(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-03-24Major documentation update including: now html doc API is sorted, navigation ↵Fabien Costantini
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-21converted html tags to doxygen commands in documentation/src/subclassing.doxengelsman
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-02-15renamed class Fl_Watch to Fl_Widget_Tracker, as discussed in fltk.development.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6659 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-02-08Added the helper class Fl_Watch to simplify safe handling of widget deletionAlbrecht Schlosser
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-01-08Widgets now remove themselves from their parent group (if any), when destroyedAlbrecht Schlosser
(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-01Changed Copyright in 'src' directoryMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-13Fixed typos and doxygen documentation.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6582 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-13Quickdraw removal: option removed from configure, all Qd code removed from ↵Fabien Costantini
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-09-20Fixed some typos and links and added a section about document structureAlbrecht Schlosser
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-18Doxygen documentation: Fixed most important warnings for the Fl_Widget, ↵Fabien Costantini
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-16Doxygen documentation : took the opportunity to update copyright info as we ↵Fabien Costantini
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-15Doxygen documentation. Fixed somes typos and also H4 remanent misplaced ↵Fabien Costantini
tags and comments. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6258 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-13WP1 merged from my branch, WP2 reserved, todo list updated.Fabien Costantini
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-10Merging the UTF8 patch, consisting of O'ksi'd s original 1.1.6 patch and ↵Matthias Melcher
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-08-15Rename type Fl_Font_Size into Fl_Fontsize to comply with other naming in FLTK.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6161 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-11Moving more documentation into doxygen formatMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-04-23First attempt at consistently using Fl_Font as a type for the font index and ↵Matthias Melcher
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
2006-04-27STR #1162: Fl_Menu_Button::popup was trying to access a previously deleted ↵Matthias Melcher
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
2005-10-30Updated the default label and text colors of all widgets to useMichael R Sweet
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-07-11STR #878: fixed tiny memory leak when calling Fl_Widget::label(label()) ↵Matthias Melcher
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-04-16Update source file headers with STR web page.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24Copyright updates.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06Fl_Widget::copy_label(NULL) didn't work (STR #707)Michael R Sweet
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
2004-11-23Fix compiler errors...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3918 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-11-23Added the 2.0 Fl_Widget::copy_label() method to allow FLTK 1.xMichael R Sweet
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-08-25Updated config stuff to allow for --enable-quartz ofr Mac OS X which inMatthias Melcher
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-04-11Copyright updates and prep for 1.1.5rc1.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30Copyright update for 1.1.3 release (not quite yet, but soon...)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-11-19Get rid of some valid compiler warnings with CodeWarrior that were reportedMichael R Sweet
by Paul Chambers. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-10-04New Fl_Widget::redraw_label() method to cleanly redraw the label of aMichael R Sweet
widget (this should eliminate the extra flicker some users have complained about...) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2652 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-07-23Remove extra 3 pixel offset when the size is below a certain amount;Michael R Sweet
instead, use a constant +1 offset. Add another bit to flags_, VISIBLE_FOCUS, which provides per-widget keyboard focus control. The default is for all widgets to participate in keyboard focus navigation. Use the set_visible_focus(), clear_visible_focus(), and visible_focus() methods on Fl_Widget to control this. Clean up the Fl_Widget documentation and add missing stuff. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2543 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-06-02Redraw fixes.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2276 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-24Get rid of as many compiler warnings as possible.Michael R Sweet
Add missing offbits seek when reading BMP files. Add -OPT:Olimit=4000 to SGI compiler options (for keyboard_ui) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-12Move ENTER/LEAVE handling to Fl_Box so that the default event handlerMichael R Sweet
in Fl_Widget doesn't interfere with existing widgets. Remove unnecessary strcasecmp defines. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-09Tooltip fixes: ignore keyboard events, immediately disable new tooltips,Michael R Sweet
show tooltips for box widgets. Add docos for Fl_Widget::tooltip() methods. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2060 ea41ed52-d2ee-0310-a9c1-e6b18d33e121