Commit Graph

106 Commits

Author SHA1 Message Date
ManoloFLTK
d30e4aa0af Fix use of FLTK_SCALING_FACTOR under macOS 2024-03-12 17:29:29 +01:00
ManoloFLTK
a0ff3f6f5c Fix Scaling window up/down also scales X/Y position on secondary displays only (#925) 2024-03-04 16:25:45 +01:00
ManoloFLTK
130f5b6dc1 A window needs is_resizable() true to obey fullscreen() or maximize() 2024-03-03 17:50:49 +01:00
ManoloFLTK
7fea97c7a7 Fix regression introduced at 41740ca for non resizable windows - cont'd 2024-03-02 20:02:11 +01:00
ManoloFLTK
b74099c5fd Add OPTION_SIMPLE_ZOOM_SHORTCUT to fine tune zoom-in shortcut 2024-03-02 17:25:10 +01:00
ManoloFLTK
cc15700bdb Windows: improve changing scale values of display while app runs. 2024-03-01 14:00:43 +01:00
ManoloFLTK
0eef561e7b Windows: make Ctrl/+/-/0/ scaling system-wide if all screens have same DPI 2024-03-01 11:11:15 +01:00
ManoloFLTK
5f2069871d Move recognition of Ctrl= out of Fl::test_shortcut(unsigned) 2024-02-29 07:17:31 +01:00
ManoloFLTK
f4fb973c5d Simplify code to recognize GUI rescaling shortcuts 2024-02-28 09:13:35 +01:00
ManoloFLTK
eb3977ac43 Fix regression introduced at 41740ca for non resizable windows 2024-02-27 18:52:25 +01:00
ManoloFLTK
fc46e771cd Improve prioritization of event handlers added at open display time 2024-02-27 16:20:25 +01:00
ManoloFLTK
f35ae7122d Stop GUI scaling when window is maximized or full screen (#919)
Don't rescale when any top window on same screen as focus window is fullscreen or maximized
2024-02-27 08:46:40 +01:00
ManoloFLTK
41740caa2e Don't rescale when top window is fullscreen or maximized (#919) 2024-02-26 11:00:42 +01:00
ManoloFLTK
681e22a452 Add scale_handler first so it has least priority of all handlers 2024-02-20 21:47:43 +01:00
ManoloFLTK
cf551ddf5a Improve recognition of re-scaling shortcuts - cont'd 2024-02-11 19:10:39 +01:00
ManoloFLTK
2776071144 Improve recognition of re-scaling shortcuts w/ various keyboard layouts 2024-02-11 11:07:03 +01:00
Matthias Melcher
469d3ef3d5 #842: Enables command line color arguments on macOS 2023-12-16 21:59:43 +01:00
ManoloFLTK
0636c0b3e6 Wayland: implement scale factor windows as popups - cont'd 2023-10-24 19:25:59 +02:00
ManoloFLTK
3868ea90bd Wayland: implement scale factor windows as popups - cont'd 2023-10-24 09:43:23 +02:00
ManoloFLTK
fa1f00cc46 Wayland: simpler implementation of transient scale factor windows 2023-10-23 15:00:34 +02:00
ManoloFLTK
39a157a7dd Wayland: implement transient scale factor windows as popups
as discussed in issue #794.
Also, fix for macOS the use of the FL_FOCUS event for these transient windows
2023-10-23 11:15:04 +02:00
ManoloFLTK
7a434575ac Fix "Keyboard sometimes stops working after Ctrl/+ or Ctrl/-" (#794) 2023-10-21 09:46:20 +02:00
ManoloFLTK
ff7958e57a Fix "Keyboard sometimes stops working after Ctrl/+ or Ctrl/-" (#794) 2023-10-19 11:00:30 +02:00
ManoloFLTK
c1d9376934 Fix for "Keyboard sometimes stops working after Ctrl/+ or Ctrl/-" (#794) 2023-10-19 08:27:59 +02:00
Albrecht Schlosser
9ee8cdc727 Fix textcolor of transient scale display (#756)
Make background color and text (label) color of the transient scale
display consistent with tooltip colors.
2023-07-19 16:17:51 +02:00
Matthias Melcher
1aa6c4fed8
Fix position() methods that shadow Fl_Widget::position()
* `FL_DEPRECATED` macro to mark `position()` method that shadow `Fl_Widget::position()` #69 (#666)
2023-02-02 20:54:19 +01:00
ManoloFLTK
37775538c4 Extend commit a4b33f8 to other uses of function convert_crlf()
Helper function convert_crlf() from file fl_wayland_clipboard_dnd.cxx has been
repaired by commit a4b33f8 (13 jan 2023). But the same function was also in
file Fl_cocoa.mm. This commit moves the repaired code to class Fl_Screen_Driver
and has both fl_wayland_clipboard_dnd.cxx and Fl_cocoa.mm use it.
2023-01-14 09:56:09 +01:00
ManoloFLTK
37bf3835b0 Create class Fl_Unix_Screen_Driver used by X11 and Wayland platforms 2022-11-07 06:49:40 +01:00
ManoloFLTK
2ffd4e4f1a Replace all calls to sprintf() by calls to snprintf(). 2022-09-26 16:12:18 +02:00
ManoloFLTK
c720aae515 Make hybrid Wayland/X11 platform. 2022-08-29 12:15:32 +02:00
ManoloFLTK
02870242ee Move input method support to Fl_Screen_Driver from Fl_Graphics_Driver 2022-06-19 10:23:24 +02:00
Albrecht Schlosser
713d1bfd7c Revert parts of and fix other 'constness' changes (#239, #181)
Some of the previous constness changes turned out to be incomplete,
others had to be reverted because some other driver methods could
not be made 'const' - particularly those calling open_display() to
get the requested information.
2021-06-18 18:46:17 +02:00
Albrecht Schlosser
f94ed7116c Make non-const Fl_Screen_Driver methods const (#181)
As requested by issue #181:
  "Fl_Screen_Driver.H non-const functions should be const"

Not all methods could be made 'const' because some screen related
methods call init() internally.
2021-06-16 14:24:05 +02:00
ManoloFLTK
465789951f Don't activate scaling shortcuts if platform doesn't support scaling. 2021-06-09 23:20:49 +02:00
ManoloFLTK
9fad601401 Remove compilation warnings issued by Visual Studio 2019. 2021-02-13 21:13:04 +01: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
Albrecht Schlosser
8ea4b5b5b1 Fix static analyzer errors and warnings
Fix several bugs found by scan-build (more to come).
https://clang-analyzer.llvm.org/scan-build.html

See also current travis-ci build log with static analyzer, e.g.
https://travis-ci.com/fltk/fltk/jobs/285426415
(link may become invalid in the future).
2020-02-11 15:46:46 +01:00
Albrecht Schlosser
f93b825b08 Update Fl::keyboard_screen_scaling()
- make the internal variable static
- make it callable after fl_open_display()
- document that it's currently only usable to switch scaling off
2020-01-31 15:48:21 +01:00
ManoloFLTK
4ba6cef0b9 Add Fl::keyboard_screen_scaling(int) to control recognition of ctrl/+/-/0/ 2020-01-31 09:42:36 +01:00
ManoloFLTK
33eb87940d Fix a case when fl_read_window() did not capture subwindows correctly.
The case was under macOS with a non-GL parent window mapped to a retina display
containing a GL subwindow and if the app did not call Fl::use_high_res_GL(1).
2019-08-21 12:01:51 +02:00
ManoloFLTK
23484c30a9 Slightly simpler Fl_WinAPI_Screen_Driver::init() 2019-06-18 13:35:39 +02:00
ManoloFLTK
94fffb701c Add one argument to Fl_Screen_Driver::read_win_rectangle()
The new argument gives the window to be captured, or NULL to indicate capture
from the current offscreen.
Calling this function becomes easier because less dependent on global variables.
2019-06-06 18:28:49 +02:00
ManoloFLTK
d36e1a79c3 Add check against hidden window. 2019-04-11 19:02:44 +02:00
ManoloFLTK
536080f119 Send FL_FOCUS is necessary under X11 2019-03-27 18:59:20 +01:00
ManoloFLTK
9e18662d86 Use Fl_Widget_Tracker to check for existence of the putative focus widget 2019-03-27 17:16:25 +01:00
ManoloFLTK
0a7fb9f7b3 Follow CMP and rename a type with capitalized words without underscore 2019-03-27 13:12:52 +01:00
ManoloFLTK
4ac5382510 Remove unnecessary #include directives 2019-03-27 13:04:59 +01:00
ManoloFLTK
b488b2c9d0 Add further checks to avoid null pointer. 2019-03-27 12:33:00 +01:00
ManoloFLTK
a6ea844879 Check against null pointer for security 2019-03-27 11:32:23 +01:00
ManoloFLTK
9a9b02f9dd Don't change the focus widget after showing transient scale factor window 2019-03-27 11:28:55 +01:00