Commit Graph

582 Commits

Author SHA1 Message Date
Manolo Gouy
8deac1e6ba Simpler code to support drawing to high-resolution Fl_Image_Surface object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 06:25:34 +00:00
Manolo Gouy
df0b1dcb07 Fl_Window::capture_titlebar_and_borders() returns a double-resolution top image.
Also, Fl_Image_Surface now can draw a scaled Fl_Shared_Image to 
a double-resolution surface.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11160 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12 21:15:48 +00:00
Manolo Gouy
bf7c25a1d7 Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into high-resolution bitmap.
Also, change arguments of void Fl_Window::capture_titlebar_and_borders() from
Fl_RGB_Image to F_Shared_Image so, in the future, scaled images having
a drawing size distinct from a pixel size can be returned, to support
high-resolution displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12 16:17:40 +00:00
Manolo Gouy
bc83464b64 Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into high-resolution bitmap.
This new member function returns a high resolution bitmap image scaled to the adequate
 drawing size. This allows to create a bitmap image able to fill all pixels of a high resolution
 display. This is functional only for the Mac OS platform. On other platforms, 
 the new member function returns an unscaled bitmap.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12 11:49:32 +00:00
Matthias Melcher
50ee3bcd66 Mark places that need to be refactored with // PORTME:
Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11 12:02:36 +00:00
Matthias Melcher
e83bc2527f Basic Screen Driver Structure. LIMBO!
Creating the basic structure for a screen driver system.
OS X works X11 and WinAPI are in limbo and will be fixed in the next hour or so.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11148 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 19:49:35 +00:00
Manolo Gouy
2b36a14d10 Fix Mac OS "Print front window" of the application menu.
This is part of r.10990 committed to the 1.3 branch, still to be replicated
in this branch.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11105 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-01 09:14:08 +00:00
Albrecht Schlosser
0a6be0a83f Fix compiler warnings (STR 2988), porting from branch-1.3.
This commit is the accumulated patch introduced in branch 1.3
in svn r 11094, 11095, and 11096.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 04:33:54 +00:00
Manolo Gouy
1c3c544edf Added Fl_Window::capture_titlebar_and_borders a new private member function
that triggers a warning when FL_PORTING is ON and with a default platform-neutral
implementation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28 11:51:07 +00:00
Matthias Melcher
780f43a4f1 Removed all references to Quartz driver files from library headers in Xcode. Works in Xcode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11065 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-27 22:35:58 +00:00
Manolo Gouy
8e3f66073f 1) Added a new way to detect whether the drawing operation is using the platform's native driver
and whether we are printing:  virtual int Fl_Graphics_Driver::has_feature(driver_feature feature)
This is also because it is not convenient to derive a printer-specific driver with its own
implementation of virtual functions when this implementation differs only in one line of code.

2) Solved the problem of inclusion of non public header by the public header FL/Fl_Device.H:
bracket this with #if FL_LIBRARY / #endif so this non public header is included only when building
FLTK itself.

