summaryrefslogtreecommitdiff
path: root/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx
AgeCommit message (Collapse)Author
3 dayswip: forkmaxim nikonov
2023-12-16#842: Enables command line color arguments on macOSMatthias Melcher
2023-02-10Unlimited undo/redo for Fl_Input_ and Fl_Text_Buffer (#558) (#676)Matthias Melcher
2023-01-13Fix for "Rename Fl_X* Fl_Window::i private class member" (#223)ManoloFLTK
2023-01-01FLUID refactor and macOS warnings removed (#623)Matthias Melcher
P renamed to g_project class Project renamed to class Fluid_Project fixes macOS type cast warnings
2022-11-11Remove redundant doxygen docs of fl_beep()Albrecht Schlosser
Also add a comment to all platform driver implementations.
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
2022-03-13Separate platform init functions from platform-specific driver filesManoloFLTK
2022-01-31Consolidate timeout handling across platforms (#379)Albrecht Schlosser
Add Fl_Timeout class Move platform independent code of Fl::wait() to main part - basic timeout handling - Fl::run_checks() - Fl::run_idle() - Fl::idle() - waiting time calculation (next timeout) - remove platform dependent "screen driver" stuff
2021-07-08macOS: Fl::add_timeout() must always create a new timer (#248)Albrecht Schlosser
The old version would reschedule an existing timer if a matching timer existed already which was unique to macOS. The new behavior is consistent on all platforms and allows to create multiple timer entries with the same callback and userdata.
2021-07-07macOS: Fix a timer inconsistency and prevent a crashAlbrecht Schlosser
Calling Fl::repeat_timeout() instead of Fl::add_timeout() to create a timer would crash on macOS but fall back to Fl::add_timeout() on Windows and Unix/Linux. Although this is documented as "undefined behavior" a crash should always be avoided and the fallback is now consistent on all major platforms. In the future this may be documented as the standard behavior.
2021-06-18Revert parts of and fix other 'constness' changes (#239, #181)Albrecht Schlosser
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-02-16Use <config.h> when appropriate.ManoloFLTK
2020-11-02Fix possible memory leak in ↵ManoloFLTK
Fl_WinAPI_Screen_Driver::read_win_rectangle_unscaled() Thanks to "fire-eggs" for spotting it. Also minor optimisations in Fl_X11_Screen_Driver::read_win_rectangle_unscaled() and Fl_Cocoa_Screen_Driver::read_win_rectangle_unscaled(). This closes PR #151.
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-16Fix JIS Keyboard dead keysOKAMURA, Yasunobu
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-08-21Fix a case when fl_read_window() did not capture subwindows correctly.ManoloFLTK
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-06-06Add one argument to Fl_Screen_Driver::read_win_rectangle()ManoloFLTK
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-05-13Remove Fl_Cocoa_Screen_Driver::flush() that is uselessManoloFLTK
2019-03-06Process env var FLTK_SCALING_FACTOR consistently across platforms.ManoloFLTK
The procedure to set screen scaling factors becomes: 1) each screen scaling factor is set to 1 2) the OS is queried according to each platform to get screen scaling factor values 3) The value of FLTK_SCALING_FACTOR, if present, is used to multiply scaling factors
2018-11-28Create default implementation of Fl_Screen_Driver::get_system_scheme() and ↵Manolo Gouy
use it for macOS and Windows. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13137 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-03Complete proper initialisation of the unique Fl_Cocoa_Screen_Driver object.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13038 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-12MacOS: move timer-related code from file Fl_cocoa.mm to file ↵Manolo Gouy
Fl_Cocoa_Screen_Driver.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12916 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-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
2018-01-31Replace FL/x.H with FL/platform.H - step 2 (STR #3435).Albrecht Schlosser
This second step replaces FL/x.H with FL/platform.H in all source files. Dependencies have been adjusted as well. This commit completes the replacement of FL/x.H with FL/platform.H. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-09Put a default implementation of parse_color() in Fl_Screen_Driver and only ↵Manolo Gouy
Fl_X11_Screen_Driver reimplements it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12628 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27GUI rescaling under MacOS: fix Fl_Cocoa_Screen_Driver::read_image() - continuedManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12610 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-27GUI rescaling under MacOS: fix Fl_Cocoa_Screen_Driver::read_image() when ↵Manolo Gouy
reading from scaled offscreen buffer git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12609 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-18STR#3444: Add MacOS support for application rescaling (not quite complete)Manolo Gouy
With this, most MacOS FLTK app can be scaled with command/+/-/0/ keystrokes. A scaling problem remains, visible in test/cube, where the "Test" string is not positioned correctly. GLUT apps can also be scaled (across platforms). SVG images are re-rasterized after app scaling for optimal drawing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12594 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-11-17Replace remaining calls of getenv() with fl_getenv().Albrecht Schlosser
Note: don't use fl_getenv() in Fl_System_Driver and derived classes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-14Implement a platform-independent version of ↵Manolo Gouy
Fl_Graphics_Driver::copy_offscreen() usable when drawing to PostScript. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-09Use Fl_Graphics_Driver::default_driver() when convenient.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-23Move font-related member functions from Fl_Screen_Driver to Fl_Graphics_Driver.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-22Fl_Screen_Driver class: its platform dependent member functions should not ↵Manolo Gouy
be static. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-20Restructure the code behind double Fl_Cocoa_Screen_Driver::wait(double ↵Manolo Gouy
time_to_wait) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11958 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-19Remove fl_ready() not in public API and mostly same as ↵Manolo Gouy
Fl_XXX_Screen_Driver::ready() git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11951 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 several of the methods of class Fl_X for Mac platform to class ↵Manolo Gouy
Fl_Cocoa_Window_Driver. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11657 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19Move the set_key_window() member function from class Fl_X to class ↵Manolo Gouy
Fl_Cocoa_Window_Driver. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15Move platform-dependent implementations of fl_open/close_display() to the ↵Manolo Gouy
Fl_Screen_Driver class git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11619 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15Continue removing from class Fl_X what is not window-related.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11613 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-12Add and correct a few Doxygen comments.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11586 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-06Rewrite Fl_Input.cxx under the driver model.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11544 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-03Rewrite fl_read_image.cxx under the driver model.Manolo Gouy
Files fl_read_image_mac.cxx and fl_read_image_win32.cxx are no longer used; their content is now in Fl_XXX_Screen_Driver.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11516 ea41ed52-d2ee-0310-a9c1-e6b18d33e121