Commit Graph

7276 Commits

Author SHA1 Message Date
ManoloFLTK
2430cb1f42 Fix: Graphical glitches on 101 DPI screen (#1138) 2024-11-25 13:34:14 +01:00
dannye
edcf49c63a Windows: Fix rescale bug while window is fullscreen
Possible via the Win+Shift+Left/Right keyboard shortcuts
2024-11-25 11:05:06 +01:00
dannye
f60af127de Windows: Fix rescale bug while window is maximized 2024-11-25 11:05:06 +01:00
Albrecht Schlosser
403981a293 Fix compiler warning (g++ 14) [-Wstringop-overflow]
New compiler warning detected by g++ 14.2.0 building with CMake
  in Release mode. This *temporary* fix suppresses the warning but uses
  even larger fixed size buffers.

Todo: these nasty warnings caused by using fixed buffer sizes should
  be removed by using std::string in FLTK 1.5.0.
2024-11-24 19:53:23 +01:00
ManoloFLTK
4258aca717 Fix: Can't control scale of Fl_Copy_Surface dimensions on Linux (#1135) 2024-11-20 15:36:49 +01:00
ManoloFLTK
0952d594f8 Fix fl_draw_image sometimes crashes when window is scaled - cont'd (#1134) 2024-11-20 10:18:26 +01:00
ManoloFLTK
1f05a0df44 Fix fl_draw_image sometimes crashes when window is scaled - cont'd (#1134) 2024-11-20 08:01:40 +01:00
ManoloFLTK
619677b75c Fix fl_draw_image sometimes crashes when window is scaled (#1134) 2024-11-19 15:26:47 +01:00
ManoloFLTK
180b4bad2e Fix: Fullscreen regression between release-1.4.0rc2 and release-1.4.0rc3 on macOS( #1129) 2024-11-18 18:01:57 +01:00
ManoloFLTK
2cd0ec7e33 Fix: Rounding issues with Fl_RGB_Image::draw() + window scaling (#1128) 2024-11-18 17:20:36 +01:00
Albrecht Schlosser
6c6f6b7dd9 Finish release 1.4.0
1) Improve and clarify documentation:
 - update, reformat, and reorder parts of CREDITS.txt
 - make sure that documentation appears in doxygen docs
 - add '\since 1.4.0' to documentation of new methods and functions
 - remove doxygen's '\brief' where not required (we're using
   JAVADOC_AUTOBRIEF = YES)
 - clarify screen scaling, scaling factor, and related stuff
- add more info about backwards compatibility for X11 specific code

2) Update dependencies
2024-11-17 20:01:46 +01:00
Matthias Melcher
114fb66cd3 Fixes Alt-modifier handling in Fl_Shorcut_Button on macOS 2024-11-15 20:27:07 +01:00
ManoloFLTK
53bedf1d34 Fix Cairo: Rounding issues with Fl_RGB_Image::draw() + Fl_Copy_Surface (#1124) 2024-11-13 09:16:41 +01:00
dannye
29531fa421 Windows: Fix flicker/animation when transitioning from fullscreen to maximized 2024-11-12 11:14:26 +01:00
ManoloFLTK
2337214e4e Fix for Windows and X11: Rounding issues with Fl_RGB_Image::draw() (#1120) 2024-11-12 10:56:19 +01:00
ManoloFLTK
0d4c8c8534 Fix Keyboard shortcut (alt + letter) does not work in input widget-Windows (#1122) 2024-11-12 09:09:10 +01:00
Albrecht Schlosser
dc2c53333c Revert gtk+ specific "chevron style" arrow drawing (#1117)
After comparison with older versions I realized that the gtk+ specific
"chevron style" was previously used *exclusively* in Fl_Scrollbar.
Unfortunately I had picked this style as template for all arrows.

GitHub Issue #1117 requested to add an option for users to change the
arrow style but after my investigation I decided to use the "old style"
(triangles) for all schemes (except "oxy" that has its own drawing
methods).

**IF** it turned out that we need the gtk specific drawing for scrollbars
we could easily reactivate the "chevron style" by adding yet another
arrow type - but I hope this is not necessary.
2024-11-09 21:57:27 +01:00
ManoloFLTK
018c3b19f5 Fix Windows: fullscreen_off does not correctly preserve window size (#1116) 2024-11-09 15:35:06 +01:00
ManoloFLTK
85c23539fd Wayland: protect against rounding errors in copy_region() 2024-11-09 13:01:45 +01:00
ManoloFLTK
55db651a96 Fix: X11: test/gl_overlay stale overlay rendering (#1111) 2024-11-08 12:25:49 +01:00
ManoloFLTK
c46a92809e Fix macOS Very minor high DPI rounding issue with fl_rect (#1113) 2024-11-08 11:07:32 +01:00
ManoloFLTK
e15cd9d5bb Fix: fl_draw_image() with horizontal flip reads out of bounds (#1112) 2024-11-08 10:28:27 +01:00
ManoloFLTK
3fbbce0654 Slightly improve member function Fl_Wayland_Graphics_Driver::copy_offscreen() 2024-11-08 09:46:35 +01:00
ManoloFLTK
82e0e859ee Fix X11: test/checkers drawing artifacts when window is scaled (#1109) 2024-11-08 09:14:29 +01:00
ManoloFLTK
8f987ce8bd Fix X11: test/curve "points" mode not drawn correctly (#1110) 2024-11-07 19:33:43 +01:00
ManoloFLTK
5e91ecfd58 Fix Mac: Fl_Window::fullscreen() doesn't work for unfocused tabbed window (#1101) 2024-11-04 06:28:02 +01:00
Matthias Melcher
5ac570c338 Fixes Fl_Tile resizing for "sudden" size changes: #1102
Enlarging and reducing wdth and height needed to be treated
seprately when the bottom right corner of the resizable would
overshoot the final size of the tile.
2024-11-03 18:53:18 +01:00
ManoloFLTK
6f6a375fca Recent macOS SDKs badly define MAC_OS_X_VERSION_MAX_ALLOWED
and the correct information is in __MAC_OS_X_VERSION_MAX_ALLOWED
2024-11-03 14:27:28 +01:00
ManoloFLTK
b8bf13ec65 Recent Xcode versions badly define MAC_OS_X_VERSION_MAX_ALLOWED
and the correct information is in __MAC_OS_X_VERSION_MAX_ALLOWED
2024-11-03 13:06:51 +01:00
Albrecht Schlosser
e138814257 Fix confusing alignment
note: no "real" code changes
2024-11-02 17:11:32 +01:00
ManoloFLTK
b3a6838128 Fix Mac: "Merge All Windows" fails if focused window is borderless (#1100) 2024-11-02 07:37:43 +01:00
ManoloFLTK
7ce5b74e12 New member function Fl_Cocoa_Window_Driver::capture_decorated_window_10_6(NSWindow*)
This function hides the code to capture an image of a window that varies a lot with macOS versions
2024-11-01 18:26:52 +01:00
Albrecht Schlosser
abf28f0b70 Improve and clarify documentation 2024-11-01 18:24:06 +01:00
ManoloFLTK
818e2b77d1 Wayland: Fix issue in maximization of a borderless window (#1099)
Also fixes scenarios mixing fullscreen and maximization:
- maximize
- set fullscreen
- unset fullscreen
- un-maximize
with and without window border.
2024-11-01 15:43:18 +01:00
Albrecht Schlosser
34f465add2 Windows: fix compiler warning [-Wstrict-aliasing]
In function ‘void innards(...)’:
src/drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx:132:23:
dereferencing type-punned pointer will break strict-aliasing rules
  BITMAPINFO &bmi = *((BITMAPINFO*)bmibuffer);
                     ~^~~~~~~~~~~~~~~~~~~~~~~

Found with gcc 12 (MinGW cross compiler)

Also: use correct sizes (sizeof) rather than hardcoded values.
2024-10-31 18:38:55 +01:00
ManoloFLTK
bdb5972504 macOS: prevent changing window border while window is maximized 2024-10-31 15:35:52 +01:00
ManoloFLTK
0ac1379985 macOS: prevent changing window border while window is fullscreen 2024-10-31 15:15:33 +01:00
ManoloFLTK
0cab095b3c Fix "Mac: Mixing native fullscreen button with Fl_Window::fullscreen() has side effects" (#1098) 2024-10-31 12:19:22 +01:00
ManoloFLTK
7237e0d308 Restore Fl_Widget_Surface::draw_decorated_window() under XQuartz 2024-10-31 09:17:55 +01:00
ManoloFLTK
3c03aecc3c Fix Windows: fullscreen doesn't always pick the correct display (#1097) 2024-10-30 17:32:57 +01:00
ManoloFLTK
ae55a42c71 Quick fix for Windows Ctrl character handling - cont'd 2024-10-27 00:14:09 +02:00
ManoloFLTK
94a50ecd6b Windows: fix for using AltGr key after kludge for Ctrl+ (#1093) 2024-10-26 18:33:26 +02:00
Matthias Melcher
737137cf78 Fixes Fl_Text_Display line number calculation. (#1088) 2024-10-19 15:53:29 +02:00
ManoloFLTK
6ea450407b Windows: process the +-containing key used with Ctrl in cross-platform way 2024-10-19 09:14:45 +02:00
Albrecht Schlosser
d589c05b17 Fix documentation typos and trailing whitespace 2024-10-15 18:59:28 +02:00
ManoloFLTK
957fa1fe37 Improve method to draw boxes of type FL_BORDER_BOX and FL_SHADOW_BOX (#1089)
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-10-15 18:02:48 +02:00
Albrecht Schlosser
a5f28b3984 Fix compiler warning [-Wstringop-overflow=] 2024-10-12 15:27:25 +02:00
ManoloFLTK
013e939c93 Make Pango-handled text accept legacy CP1252-encoded text - continued 2024-10-10 18:18:52 +02:00
Matthias Melcher
f87d7a71c0 Missing *not* in Fl_Preferences docs. 2024-10-10 15:12:04 +02:00
Matthias Melcher
a0f1d5bc5e Fl_Preferences documentation update. 2024-10-10 11:46:31 +02:00