Commit Graph

59 Commits

Author SHA1 Message Date
Albrecht Schlosser
be928430a6 Fix Fl_Group::insert() and Fl_Scroll::on_move() 2022-11-20 14:11:19 +01:00
Matthias Melcher
72415b534d
Fix rearranging children in Fl_Scroll (#546)
Implement Fl_Scroll::on_move()
Fix indexing in Fl_Group::on_move()
2022-11-17 08:34:06 +01:00
DieSkaarj
38d40365f8
Check for child visibility in Fl_Scroll (#432)
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-06 18:34:42 +01:00
Albrecht Schlosser
2446ec5d62 Implement Fl_Scroll::on_insert()
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-03 19:11:59 +01:00
Albrecht Schlosser
0ebb113584 Implement destructor of Fl_Scroll and fix inconsistencies 2022-11-03 18:58:28 +01:00
ManoloFLTK
0ab3ca7cf6 Remove documentation of non-existant function return values. 2022-03-25 16:54:53 +01:00
Albrecht Schlosser
6c2bc5b02f Fix a typo 2021-10-06 22:16:47 +02:00
Albrecht Schlosser
3ee8864bfc Simplify and fix the code of Fl_Scroll::bbox()
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-10-06 18:35:00 +02:00
Albrecht Schlosser
0f3619ba0e Reimplement Fl_Group::delete_child(int) for Fl_Scroll 2021-05-25 17:41:00 +02: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
Manolo Gouy
f48750b0f4 Introduce HiDPI + rescaling support for the X11 platform (+ partial support 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
2017-05-17 11:54:18 +00:00
Albrecht Schlosser
2778ac6e45 Add documentation of Fl_Scroll::resize(...), fix some more Fl_Scroll docs.
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
2015-06-28 13:05:29 +00:00
Greg Ercolano
7eb0c224df * Small doxygen doc improvements + elaborations
* 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 18:51:56 +00:00
Greg Ercolano
afcd967fd8 * Modified the ScrollInfo structure for more modularity,
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
2014-07-16 03:32:14 +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
Manolo Gouy
8d2d3c2a7d Corrected typo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8591 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-14 13:21:12 +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
Matthias Melcher
291faee430 Fixed a bunch of warnings from gcc 4.4.5 . Most of these are parenthesis 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-28 18:02:20 +00:00
Albrecht Schlosser
aea80474f8 Optimized Fl_Group::clear() and Fl_Scroll::clear(). This speeds
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-10-12 08:12:44 +00:00
Albrecht Schlosser
ee36ebc394 Reverting previous change (optimization of Fl_Group::clear),
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-07 21:14:35 +00:00
Albrecht Schlosser
ce7da76d6a Optimized Fl_Group::clear() and Fl_Scroll::clear() as discussed in
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
2010-02-07 18:52:26 +00:00
Greg Ercolano
fe687baefd Fl_Scroll mods for global scrollbar size control.
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-07-12 00:15:06 +00:00
Albrecht Schlosser
698da81690 Added Fl_Scroll::bbox() documentation (STR #1893)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6654 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-02-08 18:47:37 +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
fbea5019fb Replaced all occurrences of the deprecated fl_clip() function by
fl_push_clip().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6551 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-06 14:59:52 +00:00
Fabien Costantini
2be88792b3 Doxygen documentation: fixed all ambiguous methods signatures, fixed 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-17 22:25:45 +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
b9ca133376 Doxygen documentation WP8 Done. Reserved WP9, WP10. Will now check WP3 from engelsman and integrates it.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6250 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-15 08:41:54 +00:00
Albrecht Schlosser
84e98c0ce9 modified resize behavior, as discussed in STR 2032.
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-09-07 11:22:14 +00:00
Matthias Melcher
5134c0988d Fixed issues with Fl_Scroll inside and Fl_Scroll (STR #265)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6117 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-04-24 09:01:37 +00:00
Michael R Sweet
8ea3a45772 Merge all of the scrollbar sizes into a single API call
(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-11-16 23:17:13 +00:00
Michael R Sweet
b4c1d3ef03 Implement new "gtk+" scheme which provides a Bluecurve look-n-feel.
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
2006-09-17 14:58:25 +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
998f74be9f Fl_Scroll now uses a full redraw when the scheme is set to
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-05-15 22:58:19 +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
6bed8ffce8 Update Fl_Scroll background image fix...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3389 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11 03:50:38 +00:00
Michael R Sweet
26dcd2e085 Fix fl_scroll() on WIN32 (STR #315)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3387 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11 01:40:12 +00:00
Michael R Sweet
616c919d37 Fl_Scroll now shows the background image when a framed box type
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-10 00:37:03 +00:00
Michael R Sweet
4e0450ea36 FLUID crashed if you did layout with a window widget (STR #317)
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-04-06 02:47:26 +00:00
Michael R Sweet
70ca1d156b Fl_Value_Slider::draw_bg() didn't always apply the clipping
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
2004-03-11 05:17:12 +00:00
Michael R Sweet
aa88761194 Add clear() method to Fl_Scroll so that the scrollbars don't get deleted.
(STR #75)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-06-15 04:41:16 +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
Michael R Sweet
d64d3a55a8 Fix Fl_Scroll handling of widgets whose labels are to the right or below.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2882 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-12-19 21:42:22 +00:00
Michael R Sweet
b2e9308751 More shadowed variables in FLUID, plus use snprintf, strlcpy, and strlcat.
Don't use extra warning flags for normal compiles.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2568 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09 22:57:00 +00:00
Michael R Sweet
64b4177ef4 Copyright updates...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-01 15:11:33 +00:00
Michael R Sweet
94788c4628 Copyright 2001.
FLTK 1.0.11.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-22 15:13:41 +00:00
Michael R Sweet
0c6010abea Fix for Fl_Scroll redrawing background.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1335 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-11-20 15:30:54 +00:00
Bill Spitzak
fb06bd8019 Patch from Mike Lindner to make the turning on/off of scrollbars on
Fl_Scroll smarter. It appears to work with my own tests. He did not
handle FL_ALIGN_TOP correctly, fixed that.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1285 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-08-12 08:42:12 +00:00
Michael R Sweet
f87393aaa1 OK, now version 1.0.9
Updated email addresses to point to fltk.org domain...

Updated README and CHANGES files accordingly.

Updated makeinclude and Makefile files to put -L../lib before the
LDFLAGS/GLDFLAGS to avoid problem reported by Alexander.

documentation/Makefile wasn't including makeinclude.

Updated FLUID about window to show version 1.0.9.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-05 21:21:24 +00:00