summaryrefslogtreecommitdiff
path: root/src/Fl_Scroll.cxx
AgeCommit message (Collapse)Author
46 hourswipmaxim nikonov
2025-12-01Fix more box drawing stuff - using Fl::box_bg(box())Albrecht Schlosser
The biggest changes are in src/Fl_Scroll.cxx where most of the changes are caused only by formatting (alignment). The behavior is the same for all boxtypes that had been covered by the old switch/case code and should be improved for other FL_*_FRAME boxtypes that had been ignored.
2025-04-03Remove redundant Fl_Group::clear() from ~Fl_Scroll()Albrecht Schlosser
Fl_Group::clear() is called in Fl_Group's d'tor anyway. Technically we don't need to remove hscrollbar and scrollbar because they are destroyed (and thus removed from Fl_Group) before Fl_Group's d'tor is executed but this is left for clarity and to guarantee the order (see comment).
2024-12-02Add comment linking source code to related information in issue #1149ManoloFLTK
2024-12-02Fix Fl_Scroll with real *_BOX draws over scrollbars at non-default scales ↵ManoloFLTK
(#1149)
2023-01-20STR 3408: Fl_Scroll draws background inactive if neededMatthias Melcher
2022-11-20Fix Fl_Group::insert() and Fl_Scroll::on_move()Albrecht Schlosser
2022-11-17Fix rearranging children in Fl_Scroll (#546)Matthias Melcher
Implement Fl_Scroll::on_move() Fix indexing in Fl_Group::on_move()
2022-11-06Check for child visibility in Fl_Scroll (#432)DieSkaarj
Calculate scroll area only according to visible children. Note: "visible" means in this context: "not hidden" - as opposed to being invisible because the widget doesn't have a background and a label.
2022-11-03Implement Fl_Scroll::on_insert()Albrecht Schlosser
This fixes the scrollbar order when children are inserted rather than at some indefinite time later, for instance in draw(). This commit will very likely make Fl_Scroll::fix_scrollbar_order() obsolete but this method is kept as is for tests and verification.
2022-11-03Implement destructor of Fl_Scroll and fix inconsistenciesAlbrecht Schlosser
2022-03-25Remove documentation of non-existant function return values.ManoloFLTK
2021-10-06Fix a typoAlbrecht Schlosser
2021-10-06Simplify and fix the code of Fl_Scroll::bbox()Albrecht Schlosser
Declare Fl_Scroll::bbox() and Fl_Scroll::recalc_scrollbars() 'const'. These methods don't change the Fl_Scroll widget. Use Fl_Scroll::recalc_scrollbars() in Fl_Scroll::bbox() to simplify the code and to avoid code duplication. bbox() can now be called at any time and returns the correct values, no matter if draw() has been called before.
2021-05-25Reimplement Fl_Group::delete_child(int) for Fl_ScrollAlbrecht Schlosser
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.
2017-05-17Introduce HiDPI + rescaling support for the X11 platform (+ partial support ↵Manolo Gouy
for WIN32) Corresponds to STR #3320 1) HiDPI support consists in detecting the adequate scaling factor for the screen on which FLTK maps a window, and scaling all FLTK units by this factor. FLTK tries to detect the correct value of this factor at startup (see more details below). Environment variable FLTK_SCALING_FACTOR can also be used to set this value. 2) Rescaling support consists in changing the scaling factor of all FLTK windows in reply to ctrl/+/-/0/ keystrokes. More details for the various platforms : - X11: Support is very advanced. Some details need still to be improved. Automatic detection of the correct starting value of the scaling factor works well with the gnome desktop. The present code contains no support for this on other desktops. FLTK_SCALING_FACTOR provides a workaround. -WIN32: Support is incomplete at this point, although many test applications have partial or complete HiDPI and scaling support. The current value of the system's scaling factor is correctly detected at application startup. Apps respond to changes of this value in real time. Support needs to define the FLTK_HIDPI_SUPPORT preprocessor variable at compile time. This way, standard builds produce a code with the default WIN32 HiDPI support, that is, where all graphics goes to an internal buffer that gets enlarged by the system and then mapped to the HiDPI display. To experiment with (or develop) the new HiDPI support requires a modified build procedure in which FLTK_HIDPI_SUPPORT is defined at compile time. When the support will be complete, the requirement for the definition of this preprocessor variable will be removed. The present commit contains support for a single scaling factor. Eventually, per-screen scaling factors should be implemented, as done for X11. - MacOS: this commit does not give new HiDPI for this platform. Eventually, window rescaling in reply to command/+/-/0/ is desirable. Per-screen scaling factor makes no sense on this platform because the OS itself takes care of the difference between the resolutions of traditional and retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-28Add documentation of Fl_Scroll::resize(...), fix some more Fl_Scroll docs.Albrecht Schlosser
As noticed in fltk.general, documentation of Fl_Scroll::resize() did not exist, hence the documentation shown was that of the parent class Fl_Group, which was definitely wrong. Some more minor documentation fixes have also been applied. No code changes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10776 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-07-16* Small doxygen doc improvements + elaborationsGreg Ercolano
* Small name change for new typedef. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10221 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-07-16* Modified the ScrollInfo structure for more modularity,Greg Ercolano
which helps doxygen docs be clear. * Changed loop in recalc_scrollbars() to loop thru /all/ children and skip over scrollbars, instead of assuming fix_scrollbar_order() has been called. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10220 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
2011-04-14Corrected typo.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8591 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-10-12Optimized Fl_Group::clear() and Fl_Scroll::clear(). This speedsAlbrecht Schlosser
up mass deletes (lots of children in a group) significantly. See also STR #2409. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7718 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-02-07Reverting previous change (optimization of Fl_Group::clear),Albrecht Schlosser
because fl_throw_focus and fl_fix_focus would send events that could access deleted widgets. This must be fixed first. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7039 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-02-07Optimized Fl_Group::clear() and Fl_Scroll::clear() as discussed inAlbrecht Schlosser
fltk.development in "Fl_Group::clear SLOW!" on Feb. 06/07, 2010 (no STR) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7038 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-07-12 Fl_Scroll mods for global scrollbar size control.Greg Ercolano
Also, unittest added (scrollbar size) to test these changes. Thanks to Albrecht for testing/peer review. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-02-08Added Fl_Scroll::bbox() documentation (STR #1893)Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6654 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-06Replaced all occurrences of the deprecated fl_clip() function byAlbrecht Schlosser
fl_push_clip(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6551 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-17Doxygen documentation: fixed all ambiguous methods signatures, fixed ↵Fabien Costantini
erroneous path test into ../test since the doxyfile move, fixed all intro dl,dt,dd related tags warnings in intro.dox . git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6289 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-15 Doxygen documentation WP8 Done. Reserved WP9, WP10. Will now check WP3 from ↵Fabien Costantini
engelsman and integrates it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6250 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-07modified resize behavior, as discussed in STR 2032.Albrecht Schlosser
Fl_Group.cxx: resizes itself before changing its children Fl_Scroll.cxx: similar change git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-04-24Fixed issues with Fl_Scroll inside and Fl_Scroll (STR #265)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6117 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-11-16Merge all of the scrollbar sizes into a single API callMichael R Sweet
(Fl::scrollbar_size()) rather than a bunch of separate APIs and hardcoded values (STR #1800) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5547 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-02-24Copyright updates.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-05-15Fl_Scroll now uses a full redraw when the scheme is set toMichael R Sweet
plastic and the box type is a frame (STR #205) Fl_Window::resize() did not work properly with KDE 3.2 (STR #356) FLTK didn't delete font bitmaps when the last OpenGL window was deleted, preventing future text from displaying (STR #310) FLUID didn't include a full initialization record for the trailing NULL menu items (STR #375) Fl_Browser::item_width() did not properly handle format modifiers (STR #372) Fl_Browser::item_height() did not handle columns properly (STR #371) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3419 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
2004-04-11Update Fl_Scroll background image fix...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3389 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11Fix fl_scroll() on WIN32 (STR #315)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3387 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-10Fl_Scroll now shows the background image when a framed box typeMichael R Sweet
is used and the Fl_Scroll is a direct decendent of a window (STR #205) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3380 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-06FLUID crashed if you did layout with a window widget (STR #317)Michael R Sweet
Fl_Scroll::clear() didn't remove the child widget from the Fl_Scroll widget (STR #327) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3297 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-03-11Fl_Value_Slider::draw_bg() didn't always apply the clippingMichael R Sweet
rectangle (STR #235) fl_filename_relative() returned the wrong string if the absolute pathname was equal to the current working directory (STR #224) Fl_Help_Dialog didn't correctly restore the scroll position when going forward/back in the link history if the file changed (STR #218) glutGetModifiers() did not mask off extra state bits, confusing some GLUT-based applications (STR #213) Fixed mouse capture problems on MacOS X (STR #209, STR #229) Fl_Sys_Menu_Bar is now built into the library for MacOS X (STR #229) Fl_Menu_ now provides item_pathname() methods to get the "pathname" of a menu item, e.g. "File/Quit" (STR #283) Fl_Text_Display now provides cursor_color() methods to get and set the cursor color (STR #271) Fl_Scroll didn't honor FL_NO_BOX (STR #305) FLUID declaration blocks didn't support public/private definitions (STR #301) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-06-15Add clear() method to Fl_Scroll so that the scrollbars don't get deleted.Michael R Sweet
(STR #75) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3032 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-12-19Fix Fl_Scroll handling of widgets whose labels are to the right or below.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2882 ea41ed52-d2ee-0310-a9c1-e6b18d33e121