summaryrefslogtreecommitdiff
path: root/src/fl_boxtype.cxx
AgeCommit message (Collapse)Author
3 dayswipmaxim nikonov
3 dayswipmaxim nikonov
2025-12-09Silence macOS (clang) compiler warningAlbrecht Schlosser
warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage] 399 | typedef struct { | ^ Weird. This file is compiled as C++ but clang warns about a "non-C-compatible type". Anyway, this commit fixes the warning.
2025-12-08Improve documentation generation for older Doxygen versionsAlbrecht Schlosser
Currently supported Doxygen versions: 1.9.1 and higher. Tested up to Doxygen 1.13.2 as of today. Older doxygen versions may generate bogus warnings or even fail to interpret correct C++ syntax.
2025-12-03Remove boxtype linke trick.Matthias Melcher
By defining boxtypes with underscores, box drawing cod ethat was not used was not linked, but with the introduction of themes, all boxes are available at all times. Reducing complexity.
2025-12-01Add background (`bg`) attribute to table of boxtypesAlbrecht Schlosser
This is a first step to fix some background (re-)drawing issues in widgets. A new bit in the array of boxtypes can be used to determine if a particular boxtype uses a solid background (e.g. all FL_*_BOX types) or if the parent widget is responsible for drawing it (FL_NO_BOX and all FL_*_FRAME) types, and maybe more ... The old struct member `set` in the struct of boxtypes has been renamed to `flags` and is now used as a bit field. Except these changes, this first commit fixes the focus box drawing of specific boxtypes, as seen in unittest_schemes.cxx in the Fl_Check_Button with label "Check", and very likely more.
2025-11-16Refactor large static class Fl into an expandable namespace Fl (#1325)Matthias Melcher
* Change class Fl into namespace Fl. * Untangle Fl namespace into themed headers. * cut line count of FL/Fl.H in half * FL/core subdirectory now holds short headers grouped by functionality.
2024-10-15Improve method to draw boxes of type FL_BORDER_BOX and FL_SHADOW_BOX (#1089)ManoloFLTK
These types of boxes frame a background with a rectangular frame of another color. The previous procedure to draw them was not robust to GUI rescaling creating cases where space between the border and the background was not drawn. The new drawing procedure for these boxes first paints the whole area (frame included) with the background color and next draws the frame over the just painted rectangle. No uncolored space is possible. It was also necessary to very slightly modify Fl_Scalable_Graphics_Driver::rect() used by the Windows and X11 (no Cairo) backends to make sure fl_rect(x,y,w,h) exactly frames fl_rectf(x,y,w,h) without drawing outside the filled area.
2024-04-26Box types can now defined and draw their own focus frame, STR 2145, #659Matthias Melcher
2024-01-27Fix warning for out of range index.Matthias Melcher
2023-09-03Adds compact buttons feature to create keypads.Matthias Melcher
See test/buttons for an example.
2023-01-02Fix box frame sizes of "round" boxes in scheme 'oxy'Albrecht Schlosser
2022-11-25Add "Oxy" scheme (STR 2675, STR 3477)Albrecht Schlosser
This commit is similar to the patch given in STR 3477, oxy_v5.diff: https://www.fltk.org/strfiles/3477/oxy_v5.diff ... with modifications, and updated to current FLTK code.
2022-11-23Fix border size of FL_PLASTIC_UP_BOXAlbrecht Schlosser
2022-11-22Refactor and simplify "arrow drawing" in widgetsAlbrecht Schlosser
"Arrows" in widgets are those GUI elements mostly represented by triangles pointing in a particular direction as in scrollbars, choice widgets, some menus, valuators and Fl_Counter widgets. The code has been simplified and standardized such that all these GUI elements are drawn identically per FLTK scheme. Widget authors no longer need to write code to calculate arrow sizes and draw polygons etc. Different schemes can and do implement different drawing functions. Todo: see comments "FIXME_ARROW" in src/Fl_Menu_Button.cxx and src/Fl_Menu.cxx
2022-02-21Remove obsolete/disabled "boxcheat" codeAlbrecht Schlosser
Windows platform: Remove comments about obsolete code and one exported declaration of the variable 'fl_background_pixel' which is used only on the X11 platform. X11 platform: Remove comments. Other platforms: not affected.
2020-09-01Customize corner radius for rounded box/frame (#130)Albrecht Schlosser
Make maximum box corner radius and shadow width configurable. See Fl::box_border_radius_max() and Fl::box_shadow_width(). Documentation: update image of box types. Fixes #130
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- 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.
2015-07-09Fix box background drawing for deactivated widgets (STR #2907).Albrecht Schlosser
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
2015-04-21Fix box sizes (box_dx() etc.) of scheme gleam.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10711 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-31Fix gleam boxtypes (STR #3183).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10543 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-29Use Fl::is_scheme() where appropriate.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10542 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-29Add missing gleam boxtype definitions from Dmitrij's oxy patch (STR #2675).Albrecht Schlosser
I don't know if there's a better source, but this does at least fill the gap. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10539 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-29Fix comments, trailing white space, and trailing commas in comments.Albrecht Schlosser
Note: there are no code changes in this commit. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10538 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-23Const the gray rampsLauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10253 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-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-10-28Fixed a bunch of warnings from gcc 4.4.5 . Most of these are parenthesis ↵Matthias Melcher
missing to make the precedence of && over || obvious. Ah well, why not... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-07Added new flags for label alignment: FL_LEFT_TOP, FL_RIGHT_TOP, ↵Matthias Melcher
FL_LEFT_BOTTOM, and FL_RIGHT_BOTTOM align outside labels first to the side, then to the top or botton, filling a gap in possible alignment. Also FL_ALIGN_TEXT_NEXT_TO_IMAGE and FL_ALIGN_IMAGE_NEXT_TO_TEXT which do just that, and finally FL_ALIGN_IMAGE_BACKDROP which renders the image in the background and draws the label on top. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7469 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-09-27Fixed a few minor issues with Xcode builds. Fixed all color related call to ↵Matthias Melcher
Fl_Color type (STR #2208). Changed Fl_Color back to typedef unsigned. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6902 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-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-12-07Fixed typos and amended doxygen docs.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6561 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-06added doxygen comments for undocumented functions in fl_boxtype.cxxengelsman
Some of these are required in order to simplify the html headers, names and links in drawing.dox, to let doxygen do the linking and generate correct LaTeX. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6390 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. Completed Fl class, added a todo related to recent Fl ↵Fabien Costantini
API to document. Matt?. More cosmetics have been done, replaced *all* <pre> </pre> tags by \code \endcode sequences. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6260 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
2006-10-03Add GTK thin up/down box/frame types.Michael R Sweet
Update the GTK round up/down box types. Update radio/check box drawing for gtk+ scheme. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5505 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-09-17Implement new "gtk+" scheme which provides a Bluecurve look-n-feel.Michael R Sweet
Fix size and position of dialog controls in FLUID to match the HIG. Add "GTK+" scheme to the list of selectable schemes in FLUID. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5438 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-03-21Printing support for FLUID...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4150 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_SHADOW_BOX/FRAME drew outside of the bounding box (STR #694)Michael R Sweet
src/fl_boxtype.cxx: - Adjust box dw/dh for shadow box/frame types. src/fl_shadow_box.cxx: - Adjust shadow box to draw inside the bounding box. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4033 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-05-18Add thin up box with plastic style.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2981 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
2003-01-28Bug fixes from Howard.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2933 ea41ed52-d2ee-0310-a9c1-e6b18d33e121