Manolo Gouy
fae02f2b4d
Mac OS: complete changes needed for 10.13 "High Sierra" regarding how FLTK applications start.
...
With MacOS 10.13 "High Sierra", it was necessary to change what happens at application start time.
The new procedure is:
fl_open_display() calls [NSApp run], and during this call:
the main event loop is started;
the app delegate receives an openFile: message for each file dropped on the app icon. Each
such filename is memorised in an NSMutableArray called dropped_files_list;
the app delegate receives applicationDidFinishLaunching and stops the main event loop
(this seems to occur unpredictably after the first openFile: message or after all of them).
When the FLTK event loop begins, it checks whether dropped_files_list is empty. If it is not,
the first element of this list is a filename which is opened and is removed from dropped_files_list.
This new setup allows to turn resizable windows fullscreen and back as expected under MacOS,
and to support launching apps while dropping file(s) on its icon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12508 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-17 09:01:28 +00:00
Manolo Gouy
507e39fd19
MacOS 10.13: fix problem with window made fullscreen by clicking on green window button - continued.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12503 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-15 17:36:58 +00:00
Manolo Gouy
a8dbc90d99
MacOS 10.13: fix problem with window made fullscreen by clicking on green window button.
...
With MacOS 10.13 "High Sierra", when a window is made fullscreen by clicking on the green window button,
the window hides the system menubar, but it's not possible to show the menubar by moving the pointer
to the very top of the window. This new way of starting apps fixes this problem.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12502 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-15 17:04:53 +00:00
Manolo Gouy
193c611fc2
Better implementation of Fl_Cocoa_Window_Driver::wait_for_expose() for Mac OS 10.13 High Sierra.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12486 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-10-11 15:19:45 +00:00
Manolo Gouy
ae2cc54519
Remove unnecessary local variable.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12342 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-20 09:25:49 +00:00
Manolo Gouy
cfe6e8e4b6
Simplify handling of the windowDidMove notification since MacOS 10.10
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12327 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-18 14:35:05 +00:00
Manolo Gouy
a74cca3219
Support of MacOS 10.13 to appear soon: fix handling of window moves in presence of subwindows.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12318 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-14 19:58:28 +00:00
Manolo Gouy
9276dad42f
End of fix for STR#3387 "Bug of timer implementation on macosx"
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12306 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-11 12:03:05 +00:00
Manolo Gouy
66200436bf
Fix for STR#3387 Bug of timer implementation on macosx
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12271 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-26 15:20:25 +00:00
Manolo Gouy
2cda5a4fa6
Make Fl_Screen_Driver::get_mouse(int&, int&) return the number of the mouse-containing screen.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12264 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-17 06:53:44 +00:00
Manolo Gouy
90efebb97e
Divide virtual Fl_Screen_Driver::open_display() in a platform-specific part followed by a platform-independent part.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12245 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-01 14:05:47 +00:00
Manolo Gouy
cbc5a4842d
Incorporate the code of function handleUpdateEvent() in the unique code section which calls it.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12169 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-03 13:30:36 +00:00
Manolo Gouy
a873e414bd
Fix possible crash when turning fullscreen the scroll test program.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12091 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-09 20:55:50 +00:00
Manolo Gouy
c530cdeda6
Use Fl_Graphics_Driver::default_driver() when convenient.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-09 09:49:48 +00:00
Manolo Gouy
0c878d136c
MacOS: fix possible issue with fullscreen windows containing hidden subwindows
...
An error occurred with the tabs test program
- activate the last tab (containing 3 subwindows)
- activate another tab (the subwindows get hidden)
- set window fullscreen ===> the subwindows are visible and they should not
- reactivate the last tab ===> the subwindows are not where they should be
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12083 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-06 18:28:24 +00:00
Manolo Gouy
214b3c32b5
MacOS: another way to make sure windowDidResize does not access Fl_Window after [FLWindow close] message was sent
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12082 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-06 18:20:58 +00:00
Manolo Gouy
2714c7600e
MacOS: fix crash when closing a fullscreen window - continued
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12068 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-01 16:38:37 +00:00
Manolo Gouy
16d62ebbd4
MacOS: fix crash when closing a fullscreen window
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12067 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-01 16:36:08 +00:00
Manolo Gouy
31070778b7
Fix for STR#3308 - MacOS X-specific part.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12009 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-04 11:29:57 +00:00
Manolo Gouy
42624dc17f
Avoid possible autorelease warning message sent by "fluid -c" that calls Fl_Window::size_range()
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11992 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-28 14:41:40 +00:00
Manolo Gouy
6bba205c93
Remove the 'suppressed' variable from cocoaMouseHandler(), a useless residue from ancient code.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11960 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-21 06:13:38 +00:00
Manolo Gouy
6347dbde58
Restructure the code behind double Fl_Cocoa_Screen_Driver::wait(double time_to_wait)
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11958 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-20 13:48:55 +00:00
Manolo Gouy
827fa250f3
Remove fl_wait() that is not part of the public API.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11953 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-20 12:58:51 +00:00
Manolo Gouy
c06374378f
Remove fl_ready() not in public API and mostly same as Fl_XXX_Screen_Driver::ready()
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-19 16:59:59 +00:00
Manolo Gouy
c5960df5fb
Rewrite fl_open_callback() under the driver model.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11929 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-09 15:56:33 +00:00
Manolo Gouy
4180cf5360
Add missing delete statements in ~Fl_XXX_Copy_Surface_Driver() and ~Fl_XXX_Image_Surface_Driver().
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11891 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-24 08:53:29 +00:00
Manolo Gouy
207d8fe09b
Add GLContext to the set of platform-dependent types defined in FL/platform_types.h
...
If a platform does not support OpenGL, it can just typedef GLContext as void*
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11733 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-13 06:45:40 +00:00
Manolo Gouy
cc35e003eb
Move GL-related member functions from class Fl_Cocoa_Screen_Driver to class Fl_Cocoa_Gl_Window_Driver
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11728 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-09 16:10:54 +00:00
Manolo Gouy
aec24973be
static function get_image_from_clipboard(Fl_Widget *) really returns Fl_RGB_Image* type
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11711 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-05 06:53:59 +00:00
Matthias Melcher
769d151a12
Virtualized add_fd and remove_fd into System Driver
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11668 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 22:45:22 +00:00
Manolo Gouy
cd4498021e
Have headers x.H, win32.H and mac.H share a unique definition of class Fl_X
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11667 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 20:47:25 +00:00
Manolo Gouy
4aa388d4ff
Add static Fl_XXX_Window_Driver *driver(Fl_Window*) to get the 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-19 17:34:15 +00:00
Manolo Gouy
9f78323574
Move GL-related static member functions of the Fl_X class on Mac OS to class Fl_Cocoa_Screen_Driver.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11662 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 16:58:17 +00:00
Manolo Gouy
6600993adc
Transform Fl_X::make(Fl_Window*) for Mac platform into Fl_X *Fl_Cocoa_Window_Driver::makeWindow()
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11658 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 15:00:02 +00:00
Manolo Gouy
f9edd86753
Move several of the methods of class Fl_X for Mac platform to class Fl_Cocoa_Window_Driver.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11657 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 14:25:47 +00:00
Manolo Gouy
034cfc94a3
Move Fl_X::set_high_resolution() to classes Fl_Graphics_Driver and Fl_Quartz_Graphics_Driver
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11656 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 12:46:07 +00:00
Manolo Gouy
366f4bfbc9
Move the set_key_window() member function from class Fl_X to class Fl_Cocoa_Window_Driver.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 06:34:40 +00:00
Manolo Gouy
c0f14ca2f0
Move other_xid member variable from class Fl_X to class F_Window_Driver.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11654 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 17:02:44 +00:00
Manolo Gouy
e790ac9653
Move wait_for_expose member variable from class Fl_X to class Fl_Window_Driver.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11653 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 16:11:15 +00:00
Manolo Gouy
0629b40afd
Move set_cursor() member functions from class Fl_X to classes Fl_Window_Driver and derived.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11652 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 14:31:07 +00:00
Manolo Gouy
85b5f02a8b
Replace member function void Fl_X::flush() by virtual void Fl_Window_Driver::flush()
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11646 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-18 11:58:46 +00:00
Matthias Melcher
cdf85352c4
virtualized some Region calls.
...
There is a deeper issue here: regions should be handled by the graphics driver that is associated with the Fl_Window of this widget... .
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11643 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 15:36:23 +00:00
Matthias Melcher
cc57af841a
virtualizes fl_set_spot and fl_reset_spot
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11640 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 14:22:02 +00:00
Manolo Gouy
a4e5dc0267
Move q_release_context() from class Fl_X to class Fl_Cocoa_Window_Driver
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 10:12:42 +00:00
Manolo Gouy
16beb869a5
Move Fl_X::gc for Mac platform to the Fl_Cocoa_Window_Driver class
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11638 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 09:25:00 +00:00
Manolo Gouy
2fcb4f4192
Move platform-dependent implementations of fl_open/close_display() to the Fl_Screen_Driver class
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11619 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 15:36:10 +00:00
Manolo Gouy
15715cd898
Move platform-dependent implementations of Fl::en/dis/able_im() to the Fl_Screen_Driver class
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11618 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 15:12:22 +00:00
Manolo Gouy
397a3b83bf
Move platform-dependent implementations of fl_clipboard_notify_changes() to the Fl_System_Driver class
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 15:01:27 +00:00
Manolo Gouy
b1f8f3e2aa
Move platform-dependent implementations of Fl::clipboard_contains() to the Fl_System_Driver class
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 14:49:46 +00:00
Manolo Gouy
d683841f9f
Move the platform-dependent implementations of Fl::paste() to the Fl_System_Driver class.
...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 14:32:13 +00:00