ManoloFLTK
80f5740468
Avoid useless code when drawing directly.
2019-10-20 15:37:05 +02:00
ManoloFLTK
4d350b61c1
Rewrite for macOS 10.15 Catalina
...
Another way to support what occurs under macOS 10.15 where the bitmap graphics context
prepared by the system when drawRect: runs sometimes changes its number of bytes/row
even if the width and height are unchanged.
This is expected to perform better when the number of bytes/row alternates between
two values.
2019-10-14 15:41:53 +02:00
ManoloFLTK
9863fef25a
Fix for macOS Catalina 10.15
...
Under Catalina, the bitmap graphics context prepared by the system when drawRect: runs
sometimes changes its number of bytes/row even if the width and height are unchanged.
2019-10-12 16:02:00 +02:00
ManoloFLTK
72e712efbd
Faster processing of layer-backed views used with MacOS ≥ 10.14
...
Calls to CGBitmapContextCreateImage() and CGContextDrawImage() are replaced
by faster calls to memcpy().
2019-10-09 11:49:24 +02:00
ManoloFLTK
940b7ba13d
Faster drawing of layer-based windows if entirely redrawn
2019-09-24 12:57:29 +02:00
ManoloFLTK
17d155d916
Fix window moving between retina/non-retina display with a GL subwindow.
2019-08-27 17:44:31 +02: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
e16eea32be
Avoid repetition of the same multiplication.
2019-08-19 09:34:42 +02:00
ManoloFLTK
8c39007b26
Improved implementation of layer-backed views under macOS ≥ 10.14
...
This new implementation does all screen drawing through the drawRect: method.
The benefit is that [[NSGraphicsContext currentContext] CGContext] provides
a system-built drawing context whose product ultimately appears on screen.
Feed-back from the fldigi FLTK application shows that this procedure is
measurably faster that the previous one when drawing a rapidly changing image.
2019-08-18 21:56:12 +02:00
ManoloFLTK
3c41e2d372
Correct guard for adequate version of macOS SDK
2019-07-06 09:22:06 +02:00
ManoloFLTK
71faa15432
Add support for macOS 10.15 "Catalina"
...
This is relatively to Catalina public beta for now.
2019-07-06 09:16:39 +02:00
ManoloFLTK
ef1c937606
Fix a bug appeared in macOS 10.15 Catalina Beta about GUI scaling transient window.
...
The bug is that the app freezes for a few seconds before the yellow transient window is closed
if the close message is set from within a timer callback.
If the window to close returns NO to the canBecomeKeyWindow message, the bug does not occur.
Anyway it's good that canBecomeKeyWindow returns NO for a window with the OUTPUT flag.
2019-07-03 15:21:31 +02:00
ManoloFLTK
aa9f0a6962
Move Fl_Cocoa_Window_Driver::capture_titlebar_and_borders() to Fl_Cocoa_Window_Driver.cxx from Fl_cocoa.mm
2019-06-12 10:02:11 +02:00
ManoloFLTK
5ab26a17b0
Better use of the did_view_resolution_change message sent to FLViewLayer
2019-06-03 21:09:03 +02:00
ManoloFLTK
da6d671d9b
Support for fl_scroll() under macOS when GUI is scaled - cont'd
...
Handles support of non-layered windows
2019-05-22 10:56:19 +02:00
ManoloFLTK
9b80a38345
Support for fl_scroll() under macOS when GUI is scaled
2019-05-21 21:17:11 +02:00
ManoloFLTK
07f4fd4380
More accurate implementation of Fl_Cocoa_Window_Driver::decoration_sizes().
2019-05-20 13:30:57 +02:00
ManoloFLTK
159572785d
Remove small duplication of code
2019-05-20 13:16:31 +02:00
ManoloFLTK
30e05510fa
Avoid small repetition
2019-05-18 17:40:18 +02:00
ManoloFLTK
99419b2f63
Have Fl_Cocoa_Window_Driver::flush() use the drawRect: method to draw to non-layered views
2019-05-17 15:23:55 +02:00
Manolo Gouy
88c2994e20
Restore use for GL windows under macOS 10.14.0
2019-05-15 21:55:10 +02:00
ManoloFLTK
fa5c2718da
Remove class FLGLViewLayer and get simpler code.
2019-05-15 13:59:29 +02:00
ManoloFLTK
e236091a99
Fix GUI rescaling when one window is iconified (macOS)
2019-05-13 15:06:19 +02:00
ManoloFLTK
dd687e7fbc
Fix GUI scaling in presence of un-show()'n subwindows (macOS)
2019-05-12 19:02:15 +02:00
ManoloFLTK
467e216681
Use more convenient API for function get_window_frame_sizes()
2019-05-09 10:22:31 +02:00
ManoloFLTK
32439ec259
Fix Fl_Cocoa_Window_Driver::capture_titlebar_and_borders() when GUI is scaled down
2019-05-08 16:27:53 +02:00
ManoloFLTK
12dedc26cd
Adapt function fake_X_wm() to rescaled GUI.
2019-05-08 12:25:48 +02:00
ManoloFLTK
d88ef8f039
Avoid double window redraw after resize
2019-05-08 11:53:25 +02:00
ManoloFLTK
5a57c928a1
Remove unnecessary code
2019-05-07 12:45:44 +02:00
ManoloFLTK
c00f31ab10
Slightly simpler code for what is specific to macOS 10.14.0
2019-05-06 16:55:41 +02:00
ManoloFLTK
fea125eca9
Restore forcing the position of a window before it's shown
2019-05-06 16:50:42 +02:00
ManoloFLTK
38cf195727
Remove call to Fl_Group::init_sizes() because it's expected from the caller.
2019-05-04 13:25:28 +02:00
ManoloFLTK
ef355e2762
Fix control for subwindow leakage in presence of GUI scaling
2019-05-04 09:44:29 +02:00
ManoloFLTK
5fde73b9ea
Reworked algorithm to support window moving across screens
2019-05-02 20:53:10 +02:00
ManoloFLTK
738cce154e
macOS: further fix to window moving necessary for macOS 10.3
...
Running the tabs test app with all 6 subwindows shown under 10.3
and moving the window around had 3 subwindows drift away
from their correct position.
2019-04-28 18:34:24 +02:00
ManoloFLTK
172063b2ad
macOS: yet simpler implementation of window resize and rescale.
2019-04-28 15:31:02 +02:00
ManoloFLTK
9ac73175be
Use NSViewFrameDidChangeNotification instead of NSWindowDidResizeNotification
...
This allows to support the tabbing/untabbing of windows with simpler, clearer code.
This commit also fixes the resizing of Fl_Overlay_Window that was broken in the
recent commit "Simpler implementation of Fl_Cocoa_Window_Driver::resize()"
c66caf5dce
2019-04-25 10:30:59 +02:00
ManoloFLTK
6f82d88af3
macOS: restore correct tabbing/untabbing of windows - continued
...
slightly simpler and more explicit than previous commit at
602c6ffd8a
2019-04-23 08:11:10 +02:00
ManoloFLTK
94f859c373
Consistently compute the current GUI scaling factor value.
2019-04-22 10:02:32 +02:00
ManoloFLTK
602c6ffd8a
macOS: restore correct tabbing/untabbing of windows
...
The recent commit "Simpler implementation of Fl_Cocoa_Window_Driver::resize()"
c66caf5dce
did not take care of tabbing/untabbing of windows.
This is repaired here.
2019-04-22 09:48:15 +02:00
ManoloFLTK
98b4ece33e
Reorder Fl_Cocoa_Window_Driver to support upward OS compatibility
2019-04-21 09:45:06 +02:00
ManoloFLTK
f3bfe93a51
Fix Fl_Cocoa_Window_Driver::fullscreen_off()
...
The correct order of operations is to resize the window after having set its style.
2019-04-21 09:27:44 +02:00
ManoloFLTK
3f5580d49c
macOS: better support of Fl_Window::border(int)
2019-04-20 22:01:48 +02:00
ManoloFLTK
ebbee5301b
macOS: simpler handling of GL windows when first displayed.
...
tested on macOS versions 10.3, 10.6, 10.9, 10.14
2019-04-19 13:03:49 +02:00
ManoloFLTK
698fe39ff1
Minor code reordering
2019-04-15 16:08:16 +02:00
ManoloFLTK
72954f39d8
Minor code reordering.
2019-04-15 12:04:52 +02:00
ManoloFLTK
3fa2b73698
Update comments of Fl_Cocoa_Window_Driver::make_current() for macOS 10.14
2019-04-11 13:04:53 +02:00
ManoloFLTK
86849aac8f
Improve Fl_Cocoa_Window_Driver::make_current()
2019-04-09 12:43:03 +02:00
ManoloFLTK
c66caf5dce
Simpler implementation of Fl_Cocoa_Window_Driver::resize()
2019-04-07 09:09:33 +02:00
ManoloFLTK
607689c890
macOS: More efficient window rescaling that rarely calls Fl_Group::resize()
2019-03-28 17:30:18 +01:00