summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-07-17Fix last_visible_item() to check parents (#1012)Greg Ercolano
2024-07-17Simplify creation of OpenGL contexts under X11 platform (#1005)ManoloFLTK
The previous approach FLTK used to create OpenGL contexts under the X11 platform followed a different code path to create contexts for OpenGL version 3 and above than to create contexts for OpenGL versions 1 or 2. The FLTK code followed exactly "Tutorial: OpenGL 3.0 Context Creation (GLX)" of the official OpenGL wiki, see: https://www.khronos.org/opengl/wiki/Tutorial:_OpenGL_3.0_Context_Creation_(GLX) That code worked OK with Debian 11 and with any tested Linux configurations in a VM running on Apple hardware. However, it failed with Debian 12 and later on native Linux boxes to create GL3 contexts with the FL_DOUBLE flag. That's what issue #1005 reports. A first attempt to fix #1005 followed instructions given at: https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glXIntro.xml which supposedly describe how to create OpenGL contexts with GLX. That had no effect on issue #1005. This commit erases all attempts to use OpenGL3-specific calls or even the more modern glXCreateNewContext() function that appears with GLX version 1.3. The committed code uses only OpenGL 1-age functions to create OpenGL contexts for X11 windows. Created contexts follow the "Compatibility Profile" which means they are compatible with both modern OpenGL3-style and legacy OpenGL1/2-style. This appears to fix issue #1005.
2024-07-14Wayland: support move/resize of subwindow independently from parent (#1003)ManoloFLTK
2024-07-12Fix typo in comment referring to github issueManoloFLTK
2024-07-12gl_draw: fix drawing of text outside of viewportCyprinus Carpio
2024-07-09Fix warning (#1008)Greg Ercolano
2024-07-08Fix horiz connection lines (#1008)Greg Ercolano
2024-07-07X11: fix extraneous (undefined) event state bitsAlbrecht Schlosser
- Restrict FL_BUTTONS mask to only three valic mouse buttons. Pseudo mouse buttons 4-7 are used for FL_MOUSEWHEEL events and are no longer reflected in Fl::event_buttons(). - Return only state of mouse buttons 1-3 in Fl::event_buttons(). Buttons 4-7 are not "sticky" (used for FL_MOUSEWHEEL). - Keep undefined keyboard related bits in Fl::event_state() for backwards compatibility and transparency. These bits may be masked out in a later release. - Document Fl::event_state() bits for X11 in src/Fl_x.cxx. Note: this is a bug fix for X11 only, Wayland and other platforms are not affected.
2024-07-07X11: don't send FL_RELEASE event after FL_MOUSEWHEELAlbrecht Schlosser
Horizontal mousewheel events use pseudo button numbers 6 and 7, resp., similar to vertical mousewheel events which use buttons 4 and 5. The old code erroneously sent FL_RELEASE events for buttons 6 and 7 although it was prevented for buttons 4 and 5 explicitly.
2024-07-04Fl_File_Chooser: set insert position to end of string (#1004)Albrecht Schlosser
... after filename "expansion" with current directory. This is done when the entered filename is relative. The old behavior was confusing and error prone. Also: improve documentation of Fl_File_Chooser::value(const char *). Clarify behavior and side effects of this method.
2024-07-04New Wayland-specific function: int fl_wl_buffer_scale(Fl_Window *)ManoloFLTK
2024-07-03Wayland: fix interactive moving and resizing of a subwindow - cont'd (#1003)ManoloFLTK
2024-07-01Wayland: fix interactive moving and resizing of a subwindow - cont'd (#987)ManoloFLTK
This commit removes changes in class Fl_Group introduced in 1c6a0c1.
2024-06-30Fl_Tree +/- buttons are no longer drawn using bitmaps, different default ↵Cyprinus Carpio
line color (#995) Fl_Tree changed to support system color themes (PR #995) merging CyprinusCarpio's mods carried over from from issue #972. * Fl_Tree: use named (colormap) colors to support system color themes (see issue #972). changed connectorcolor() default from gray ramp color to FL_INACTIVE_COLOR (Fl_Color(8)), and similar named colormap colors for icon drawing. * Fl_Tree ⊞ / ⊟ icons (and on macs, ▶ / ▼icons) are now drawn w/fl_draw() functions instead of with xpm bitmaps for colormap control --------- Co-authored-by: Greg Ercolano <erco@seriss.com>
2024-06-29Wayland: fix interactive moving and resizing of a subwindow - cont'd (#987)ManoloFLTK
This fix requires to be able to recognize whether Fl_Wayland_Window_Driver::resize() is called by a resize operation of an encompassing widget or not. To do that, private static int variable group_resize_depth_ is added to class Fl_Group and an accessor to this variable is added to class Fl_Window_Driver.
2024-06-29Wayland: improve mapping of subwindows on displayManoloFLTK
2024-06-27Wayland: fix interactive moving and resizing of a subwindow - cont'd (#987)ManoloFLTK
2024-06-27Navigation in menubar: wrap around when using arrow past end or start of ↵ManoloFLTK
menubar. Slight behavior change of Fl_Menu_Bar relatively to 1.3: left and right arrow keys when pressed in the first (resp. last) (sub)menu of a menubar wrap to the menu at the other end of the bar. Also, left and right arrow keys open the previous (resp. next) menu of the bar when pressed in a submenu. Rationale: macOS, gnome and Windows apps equipped with a menubar do that.
2024-06-26Update copyright date (#978)Greg Ercolano
2024-06-26Fixes to Fl_Choice provided by Albrecht (#978)Greg Ercolano
This addresses some border case issues in Fl_Choice wrt erco's recent Fl_Input_Choice modifications. As Albrecht writes in issue #978: - The width of the (simulated) menu button in Fl_Choice is shrunk if the height of the widget is lower than 20 for some schemes. This (a) is inconsistent, (b) doesn't look good, and (c) doesn't match the better layout of the Fl_Input_Choice widget after your patch. - The constant height (+/- 8) of the divider line in some schemes would overlap the border of the widget if the widget's height is smaller than about 19. You fixed this in your patch and I "stole" your [erco's] fix for Fl_Choice. - The divider line and the box borders of Fl_Choice and Fl_Input_Choice didn't align properly. I fixed this in my Fl_Choice patch as well (IMHO this is the right place to fix it).
2024-06-26Fix Fl_Input_Choice vs Fl_Choice drawing issues (#978)Greg Ercolano
Differences in size of arrows and overall look varies with different schemes applied for issue raised by Philip Rose first on fltk.general: Subject: Discrepancy between Fl_Choice and Fl_Input_Choice
2024-06-25Navigation in menubar: wrap around when using arrow past end or start of ↵ManoloFLTK
menubar. Fix some border cases.
2024-06-24Navigation in menubar: wrap around when using arrow past end or start of ↵ManoloFLTK
menubar. See "Menu navigation in FLTK is different from Ubuntu X11 navigation" in fltk.general. Menubar wrapping is what macOS and gnome applications do.
2024-06-24Wayland: account for old versions of the GTK shell protocol - cont'dManoloFLTK
Not easy to get it right in absence of any documentation for "GTK Shell" protocol.
2024-06-24Wayland: account for old versions of the GTK shell protocol - cont'dManoloFLTK
2024-06-23Wayland: account for old versions of the GTK shell protocolManoloFLTK
2024-06-23Derive Fl_File_Chooser.cxx from Fl_File_Chooser.flManoloFLTK
2024-06-23Remove in Fl_File_Chooser.fl max size values from Fl_Window::size_range() callManoloFLTK
Such max values must be checked to be larger than min values, else error may occur.
2024-06-23Wayland: stop key repeats when focus leaves a windowManoloFLTK
2024-06-22Wayland: use serial rather than time argument of wl_keyboard_key() to ↵ManoloFLTK
support key repeats
2024-06-22Fix typo reported in fltk.generalAlbrecht Schlosser
... by Brian Larsen
2024-06-21Update dependenciesAlbrecht Schlosser
2024-06-21Remove trailing whitespaceAlbrecht Schlosser
no code changes
2024-06-21Fix compiler warning on macOS: remove unused variableAlbrecht Schlosser
2024-06-21Fix Wayland memory leak (#991)Albrecht Schlosser
2024-06-21Add Fl::remove_next_timeout(...) to remove only one timeout (#992)Albrecht Schlosser
This method also returns the data pointer of the removed timeout. This new method is generally useful for user code and particularly necessary to fix issue #991. Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2024-06-21macOS: fix changes to Fl_X::first with front windowManoloFLTK
2024-06-19 Avoid ScreenCaptureKit bug that may modify a non-resizable window's ↵ManoloFLTK
styleMask
2024-06-17Wayland: capture window titlebar as depth-4 imageManoloFLTK
2024-06-16Fix "Under Ubuntu 22.04 any FLTK application appears in the Appmenu as 'FLTK'"ManoloFLTK
2024-06-16Link frameworks used by recent macOS versions with -weak_frameworkManoloFLTK
This allows FLTK apps to use the recent frameworks when they run on recent macOS versions even if the minimum supported macOS version of these apps is more ancient than the framework.
2024-06-15Improve Fl::option documentation.Matthias Melcher
2024-06-15X11: update XDND protocol from version 4 to 5 (#988)Albrecht Schlosser
Some applications insist on sending XDND protocol version 5 and rejected (ignored) FLTK as DND receiver because we allowed only protocol version 4. Known apps: Google Chrome and Chromium. This commit enables XDND protocol version 5 in FLTK programs as DND receiver.
2024-06-14macOS 15.0 Sequoia: fix capture of window titlebarsManoloFLTK
The previous procedure using CGWindowListCreateImageFromArray() is obsoleted in macOS 15.0 . The new procedure requires an additional framework: ScreenCaptureKit; FLTK uses it only for macOS ≥ 15.0
2024-06-11Fix crash in howto-drag-and-drop under macOSManoloFLTK
2024-06-11Wayland: fix interactive moving and resizing of a subwindow - cont'd (#987)ManoloFLTK
2024-06-09 Fix: Changing default color palette affects opengl child drawing on Wayland ↵ManoloFLTK
(#989)
2024-06-08Wayland: support DnD from X11-FLTK to Wayland-FLTKManoloFLTK
2024-06-04Wayland: add necessary calls to gtk_surface1_release()ManoloFLTK
2024-06-03macOS: remove use of deprecated [NSBox setBorderType:] methodManoloFLTK