summaryrefslogtreecommitdiff
path: root/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
AgeCommit message (Collapse)Author
3 dayswip: forkmaxim nikonov
6 daysmacOS: remove code present only to support macOS versions 10.6 and earlier.ManoloFLTK
It's possible to build and run FLTK 1.5 with its use of C++11 for macOS 10.7 and SDK 10.7. This commit makes 10.7 the required minimal version of macOS to build and run FLTK 1.5.
2025-02-08Make Fl_Cocoa_Gl_Window_Driver::capture_gl_rectangle() return a depth-4 imageManoloFLTK
This change allows to capture the rounded corners of a top-level GL window. Also, rename Fl_Cocoa_Window_Driver::capture_decorated_window_10_5() from capture_decorated_window_10_6() because this function uses CGWindowListCreateImageFromArray() available from macOS 10.5.
2025-01-30macOS: Fix "Full screen broken on macOS in FLTK 1.3.10 (regression)" (#1192)ManoloFLTK
FLTK now supports 2 types of fullscreen modes under macOS: 1) normal macOS fullscreen mode where the menubar and titlebar appear when mouse is moved to top of screen and the window covers one screen only; 2) multiple-screen mode that requires calling Fl_Window::fullscreen_screens() before. This commit fixes all possible transitions between these fullscreen modes and normal window mode.
2024-11-01New member function ↵ManoloFLTK
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
2023-11-05Add Fl_Window::maximize() and Fl_Window::un_maximize()ManoloFLTK
2023-04-21Fl_Window_Driver::destroy_double_buffer() does not need overridesManoloFLTK
2023-01-09Virtual member Fl_Window_Driver::makeWindow() now returns voidManoloFLTK
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()
2022-09-29macOS platform: rename Fl_Cocoa_Gl_Window_Driver.cxx to .mmManoloFLTK
2022-09-28macOS: support of FLTK widgets in OpenGL 3 windows - cont'd.ManoloFLTK
This code is OK under macOS 10 9 and 13.
2022-09-27Simpler code to support FLTK widgets in macOS OpenGL 3 windows.ManoloFLTK
Also, the application-level code to add widgets to a GL3 window becomes platform-independent.
2022-09-07Improve support of child windows that may leak outside their parent window.ManoloFLTK
1) add Wayland code that prevent subwindows from leaking outside their parent. This does not cover GL subwindows. 2) add macOS code that prevent GL subwindows from leaking outside their parent. This fixes issue #494 for the macOS platform. N.B.: Wayland GL subwindows are not prevented from leaking because no solution that would not require any change in client applications was found. Code that would cover Wayland GL subwindows but would require client applications to always use the FL_ALPHA flag is included in this commit in commented out form.
2022-09-01Simplify Fl_Window_Driver::screen_num() member functions.ManoloFLTK
2022-08-20Remove FL_EXPORT qualifier from platform-specific class declarations.ManoloFLTK
2022-05-06Remove useless typedef declaration.ManoloFLTK
2022-05-05Move struct shape_data_type inside Fl_XXX_Window_Driver.ManoloFLTK
2022-03-31Fix whitespace errors (no code changes)Albrecht Schlosser
2022-03-21Issue #359 RFE: access the MacOS windowid .ManoloFLTK
2021-12-07Fix for fltk.coredev "reentrant calls with Fl_Window::resize" - cont'dManoloFLTK
2021-12-06macOS platform: compute the screen number where a top window is mapped.ManoloFLTK
2021-11-24Fix for [fltk.coredev] reentrant calls with Fl_Window::resizeManoloFLTK
2020-10-12Simpler macOS implementation of capture of window titlebars.ManoloFLTK
2020-10-11Change procedure to capture window titlebar for macOS ≥ 10.15ManoloFLTK
That is necessary to support macOS Big Sur because previous procedure did not work for tabbed windows. The new procedure is potentially usable from macOS 10.5, but tested at this stage for macOS ≥ 10.15.
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- 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-01-11Implement Fl_Window::icon() and default_icon() for macOSManoloFLTK
The implementation is effective for macOS 10.10 and above. Demo program test/device uses the new implementation.
2019-05-20Remove small duplication of codeManoloFLTK
2019-04-28macOS: yet simpler implementation of window resize and rescale.ManoloFLTK
2019-04-20macOS: better support of Fl_Window::border(int)ManoloFLTK
2019-04-07Member Fl_Cocoa_Window_Driver::window_flags_ stores now 2 flagsManoloFLTK
2019-04-07Simpler implementation of Fl_Cocoa_Window_Driver::resize()ManoloFLTK
2019-02-23New member function const Fl_Image* Fl_Window::shape() replaces int ↵ManoloFLTK
Fl_Window::is_shaped() The new function allows to get the window's shaping image and delete it after use, if appropriate.
2018-11-01MacOS Mojave: restore use of gl_start()/gl_finish()Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13105 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-31Remove use of Fl_Gl_Window_Driver.H in file src/Fl_cocoa.mmManolo Gouy
Thus, Fl_cocoa.mm is completely independent from code of libfltk_gl. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13104 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Window_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23Doxygen only: fixed all block comments starting with an asterisk to ↵Matthias Melcher
space-only, fixed doxygen keywords prepended with @ to use a backward slash instead. No code was changed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23Doxygen: created Group to document drivers, disabled by defaultMatthias Melcher
Uncomment `ENABLED_SECTIONS += DriverDev` in documentation/Doxyfile.in to enable driver documentation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12Remove public member function Fl_Window_Driver *Fl_Window::driver() so class ↵Manolo Gouy
Fl_Window_Driver is not in FLTK public API. This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win). The purpose is to have class Fl_Window_Driver outside from FLTK ABI. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-06Simplify Fl_XXX_Window_Driver::capture_titlebar_and_borders() using ↵Manolo Gouy
Fl_Image::scale(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12902 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-04Shorten the list of virtual member functions used to support ↵Manolo Gouy
Fl_Widget_Surface derived classes. Change Fl_Cocoa_Screen_Driver::read_win_rectangle() so it captures only from the current window and ignores its subwindows, as do other Fl_Screen_Driver derived classes. Remove Fl_Cocoa_Printer_Driver::print_window_part() that is no longer necessary. Remove Fl_Printer::print_widget() and Fl_Printer::print_window_part() that are no longer necessary. Stop Fl_Widget_Surface::print_window_part() from being virtual because its platform-independent implementation should suffice. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12894 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09Replace "WIN32" with "_WIN32" or "Windows".Albrecht Schlosser
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32". Replace "WIN32" in text and documentation with "Windows". Replace "MSWindows" with "Windows". To do: README.Windows.txt (and maybe other documentation as well) needs updates. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09Fix fl_read_image() under MacOS platform when GUI is rescaled.Manolo Gouy
This commit also simplifies the platform-dependent support of fl_read_image(): only Fl_XXX_Screen_Driver::read_win_rectangle() contains platform-specific code to capture pixels from the current window or from an offscreen buffer. Platform-independent function Fl_Screen_Driver::traverse_to_gl_subwindows() captures subwindows that intersect with the area fl_read_image() targets. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12653 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-23Continue support for GUI rescaling under MacOS: fix Fl_Overlay_Window.Manolo Gouy
This patch also improves by simplification the code of class Fl_Quartz_Image_Surface_Driver: because, under the driver model, there's a separate graphics content for the display and for each offscreen buffer, it's possible to reverse the drawing orientation (draw from top to bottom) once at offscreen creation. It's thus no longer necessary to reverse orientation in Fl_Quartz_Graphics_Driver::restore_clip() specifically for offscreen buffers. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12603 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-30MacOS: use rounded bottom corners when drawing windowsManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12574 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-20Remove Fl_Cocoa_Window_Driver::flush_double() because it is equal to ↵Manolo Gouy
Fl_Window_Driver::flush_double() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12341 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-20Mac OS: remove unused members variables from platform-specific struct ↵Manolo Gouy
Fl_Window_Driver::shape_data_type git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12178 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-26Set svn file properties.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11700 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19Add static Fl_XXX_Window_Driver *driver(Fl_Window*) to get the ↵Manolo Gouy
platform-specific driver of a window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11663 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19Move GL-related static member functions of the Fl_X class on Mac OS to class ↵Manolo Gouy
Fl_Cocoa_Screen_Driver. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11662 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19Transform Fl_X::make(Fl_Window*) for Mac platform into Fl_X ↵Manolo Gouy
*Fl_Cocoa_Window_Driver::makeWindow() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11658 ea41ed52-d2ee-0310-a9c1-e6b18d33e121