3) Removed several (but not all) of the FLTK_ABI_VERSION guards that are no longer
useful for code targeting FLTK 1.4.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-27 18:11:20 +00:00
Manolo Gouy
eeb65bef23 1) Replicate in branch-1.3-porting all recent changes of branch-1.3
2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders()
that contains all the platform-specific code of all operations related to drawing
window borders and title bars. What is platform-specific and what is not
is therefore much clearer, to ease porting.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11002 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-10 19:08:16 +00:00
Manolo Gouy
59823515cf Mac OS: It is not necessary to open the display to send the
+[NSWindow  frameRectForContentRect:styleMask:] message
(checked on 10.11 and 10.3). Therefore fluid -c will run without
opening the display.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-23 09:33:06 +00:00
Manolo Gouy
527d5943d0 Mac OS: when an app is asked to open a file by Applescript, have it redraw itself
without waiting for the next event to come, because AppleScript does not break the
event loop.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-23 07:34:49 +00:00
Manolo Gouy
25fc85190e Mac OS: Fix for STR#3268 where a fullscreen window could become relocated
behind the menu bar and dock.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-21 13:38:49 +00:00
Manolo Gouy
09cd712c0d Allowing to use FLTK objects in static initializers (cont'd).
On the Mac platform, it is also necessary to change the initialization of 
the macKeyLookUp array for keyboard events to work in a static
initializer.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10962 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-13 09:51:07 +00:00
Manolo Gouy
8d1d2df0c2 Mac OS: using true system windows for FLTK sub-Fl_Window's.
Improved handling of the situations where a subwindow is created,
hidden, the parent window resized, and the subwindow shown,
with a new size. This change no longer sends setFrame: or setFrameOrigin:
messages to hidden subwindows. Instead, subwindows acquire their correct
size and position when they are shown again and Fl_X::map() is called.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10954 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-09 12:52:17 +00:00
Manolo Gouy
c7950b30c4 Mac OS: the present code asks the system to build the mini window image when a subwindow-less window is miniaturized,
and builds itself the image when a window with subwindow is miniaturized. That is mostly OK, but it fails when a window
containing a subwindow is miniaturized (a mini image is computed), deminiaturized, the subwindow is removed
or hidden, and the window is miniaturized again: the old mini image is used, and that is not appropriate.
The solution is to remove the FLTK-computed mini image when a window with subwindow is deminiaturized.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10953 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-09 10:13:46 +00:00
Manolo Gouy
ade095f240 Mac OS: added visibility test necessary after a subwindow-containing group was hidden.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-07 20:10:07 +00:00
Manolo Gouy
caba454f39 Mac OS: removed some code that was duplicated by checkSubwindowFrame run later.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10950 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-07 17:53:26 +00:00
Manolo Gouy
f79f70b96a Removed compilation warning with SDKs 10.3 and 10.4u
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10948 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-03 17:18:33 +00:00
Manolo Gouy
58afd21c73 Mac OS: send the setWantsBestResolutionOpenGLSurface:YES message in
Fl_X::create_GLcontext_for_window() where it is directly relevant.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10947 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-02 14:22:52 +00:00
Manolo Gouy
22af09dae7 Mac OS: support for high resolution OpenGL windows.
Methods Fl::event_x_pixel() and Fl::event_y_pixel() committed at r.10941
are removed. Instead method Fl_Gl_Window::pixels_per_unit() is added.

The documentation explains in more detail how to write cross-platform
FLTK code supporting high resolution OpenGL windows on retina displays.

The examples/OpenGL3test.cxx app exercises Fl_Gl_Window::pixels_per_unit().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10945 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-02 09:59:37 +00:00
Manolo Gouy
597ac17bda Mac OS: added Fl::event_x_pixel() and Fl::event_y_pixel() that return the mouse event position
in pixel units that differ from FLTK units for OpenGL windows mapped to a retina display.
On non Mac OS platforms, these are synonyms of Fl::event_x() and Fl::event_y().
The example/OpenGL3test demo program is modified to call these new functions.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10941 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-01 16:17:37 +00:00
Manolo Gouy
b2f24781d4 Mac OS: fixed possible crash when closing fullscreen GL window with close button of title bar.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10937 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-30 13:06:31 +00:00
Manolo Gouy
d74f373552 Mac OS: allow calling Fl_Gl_Window::pixel_w() before the window is shown.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-30 12:46:42 +00:00
Manolo Gouy
b0696db39a Added new method Fl_Copy_Surface::draw_decorated_window()
that copies a window to the clipboard together with its title bar and borders.
This requires very little new code because the capture of window decorations
is shared with the Fl_Paged_Device::print window() method.
The device test program is changed to call the new method.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10928 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-24 14:26:52 +00:00
Manolo Gouy
511ec0bb3d Mac OS: have Fl_Paged_Device::print_widget() print top-level windows with
rounded bottom corners as they appear on screen.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10916 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-19 16:33:44 +00:00
Manolo Gouy
364dfaf802 Mac OS. This simpler algorithm is just as good: remove the constraint
altogether for subwindows; keep it unchanged for windows.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10913 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16 16:48:01 +00:00
Manolo Gouy
31c9c98434 Corrected typo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10912 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16 08:59:33 +00:00
Manolo Gouy
535b477e7c Mac OS: with OS 10.11, the (green) window maximize button turns the window fullscreen so
it covers the dock and the system menu bar. The default behavior of a subwindow of such
a fullscreen window is to be prevented to cover the menu bar (which makes not much sense 
because this bar is covered by the main window). If the location of the subwindow within
its parent window expected by FLTK would have it cover the menu bar, Mac OS moves
it down. The subwindow therefore does not lie where FLTK wants it.
This patch overrides the adequate method of the NSWindow class to prevent this bad behavior.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10911 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-16 08:47:18 +00:00
Manolo Gouy
ebffeb8edd Mac OS: Added necessary check because a non-FLTK window can be found
as child of an FLTK window when turning a window full-screen.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10909 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-15 10:45:59 +00:00
Manolo Gouy
ba26f2c194 Mac OS X: simplified code for moving and resizing subwindows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10908 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-13 10:55:38 +00:00
Manolo Gouy
647821fa71 Mac OS X: with OS 10.11 "El Capitan" window capture returns an ARGB image (it used to return RGBA)
whereas OpenGL window capture returns RGBA as before. Capturing a window with subwindow(s)
requires ARGB <--> RGBA conversion when Quartz and OpenGL windows are mixed.
The OpenGL-inside-Quartz case was taken care of before.
Here, the Quartz-inside-OpenGL case is properly handled.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10900 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-11 07:46:15 +00:00
Manolo Gouy
68f3cc6d88 Mac OS X: added checks that subwindows do not leak out of
enclosing window when they are programmatically resized or moved.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10899 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-10 06:39:37 +00:00
Manolo Gouy
f00901534a Mac OS: fixed bad window resizing when presence of sub-sub-window and window
resized by top border.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10898 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-09 10:25:16 +00:00
Manolo Gouy
4ad9e7c6b8 Mac OS: improved control that subwindows do not leak outside their parent
after window resize.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10893 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-08 19:00:17 +00:00
Manolo Gouy
8a4acc5b05 Mac OS only.
Allow proper initial display of a subwindow-containing window in iconized state
(previously, the subwindow was not displayed in the icon).
Also fixes a problem with subwindows when the screen resolution was changed
while the window was iconized.
Tested with Mac OS 10.11, 10.6 and 10.3.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10891 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-07 17:20:33 +00:00
Manolo Gouy
7e025aac22 Added support for OpenGL V3 and higher.
On the X11/MSWindows platforms, this requires external installation of the GLEW library.
This fixes STR#3198 and STR#3257.
Added two new examples programs.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10876 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-27 08:40:56 +00:00
Manolo Gouy
accbfd9f66 More careful coding that does not read beyond the end of the image data
when an ARGB system image is converted to the RGBA format.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10870 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-20 14:53:37 +00:00
Manolo Gouy
57e603e6bc More detailed comment.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10869 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-19 14:41:24 +00:00
Manolo Gouy
2dd9d06818 Make sure the FLTK and the system keep their representations of window coordinates synchronized.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10863 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-22 05:43:37 +00:00
Manolo Gouy
bf5822bb8b Mac OS: slightly simpler code that does just the same thing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10861 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-10 14:53:16 +00:00
Manolo Gouy
157eb68eae Mac OS: 1) simpler tracking of window changes between retina/non retina displays.
2) improved window creation in iconized state (child windows still don't show in icon, though).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10860 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-10 13:09:38 +00:00
Manolo Gouy
1e1f1c33bd Mac OS: added missing cast required by some compilers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10856 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-07 10:45:00 +00:00
Manolo Gouy
60ad983b4e Mac OS: properly handle OpenGL profile requests independently from what SDK version is used at compile time.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10855 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-07 09:26:19 +00:00
Manolo Gouy
3570777a58 Removed the global variable inputContext_SEL.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-27 17:10:00 +00:00
Manolo Gouy
16e08ce3a2 Programs compiled with pre-10.7 SDKs can now fully use retina displays.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10844 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-27 12:31:46 +00:00
Manolo Gouy
a3adc0c4ad Improved handling of differences between OS versions in text input.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10843 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-27 08:40:30 +00:00
Manolo Gouy
03cad454d7 It's clearer to implement and use a doNothing: message.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10841 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-25 10:57:16 +00:00
Manolo Gouy
89589d7c9b Remove a compilation warning appearing with Mac OS 10.11 +
explain better the intent of this thread creation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10840 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-24 19:09:56 +00:00
Manolo Gouy
daeed067c8 Mac OS: simpler algorithm for function NSBitmapImageRep* GL_rect_to_nsbitmap()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10834 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-17 17:05:32 +00:00
Manolo Gouy
60a78880d5 Mac OS: more efficient handling of ARGB image data produced under
Mac OS 10.11 when capturing screen data.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-16 16:10:12 +00:00
Manolo Gouy
1e6bc1c73a Improved Mac OS implementation of Fl_Window::wait_for_expose().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-11 11:47:21 +00:00
Manolo Gouy
cc36ab53b3 - Implement Fl_Window::wait_for_expose() for Mac OS:
The -[NSWindow makeKeyAndOrderFront:] message used to make the window appear on the screen,
but, starting with 10.10 (approximately), this changed, and it became necessary to query for events
for a new window to appear on the screen. With 10.11 two event messages are needed.
The solution is therefore to implement Fl_Window::wait_for_expose().

- Calling NSDisableScreenUpdates()()/NSEnableScreenUpdates() before and after window updates
greatly accelerates multi-window update operations.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10826 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-07 12:55:56 +00:00
Manolo Gouy
4388e5635e Simpler code to support copy/paste of image data, that is also valid from Mac OS 10.3.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10822 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-01 17:25:53 +00:00
Manolo Gouy
7819882874 Fixed image copy/paste for Mac OS 10.4 and 10.5 that use different pasteboard type names
from later OS versions.
Unfortunately, it does not work with Mac OS 10.3

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10818 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-25 15:57:14 +00:00
Manolo Gouy
491938a4a9 Make Fl_Copy_Surface work on Mac OS 10.3:
use different pasteboard data type names according to running OS.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10817 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-25 08:02:03 +00:00
Manolo Gouy
a3e48a4afd Use -(NSGraphicsContext*)[NSWindow graphicsContext] to obtain the adequate
graphics context to draw to a window. This requires Mac OS 10.4.
The advantage is that it is possible for a secondary thread to call 
Fl_Window::make_current() without needing to create an autorelease pool.

We save the native graphics state, and also the state with origin at top. 
Fl_X::q_release_context() restores the graphics state twice to return to
the native state. This allows to use a single graphics context for a single
window and a single thread.

Under 10.3, we have to create a new NSGraphicsContext when Fl_Window::make_current()
is called directly, so that secondary threads cannot call Fl_Window::make_current() without
having created an autorelease pool.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-24 22:17:36 +00:00
Manolo Gouy
80402f622c Restore usability on Mac OS 10.3:
- do not use NSOpenGLPFAMultisample
- do not use -[NSBitmapImageRep bitmapFormat]
that require Mac OS 10.4

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10815 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-24 21:30:46 +00:00
Manolo Gouy
696231e512 Prepare for Mac OS 10.11 'El Capitan':
- avoid double redraw after window deminiaturization
- make sure that a new window appears on screen during the Fl_X::make() call

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10801 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-20 11:09:48 +00:00
Manolo Gouy
ad4d5ba5b5 Make sure the window is drawn when Fl_X::make() is called
(necessary with Mac OS 10.11).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10800 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-19 21:28:05 +00:00
Manolo Gouy
1cf24ff074 Restore compilability with Mac OS SDK 10.3 and above
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10798 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-18 07:18:15 +00:00
Manolo Gouy
ee7a427d87 Allow compilation with early Mac OS SDKs
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10796 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-17 17:17:53 +00:00
Manolo Gouy
6ad3a28cc5 Comment for a change that appeared in Mac OS 10.11
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10793 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-17 16:14:21 +00:00
Manolo Gouy
7c0c17a452 Preparing for Mac OS 10.11 'El Capitan':
change in rect_to_NSBitmapImageRep().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10790 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-15 21:47:39 +00:00
Manolo Gouy
3283aacf98 Prepare for Mac OS 10.11 "El Capitan"
Screen captures produce ARGB data (instead of RGBA until 10.10)
so access to the raw image data takes now this into account.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10789 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-13 20:43:13 +00:00
Manolo Gouy
9e320937fc Improved Fl_Window::make_current() that now creates a new NSGraphicsContext only when drawing
is not done through the standard event loop.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10784 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-11 15:35:20 +00:00
Manolo Gouy
634ede015d Define NSInteger in FL/mac.H when needed, so it's available to all source files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-30 02:23:26 +00:00
Manolo Gouy
a6b88e9191 Directly draw windows without forcing the system to send the -[NSView drawRect:] message
because this slowed window drawing under Mac OS 10.10

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10777 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-28 19:28:23 +00:00
Manolo Gouy
a097978096 Mac OS: computing a method's address once is enough.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10750 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-12 13:15:38 +00:00
Lauri Kasanen
03f69c0dd5 Add support for Fl::copy(..clipboard = 2..)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10731 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-05-18 09:10:06 +00:00
Manolo Gouy
626b8ef596 Removed unneeded include statements.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10728 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-29 11:48:26 +00:00
Manolo Gouy
a94642ee30 Simpler writing of Fl_X::get_carbon_function().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10727 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-29 11:33:56 +00:00
Manolo Gouy
f9fa74e3af Restored the possibility to call Fl::set_font()
in a global initializer (before main() starts).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-28 22:02:48 +00:00
Pierre Ossman
07c9526085 We cannot resize the selection buffer without also storing the new
length or we may get buffer overflows the next time we copy something.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10709 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-20 11:57:41 +00:00
Manolo Gouy
38a0ebd38f Restore compilability with old SDKs after commit of support for zoom gesture.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10660 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-03 05:31:01 +00:00
Matthias Melcher
d44b518c07 Added FL_ZOOM_GESTURE gesture for OS X.
Sadly, I have not commited any code in years, and despite the rumour that
I was hit by a train, or worse, move on to Qt, here I am, commmiting unwanted
code. Hopefully there are equivalents for this on other platforms?!


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10656 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-01 15:32:06 +00:00
Manolo Gouy
93372a77c1 Mac OS: Fixed issue where the system object supporting a window created before the event loop started could not be
deallocated.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10586 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-18 06:20:57 +00:00
Manolo Gouy
a5fcc0a91f It is preferable to use a complete initializer for a class instance.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10579 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-15 09:07:00 +00:00
Manolo Gouy
0cc3a5247a Mac OS: fixed order of preference of data type when pasting graphical data.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10578 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-13 14:18:12 +00:00
Manolo Gouy
2633a887b7 Mac OS: more accurate way to determine the screen where the paste operation occurs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10574 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-13 07:41:59 +00:00
Manolo Gouy
eb82b2fb9a Fixed change made at r.10560 that breaks compilation with old SDKs
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10572 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-11 10:09:44 +00:00
Manolo Gouy
522fc17d31 Mac OS: correct window redraws after a window was created in iconized form.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10564 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-09 12:56:06 +00:00
Manolo Gouy
1dd0cdcee9 Allow compilation with -std=c++11 on Mac OS X
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10560 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-08 06:48:19 +00:00
Manolo Gouy
5017171db8 Replace gl_xxx() function names by new member functions of the Fl_X class to avoid
collisions with user-defined symbols.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10548 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-02 13:08:51 +00:00
Manolo Gouy
8887600f5f Improved Mac OS X Fl_Gl_Window resizing: the GL scene was drawn twice at each resize operation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10545 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-31 15:08:31 +00:00
Manolo Gouy
64ffd414d6 Stop using dynamic_cast when performing text drag (Mac OS only).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-28 17:05:29 +00:00
Manolo Gouy
00f66de2cd Restore compilability with Mac OS X SDK 10.4u
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10534 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-24 17:37:58 +00:00
Manolo Gouy
ed547c6c63 Simpler coding of the half-pixel offset necessary when clipping to a rectangle.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10533 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-24 12:54:21 +00:00
Manolo Gouy
6f022c4d95 It is necessary to call fl_cgrectmake_cocoa() when building the clipping rectangle for a sub-window,
as for any clipping rectangle.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10532 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-23 10:14:09 +00:00
Manolo Gouy
2d264fa8d5 A few comment changes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10531 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-22 17:45:09 +00:00
Manolo Gouy
1b00cc8e21 Make sure subwindows don't leak out of their parent windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10530 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-22 12:32:11 +00:00
Manolo Gouy
bbd7d9cb59 Have Fl_Paged_Device::print_window() print window title bars with rounded angles under Yosemite also.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10529 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-21 12:09:50 +00:00
Manolo Gouy
eb33a418d5 Avoid potential crash if Fl::focus() returns NULL.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10527 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-19 14:41:32 +00:00
Manolo Gouy
c9782669c0 Ignore text input methods when the focus is to an Fl_Gl_Window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10523 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-19 12:27:37 +00:00
Manolo Gouy
365c1524c0 Fix possible crash when calling Fl_Window::resize() on a non-mapped sub-window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10522 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-16 10:28:36 +00:00
Manolo Gouy
7ad5091dbc Corrected one comment and added one.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10521 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-16 07:24:11 +00:00
Manolo Gouy
af42e3cd5f Fixed Fl_Window::resize() on Mac OS because program-generated resize did not work
with new true subwindows.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10520 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-15 21:57:27 +00:00
Manolo Gouy
790fc0ce02 Some indentation cleaning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10519 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-14 15:10:16 +00:00
Manolo Gouy
ae9ea6b51f When CGBitmapContextCreate() is used with null 5th argument, it is necessary
to use CGBitmapContextGetBytesPerRow().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10518 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-14 14:21:01 +00:00
Manolo Gouy
bc8a7037eb Avoid compilation warnings appearing with SDK 10.5
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10517 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-14 13:29:05 +00:00
Manolo Gouy
56fd2fc9f9 Fl_Paged_Device::print_window() now uses the CALayer class to print in one step
all of the window title bar, when the program is linked with OS X 10.10.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10515 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-13 16:36:04 +00:00
Manolo Gouy
335212dacb Better implementation of Fl_Paged_Device::print_window() for Mac OS X Yosemite:
title bar buttons are drawn by the system instead of emulated by FLTK.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10510 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-09 17:28:19 +00:00
Manolo Gouy
7f7e84b696 Simplified Fl_X::flush() for GL windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10507 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-04 14:41:50 +00:00
Ian MacArthur
b2462e9adb Fix typo in Fl_cocoa.mm if the ABI was set to 10304 or greater.
Seems ot be compiling OK again now.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10505 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-21 18:03:03 +00:00
Manolo Gouy
f3a84c0ee5 Changed OpenGL support for the Mac OS X platform: use cocoa instead of deprecated AGL.
All changes are mac-specific, except a very minor change in file src/gl_draw.cxx
where string drawing wrongly claimed to support @symbol, not possible
because symbols are drawn using non-GL primitives.

Unchanged application code can use the new FLTK code.
In addition, the new code allows mac applications to draw OpenGL scenes
at high resolution on so-called 'retina' displays, but this requires some
support from app code. They must call, before opening GL windows,
Fl::use_high_resolution(1);
and change their glViewport() calls as follows
glViewport(0, 0, pxel_w(), pixel_h());
This uses 2 new member functions of the Fl_Gl_Window class,
pixel_w() and pixel_h() returning the window dimensions in pixel
units, that is, twice the w() and h() when the window is mapped
on a retina display.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-20 07:19:23 +00:00
Manolo Gouy
ea279f9354 Avoid double window redraw after deminiaturization.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10495 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-19 04:53:01 +00:00
Manolo Gouy
f2cba934cb Restores compilation with SDK’s before 10.7, erroneously broken in a recent commit.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10490 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-18 17:32:08 +00:00
Manolo Gouy
d8ddb7b511 Removed compilation warning for unused variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10489 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-18 08:27:28 +00:00
Manolo Gouy
15d497ebdf Apple-only changes to restore a layout of the Fl_X class identical to that in FLTK 1.3.3.
With true subwindows, several members of Fl_X became useless.
This change recycle two of them for new uses:
- Fl_Region subRegion is used as a pointer to a CGRect
- Fl_X *xidChildren is used to indicate the resolution of the display
containing a window

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10486 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-17 09:04:01 +00:00
Manolo Gouy
00dd28afa4 Completed support of retina displays for Fl_Paged_Device::print_window_part().
Case with high resolution parent window and low resolution GL window is now directly processed.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10485 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-12 17:12:11 +00:00
Manolo Gouy
e230a34cfd It is necessary to compute Fl_X::mapped_to_retina after the window is mapped
because the windowDidMove notification is not always sent.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10484 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-11 22:25:31 +00:00
Manolo Gouy
bf07d892a3 Fix case when show() of a subwindow whose parent is not shown yet.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10483 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-11 20:34:47 +00:00
Manolo Gouy
879a8fbabf Propagate Fl_X::mapped_to_retina value from parent to subwindows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10482 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-11 20:09:55 +00:00
Manolo Gouy
68a577e1f6 Improved handling of high resolution ("retina") displays.
The new field bool Fl_X::mapped_to_retina is updated when needed, that is, when the window is moved.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10481 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-11 16:54:30 +00:00
Manolo Gouy
2d0670104b Removed one use of dynamic_cast.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10480 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-11 13:28:23 +00:00
Manolo Gouy
f1c7d674d2 Improved processing of retina displays: replace [NSWindow backingScaleFactor] that is not recommended.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10477 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-05 17:18:19 +00:00
Manolo Gouy
0fdb271a78 Make sure that subwindows won’t leak out of their parent window
even if they have coordinates that would provoke it.  

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-30 12:34:21 +00:00
Manolo Gouy
a482495236 Corrected case when using retina display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10472 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-26 20:42:08 +00:00
Manolo Gouy
d5d6b8ae19 Carbon function TSMGetActiveDocument() and its friends are no longer documented on the Apple web site.
Don’t use them unless Fl::disable_im() is called.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10464 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-19 18:20:41 +00:00
Manolo Gouy
f52b457cc2 Added full support of retina displays on the mac platform.
On such displays, one drawing unit equals two pixels.
The fl_xyline() and fl_yxline() functions are modified to perform
extra operations when drawing to a window on a retina display.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-19 16:23:36 +00:00
Manolo Gouy
b8a1618c0a Implement applicationDidUpdate differently according to running OS version.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10459 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-17 16:08:23 +00:00
Manolo Gouy
7d6e58acba Improves the cmd-Q handler as discussed in FLTK.coredev "Safe widget deletion ».
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10457 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-15 21:59:41 +00:00
Manolo Gouy
cc9b73d97a Invalidate the Quit item of the application menu when running modal.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10455 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-15 14:55:15 +00:00
Manolo Gouy
43989ec606 Support for true subwindows under Mac OS X (cont’d).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10454 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-13 15:33:33 +00:00
Manolo Gouy
d2072c818c A subwindow in an Fl_Tile did not work well after recent addition of support for true Mac OS X subwindows.
The tile demo program runs correctly again.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10453 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-13 13:57:27 +00:00
Manolo Gouy
e4d4f400a4 Added support of true subwindows to the Mac OS X code. With this, a window inside another
window is just another window with Mac OS as it was already with MSWindows and X11.
This requires Mac OS X 10.2. Window nesting to any depth is possible.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10449 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-11 16:08:09 +00:00
Manolo Gouy
574e31276e Rewrite Fl_Copy_Surface::complete_copy_pdf_and_tiff() using cocoa APIs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10442 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-08 18:14:31 +00:00
Manolo Gouy
13cd0a16b5 Replace deprecated pasteboard manager by cocoa NSPasteboard.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10438 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-07 17:08:13 +00:00
Manolo Gouy
bd1446a6eb Fix for STR#3142 where fl_read_image() correctly reads GL data under X11, but ignores them under MSWindows and Mac OS X.
Moreover, fl_read_image() behaves differently with and without OS virtualization for X11 and MSWindows.
The patched function reads whatever is in the rectangle transmitted in arguments, with and without GL data, with and without subwindows,
on ‘true’ OS or on virtualized OS.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10436 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-06 16:48:57 +00:00
Manolo Gouy
f5e023f9c8 Use +(void)initialize method of the NSObject class.
Create classes FLWindowDelegateBefore10_6 and FLViewBefore10_6 to support text input before Mac OS 10.6

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10435 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-06 15:35:32 +00:00
Manolo Gouy
aee0ee202f Silence compilation warnings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-02 21:06:07 +00:00
Manolo Gouy
a11d067d68 Improves FLTK usage on macintosh computers with retina displays.
The editor demo had grey lines between text lines and its cursor left traces behind
when moved. The scroll demo left some faint lines behind also.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10401 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-28 13:44:09 +00:00
Manolo Gouy
9d5fde73b6 Fixed uchar arguments of fl_rgb_color() calls.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10392 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-23 13:25:55 +00:00
Manolo Gouy
4db77674c3 Removed compilation warnings in fl_rgb_color() calls.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10390 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-23 11:08:16 +00:00
Manolo Gouy
69d5e00ce4 Fixed printing of window title bar buttons under Mac OS X 10.10
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10389 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-23 09:04:30 +00:00
Albrecht Schlosser
d24a6b2633 Move RGB image scaling algorithm methods in base class Fl_Image.
See also discussion in fltk.coredev of Sept 07, 2014 and later
with subject "Fixing the nearest-neighbour scaling".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-14 11:53:51 +00:00
Manolo Gouy
a3845fc51d Improved Fl_Paged_Device::print_window() when used on an Apple computer with a retina display:
the window tittle bar is printed at high resolution.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10372 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-11 14:33:43 +00:00
Manolo Gouy
6232a298f3 Fixed errors in fl_read_image() and Fl_Paged_Device::print_window_part()
when using Apple computers with retina displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10371 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-11 13:43:06 +00:00
Manolo Gouy
f1b2c92fce STR#3093 continued: deleted the Fl_Shaped_Window class. Instead, added new member function Fl_Window::shape(Fl_Image*)
that gives a non-rectangular shape to a standard window. The benefit is that it works with Fl_Double_Window and Fl_Menu_Window as well.
It also works for free with Fl_Gl_Window on the X11 platform only.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-21 14:10:36 +00:00
Pierre Ossman
1c7409e0a1 Add methods to enable and disable the system's input methods.
This needs to be done from FLTK as it affects the window interaction,
which FLTK is largely responsible for.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10314 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15 09:44:35 +00:00
Pierre Ossman
e145df2165 Add methods to intercept low level system events.
This gives applications the means to handle some low level
integration with the system that might otherwise not be possible
without modifying FLTK itself.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-15 09:17:56 +00:00
Manolo Gouy
eadd6e87f1 Removed several compilation warnings with OS X SDK 10.10
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10306 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-13 16:49:47 +00:00
Manolo Gouy
76418b352b Allow compilation with SDK 10.10 and use new API to discover os version at runtime.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10305 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-13 14:29:53 +00:00
Manolo Gouy
6482acf15a Allow compilation with SDK 10.10 and use new API to identify OS version at runtime.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10304 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-13 14:18:34 +00:00
Manolo Gouy
aecb3ac594 Fix for STR #3128
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10298 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-09 11:02:33 +00:00
Manolo Gouy
3e0bb410f8 Handle deprecation with Mac OS 10.9 of SetFrontProcess(), GetCurrentProcess(), GetFrontProcess(), SameProcess().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-07 20:30:46 +00:00
Manolo Gouy
8997131377 Added the Fl_Shaped_Window class to support windows of arbitrary shapes.
The new class is fully Doxygen-documented.
Added an example program (example/shapedwindow.cxx) that exercises the new class.
Modified all IDE-supporting files accordingly.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10255 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-27 11:55:57 +00:00
Manolo Gouy
a8d1251aaa Mac OS: a borderless, non-modal window was not created properly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10210 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-26 19:31:38 +00:00
Pierre Ossman
06ee4b9b14 Fix inverted logic. It's the even depth values that include alpha.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10199 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-17 11:13:55 +00:00
Pierre Ossman
332dc1b7ac Add method to set any custom cursor, based on a Fl_RGB_Image object.
Also change our fallback cursors to use this method, so that fallback
cursors are handled in a platform independent manner. STR #2660.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16 11:17:57 +00:00
Pierre Ossman
b4013ef602 Make sure that modal and non-modal windows are at a higher level
than "normal" windows. This is mostly necessary when full screen
windows are present as those are raised to a higher level in order
to obscure the dock and main menu.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16 10:59:46 +00:00
Manolo Gouy
d55fac2243 After r.10119 calling Fl_Window::make_current() within a widget's draw function created errors.
This patch fixes that.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10194 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-15 18:45:32 +00:00
Pierre Ossman
5e9624286a canBecomeMainWindow() is not absolutely necessary, but it makes
the window decorations behave better by properly graying out windows
that will have their input stolen by a modal one.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-11 14:12:29 +00:00
Pierre Ossman
0cfc2554c6 Support for full screen over multiple monitors.
The API follows that of EWMH, which gives you a good control
over which monitors to use.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-11 09:10:53 +00:00
Manolo Gouy
07dd8ba328 Added copy/paste from/to FLTK applications of graphical data.
Added Fl_Image_Surface class to draw into an Fl_Image object.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23 16:47:21 +00:00
Manolo Gouy
b24f66109d Fix STR#3063: compilation using Mac OS 10.4 (cont'd).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10129 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-04-27 15:48:18 +00:00
Manolo Gouy
6d3bb5f754 Fix STR#3063: compilation using Mac OS 10.4 (cont'd).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10128 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-04-27 14:14:23 +00:00
Manolo Gouy
fac0e9d43a Mac OS: drawing to windows at each FLTK event loop is now done as normally with Cocoa, that is,
by the [NSView drawRect:] implementation. The system therefore has prepared before the 
adequate graphics context for the window.
This introduces a limitation: it's not possible to call Fl::wait(), Fl::check()
nor Fl::ready() while in the draw() function of a widget. Use an idle callback instead.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10119 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-03-22 17:09:07 +00:00
Manolo Gouy
de7a79afd6 print_window():: make the test specific to a printer device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10112 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-23 15:58:12 +00:00
Manolo Gouy
e19ea8eb33 Mac OS: have Fl_Paged_Device::print_window() support all devices.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-30 07:10:37 +00:00
Manolo Gouy
4eee9f1f63 Mac OS: handle possible NULL return after screen capture attempt.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10078 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-22 20:39:21 +00:00
Manolo Gouy
4d5e10097e Mac OS: use the exact title bar font when printing window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10077 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 14:04:43 +00:00
Manolo Gouy
c4576badb8 Mac OS: improved window printing when window title is longer than the window width.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10073 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-21 10:22:53 +00:00
Manolo Gouy
b4adb7c55d Mac OS: drawing to screen is now performed by direct drawing to windows (drawing was done to views before).
This eliminates the necessity to lock/unlock views that was tricky to do properly because of interaction with
undocumented system-performed locks.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10068 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-19 10:00:37 +00:00
Manolo Gouy
d7cc67d2f1 Mac OS: put idle processing under an alloc/release pair of an NSAutoreleasePool.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10066 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-18 16:28:59 +00:00
Manolo Gouy
e543d2c763 Cleaner definition under Mac OS of the fl_default_cursor global variable that doesn't hide its type.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10048 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-07 15:31:28 +00:00
Manolo Gouy
c90f1904fa Mac OS text input: fixed minor problem when typing cmd-key while there's marked text.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10037 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-20 18:29:02 +00:00
Manolo Gouy
c65852122c Added informative comment to Fl_Paged_Device::print_window()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10028 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-11 14:31:27 +00:00
Manolo Gouy
0e8f2f786b Removed use of deprecated NSStringPboardType constant.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10025 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-10 12:07:09 +00:00
Manolo Gouy
b11af6e5e1 Simplified the code that supports application opening by dropping file onto icon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10024 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-09 12:12:26 +00:00
Manolo Gouy
076de1c617 Improved window printing by using a vectorial font for the window title.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10023 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-12-08 16:16:24 +00:00
Manolo Gouy
1f6585c15a The FLView object is now released just after the setContentView message is sent.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10022 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-30 21:50:00 +00:00
Manolo Gouy
05dd61d4ee Fix STR#3010: Program can crash under Mac OS when a dialog window is closed
if the opening of this dialog window made the previous window to be redrawn.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10021 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-29 18:14:49 +00:00
Manolo Gouy
6b67e50cbe Bracket calls to timer callbacks with fl_lock_function()/fl_unlock_function() as occurs under WIN32 and X11.
This was also missing in the FLTK 1.1 carbon version.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10019 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-11-13 15:49:48 +00:00
Manolo Gouy
1ad6b09de7 Fix mac-specific STR#2999. Use PostScript font name to ask the system for a font, and full font name
to display a font name.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10011 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-10-29 12:46:51 +00:00
Manolo Gouy
4827a696df Modified Fl_Paged_Device::print_window() so it works with any kind of Fl_Paged_Device instance.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10007 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-10-23 14:39:14 +00:00
Manolo Gouy
ce0e298a8a Removed some of the warnings mentioned in [fltk.coredev] New warnings with FLTK 1.3.x svn r9991
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-25 08:55:01 +00:00
Manolo Gouy
99f2010dce Remove errors with the Apple LLVM version 4.2 compiler.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9991 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-24 16:25:29 +00:00
Manolo Gouy
1029debb66 Clarification of change in constant used for text-containing pasteboards across Mac OS versions.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-24 08:27:10 +00:00
Manolo Gouy
3d7d2938c7 Fixes the copy/paste implementation to run on many Mac OS versions.
Checked on 10.3, 10.5, 10.6 and 10.8

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9986 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-23 19:00:15 +00:00
Manolo Gouy
cedcc3f52e Fixed implementation of paste with NSPasteboard that did not work well under Mac OS 10.5
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9985 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-23 15:01:54 +00:00
Manolo Gouy
3baf5e0d58 Implemented copy/paste with Cocoa's NSPasteboard instead of Core Foundation's Pasteboard Manager
which allows quite simpler code.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-12 12:21:57 +00:00
Pierre Ossman
1d6cc80d59 STR 2636. Add ability to get notifications whenever the
clipboard changes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-11 12:54:40 +00:00
Manolo Gouy
65226e073e Fixed typo in comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-06 09:24:28 +00:00
Manolo Gouy
bc17e8c6f9 Removed linkage with undocumented function CPSEnableForegroundOperation() used to support
Mac OS 10.2 or below. This made no sense because the Copy/Paste implementation requires Mac OS 10.3.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9964 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-05 09:12:35 +00:00
Manolo Gouy
cc68c2e43c Copy directly pasteboard data when pasting if it's UTF-8 encoded.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9962 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-04 14:39:59 +00:00
Manolo Gouy
0585de060c Added fl_lock/unlock_function() calls for extra caution in - (void)applicationDidChangeScreenParameters:
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9959 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-09-04 09:30:18 +00:00
Manolo Gouy
12fbd8b6b4 Mac OS X text input: stop sending the FL_PASTE event after character palette events;
send instead FL_KEYBOARD as for regular text input. Fl::event_key() will return 0 during
palette events.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9927 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-05-29 09:12:38 +00:00
Manolo Gouy
110cd81b1e Call [NSWindow setRestorable:NO] for each FLTK window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9910 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-05-08 13:11:56 +00:00
Manolo Gouy
a2d821cc2e Use the [NSimage initWithCGImage:size:] message when possible.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9907 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-30 08:56:28 +00:00
Manolo Gouy
076eb8679f Changed © (copyright) date to 2013.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9898 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-26 14:15:25 +00:00
Manolo Gouy
c4494a94a7 Cosmetic improvement of image used when dragging non-text data.
Minimum OS version has been verified.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9892 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-19 09:20:56 +00:00
Manolo Gouy
53e2e603d0 Cosmetic improvement of image used when dragging non-text data.
Minimum OS version still has to be verified.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9891 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-18 16:15:59 +00:00
Manolo Gouy
6b69461ea9 Renamed src/Fl_Sys_Menu_Bar.cxx to src/Fl_Sys_Menu_Bar.mm because objective-c code is used.
Some code is transferred from Fl_cocoa.mm thus reducing somewhat this very large source file.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9885 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-16 14:02:42 +00:00
Manolo Gouy
850bda435b Removed processing of obsolete deadkey flag.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9882 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-15 13:34:46 +00:00
Manolo Gouy
4c97f14e88 Reduced the usage of global variables.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9878 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-15 11:00:24 +00:00
Manolo Gouy
42cc953b0b Mac OS text input: fixed processing of dead key followed by non-text key.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9817 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-02-09 13:54:58 +00:00
Manolo Gouy
914e7f9b09 Mac OS text input: removed the Fl::marked_text_length() function that's not necessary.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-02-08 11:58:19 +00:00