Commit Graph

11772 Commits

Author SHA1 Message Date
ManoloFLTK
85c23539fd Wayland: protect against rounding errors in copy_region() 2024-11-09 13:01:45 +01:00
Albrecht Schlosser
5d0fcc5f15 Finish Release Candidate 1.4.0 rc3 (release-1.4.0rc3) 2024-11-08 17:40:04 +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
Albrecht Schlosser
87527017b2 MacOS: Fix build folder for detection of SDK version (#1103)
Sorry for the noise...
2024-11-05 16:53:12 +01:00
Albrecht Schlosser
d5c0e215a4 MacOS: Improve detection of SDK version (#1103)
CMake/macOSMaxAllowed.c:
  avoid C compiler warning in test code

CMake/setup.cmake, technical changes:
- optimization: test SDK 15.0.0 first to avoid unnecessary test if true
- use a function instead of a macro
- use different names for (cached) result variables
- use prefix FLTK_ for cache variables

Note: the cache variables are marked 'internal': you may need to grep
  CMakeCache.txt to view them.
2024-11-05 16:09:39 +01:00
Matthias Melcher
a77cc0cb35 MacOS version check using try_compile: #1103
This change will work as well when cross-compiling.
2024-11-04 22:35:49 +01:00
Matthias Melcher
71a61d9cbf
Using try_run to get __MAC_OS_X_VERSION_MAX_ALLOWED (#1105) 2024-11-04 20:26:49 +01:00
ManoloFLTK
afe87de013 Correctly add weak-linked frameworks for increasingly high macOS versions 2024-11-04 13:06:36 +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
ManoloFLTK
37144c06a1 Undo 6f6a375 that does not properly support macOS SDK 15.x (#1103) 2024-11-04 04:50:31 +01:00
Albrecht Schlosser
f90887ec49 Update ANNOUNCEMENT and CHANGES.txt for 1.4.0rc3 2024-11-03 19:05:29 +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
Albrecht Schlosser
9bcef81cae Fix memory leaks in examples/shapedwindow.cxx
Note: usually we don't (need to) care for pseudo "leaks" at the end of
the program, we could just return, but this is a test and demo program.
2024-11-01 16:48:20 +01:00
Albrecht Schlosser
9d708a1b5a Fix compiler warning [-Wsign-compare]
Note: it is *unusual* (not FLTK style) that Fl_Window::border()
  returns 'unsigned int' instead of 'int'.

This should be investigated in FLTK 1.5 but maybe we can't change it:
  it's been so already in FLTK 1.3 and maybe earlier.
2024-11-01 16:35:03 +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
Albrecht Schlosser
56cf5684dc Make Fl_Window::flush() public for consistency with subclasses
... as discussed on fltk.general recently

Note: this method was already public in all subclasses of Fl_Window.
2024-10-30 14:30:08 +01:00
Albrecht Schlosser
510cffdb59 Improve layout of fltk-options
- slightly enlarge some field and object sizes
- fix window size_range()
2024-10-30 14:18:17 +01:00
Albrecht Schlosser
3c4f21783c Improve README.CMake.txt
- fix typos, clarify text
- improve headlines
- add "generic" CMake instructions
- add version spec to find_package command
2024-10-29 20:10:53 +01:00
Albrecht Schlosser
307148222a Update CHANGES.txt for 1.4.0 Release Candidate 2 2024-10-27 15:55:01 +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
Albrecht Schlosser
c0e07d3452 Add range check to Fl_Group::child(int)
Returns NULL if n is out of range to prevent accessing undefined
memory.
2024-10-25 02:39:47 +02:00
Albrecht Schlosser
f9f89be7d7 Improve docs about subclassing
- fix syntax errors in example code, e.g.: children_ is private
- use FLTK coding style
- improve alignment
2024-10-24 18:01:40 +02:00
Albrecht Schlosser
eb545c981b Fluid: replace 'FL_WINDOW+1' with 'FL_DOUBLE_WINDOW'
Note: 'FL_DOUBLE_WINDOW' *is* currently defined as 'FL_WINDOW+1'.
  This commit doesn't change real code but prevents potential bugs
  in the future if one of these constants would be changed.
2024-10-24 17:56:51 +02:00
Albrecht Schlosser
1fbcbee107 Mention HighDPI support in 'ANNOUNCEMENT' 2024-10-24 17:50:41 +02:00
Matthias Melcher
2228ec22d7 FLUID: Adds missing code for Grid and Flex live: #1092 2024-10-22 13:49:48 +02:00
Matthias Melcher
fb5c652200 FLUID: quick fix for live preview of Grid: #1092
- Grid Type live preview support was not implemented
- this is not a final fix, but just to avoid a crash
- additional work needed for Flex and Grid
2024-10-22 12:41:48 +02:00
Albrecht Schlosser
18e5c8232a Small typo fixes for release 2024-10-20 22:28:34 +02:00
Albrecht Schlosser
d85b67beac Fluid: update function_panel.fl from function_panel.cxx
Note: in commit a7328d940b
  "FLUID: Imporving method name `can_have_children()`"
  the file function_panel.cxx was edited w/o the corresponding
  fluid (.fl) file.

This commit fixes this, assuming the .cxx file was correct.
2024-10-20 20:03:09 +02:00
Albrecht Schlosser
32ac2ce0ac Update ANNOUNCEMENT and CHANGES files for release 1.4.0 2024-10-20 19:40:02 +02:00
Albrecht Schlosser
d163ab1357 Make remaining 'XPM' images 'const' 2024-10-20 17:00:16 +02:00
Albrecht Schlosser
74d827f71f Remove FL_MENU_RESERVED bit mask in favor of better documentation
This bit mask was added in commit 53b40f4138 in an attempt
to *document* reserved bits but it turned out that this mask could
have negative side effects on some newer compilers by propagating
the enum to an 'unsigned int' and issuing compiler warnings.

See this comment and follow-up's in fltk.general:
https://groups.google.com/g/fltkgeneral/c/7xrDkbkxiyw/m/rzEIJ7XhAgAJ
2024-10-19 15:58:51 +02:00
Matthias Melcher
737137cf78 Fixes Fl_Text_Display line number calculation. (#1088) 2024-10-19 15:53:29 +02:00