Commit Graph

5070 Commits

Author SHA1 Message Date
Manolo Gouy
e32b7e1fca Fix resize of layer-backed, top-level GL windows: no more blank window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-20 07:42:15 +00:00
Manolo Gouy
1741a6c128 Minor improvement of macOS 10.14 mojave support: draw window views with the displayLayer: method
The doc recommends to draw views with the displayLayer: method when the view manages itself
completely its own bitmap:
       If your delegate implements the displayLayer: method, that implementation is responsible 
       for creating a bitmap and assigning it to the layer’s contents property. 

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13075 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-20 07:24:27 +00:00
Albrecht Schlosser
1f3c17c8b9 Windows/OpenGL: fix pixel format detection (STR #3119).
This patch fixes two aspects described in STR #3119:
 (a) enables detection and prefers pixel formats with composition
 (b) selects no more than 32 bit colors (8 bits per pixel)

(a) was the reason for this STR, (b) was reported repeatedly in
fltk.general (see STR #3119).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13072 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-19 16:44:50 +00:00
Manolo Gouy
dd8e60a956 Add support for macOS 10.14 Mojave.
MacOS apps running under 10.14 AND linked with SDK 10.14 use a completely different way
to draw to the screen in comparison with the same app running under 10.13 or earlier:
all views are "layer-backed".
This commit makes FLTK apps running under 10.14 and linked with SDK 10.14 explicitly 
use layers to draw to the screen.
FLTK apps remain downward compatible with earlier macOS versions.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13071 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-19 05:17:24 +00:00
Manolo Gouy
7331900ef8 Remove compilation error when using clang 8:
error: non-constant-expression cannot be narrowed from type 'int' to 'CGFloat'

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13070 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-18 19:33:09 +00:00
Manolo Gouy
1367048df2 Fix Fl_OpenGL_Display_Device::capture_gl_rectangle(Fl_Gl_Window*) by making current the window's GL context.
The problem was visible with test/cube: when the window was minimized, only the left GL subwindow
was captured in the window icon.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13066 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-16 09:27:36 +00:00
Matthias Melcher
b10524fce2 Avoiding crash when accessing free'd memory.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13064 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-09 19:53:05 +00:00
Manolo Gouy
506b60a3f9 MacOS 10.14 Mojave: fix support of window capture - continued.
Window capture by initWithFocusedViewRect: does not work if the app is linked against 10.14 SDK
and run under 10.14. In that case, capture is performed instead by CGWindowListCreateImage().
Detection of whether the app was linked against 10.14 SDK is done by checking whether
the FLView possesses a CALayer.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13062 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-05 10:47:16 +00:00
Albrecht Schlosser
a84dec9510 Update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13061 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-05 00:38:12 +00:00
Manolo Gouy
61c01d9f9a MacOS 10.14 Mojave: fix support of window capture that 10.14 broke.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13060 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-04 07:54:18 +00:00
Manolo Gouy
08910b74ac macOS: check for non-nil image before using it as miniaturized window icon.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13058 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-30 13:46:13 +00:00
Manolo Gouy
f76d2a2bf8 Support for macOS 10.14 Mojave: apps linked with SDK 10.14 did not draw anything in their windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13057 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-27 05:42:57 +00:00
Manolo Gouy
673d95b99c MacOS: fix is_bundled() function for case when [NSBundle mainBundle] is nil.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13055 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-22 07:24:57 +00:00
Manolo Gouy
3131757e9c MacOS: fix regression in OS 10.13 where an unbundled app had its system menu bar unresponsive.
The regression was detected by "FLTK 1.4 on macOS: Trouble compiling my Application with Makefile"
in fltk.general.
The fix is to have unbundled apps initialize under MacOS 10.13 as under earlier OS,
thus the new initialization procedure introduced for 10.13 is for bundled apps only.
Tested OK on 10.13.6 and 10.14 public beta 10.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-16 10:17:23 +00:00
Manolo Gouy
f235678851 X11 under Ubuntu: read screen scaling information - continued
the first scaling value set at 2 is retained.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13049 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-14 14:49:23 +00:00
Manolo Gouy
d23892ef52 X11 under Ubuntu: read screen scaling information from file $HOME/.config/monitors.xml
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13048 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-14 14:38:06 +00:00
Albrecht Schlosser
a0fcfa55d6 Fix (remove) C++11 extension in header file.
Found with clang [-Wc++11-extensions] (example):

Building CXX object src/CMakeFiles/fltk.dir/Fl_x.cxx.o
In file included from ../../src/Fl_x.cxx:40:
../../src/drivers/X11/Fl_X11_Screen_Driver.H:36:10: warning: unelaborated
  friend declaration is a C++11 extension; specify 'class' to befriend
  'Fl_Screen_Driver' [-Wc++11-extensions]
  friend Fl_Screen_Driver;
         ^
         class
1 warning generated.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13047 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-14 12:13:56 +00:00
Manolo Gouy
07f18a5190 MacOS: Fix rounding to nearest int for negative screen coordinates.
The previous method   int(x + 0.5) is incorrect when x < 0

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13046 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-12 15:12:11 +00:00
Manolo Gouy
b0e0e0912c MacOS ≥ 10.10: Fl_Window::fullscreen() and fullscreen_off() no longer call Fl_Window::hide() + Fl_Window::show()
The new procedure essentially resizes the window, as done on the X11+EWMH and Windows platforms.
This improves in particular the possibility to turn an Fl_Gl_Window fullscreen on and off.
MacOS ≥ 10.10 is required because the procedure isn't stable (random crashes during fast switches) with 10.9.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13045 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-12 12:46:09 +00:00
Manolo Gouy
b6f65b1c87 X11: simplify the use of member function Fl_X11_Screen_Driver::init_workarea().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13044 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-07 09:24:35 +00:00
Manolo Gouy
3669f9a8cc MacOS: fix turning GL window to/from fullscreen state.
This fix completes that at r.13039.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13042 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-06 12:56:08 +00:00
Manolo Gouy
6e5c5d58e8 X11: fix Fl::w() and Fl::h() when the screen is rescaled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13041 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-06 11:26:34 +00:00
Manolo Gouy
ee3fbb849e MacOS: fix creation of fullscreen GL window
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13039 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-03 15:47:48 +00:00
Manolo Gouy
821be0b0eb Complete proper initialisation of the unique Fl_Cocoa_Screen_Driver object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13038 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-09-03 09:12:47 +00:00
Albrecht Schlosser
86b0756e15 Update dependencies and fluid files, fix typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13036 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-30 10:41:16 +00:00
Manolo Gouy
b3b29632fb Doc only: better doc of recently added events: FL_SCREEN_CONFIGURATION_CHANGED, FL_FULLSCREEN,...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-30 08:31:53 +00:00
Manolo Gouy
f50e9170dc MacOS: slightly simplify [FLAppDelegate applicationDidChangeScreenParameters:]
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13033 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-29 16:42:41 +00:00
Manolo Gouy
d0739e8712 Slightly simpler implementation of Fl_Cocoa_Gl_Window_Driver::alpha_mask_for_string() - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-28 12:33:27 +00:00
Manolo Gouy
9289a63af2 Slightly simpler implementation of Fl_Cocoa_Gl_Window_Driver::alpha_mask_for_string().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13031 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-28 12:12:20 +00:00
Manolo Gouy
8de0a3c445 Remove the need to call fl_open_display() before using Fl::screen_scale(int, float).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13025 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-23 14:14:56 +00:00
Manolo Gouy
c0e04da27f Fix creation of OpenGL3+ context under X11 platform
The procedure given in https://www.khronos.org/opengl/wiki/Tutorial:_OpenGL_3.0_Context_Creation_(GLX)
is now followed. This gives access to contexts for the highest OpenGL version supported by the hardware
when flag FL_OPENGL3 is used in the call to Fl_Gl_Window::mode(int).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13021 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-20 15:12:10 +00:00
Matthias Melcher
b26ace4b18 Added comment to Fl_Help_Dialog so users will know to link with fltk_images.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13020 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-20 12:31:59 +00:00
Manolo Gouy
1b25d1d3a0 Support recent MS Office apps that use \r\n as end of line in pasteboard.
FLTK now transforms that into \n as is expected under MacOS.
Older MS Office apps used \r as old MacOS software.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13014 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-10 15:44:39 +00:00
Manolo Gouy
1dd21622f5 Fix typo in Doxygen doc
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13012 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-09 11:25:56 +00:00
Manolo Gouy
cd399d9898 Support for GUI scaling: add API to get/set the scaling factor value.
Also, define an FLTK event triggered when the scaling is changed and an option
to disable the transient window showing the new scaling factor.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13011 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-08 20:08:10 +00:00
Manolo Gouy
72cc8b9b23 Fix for STR #3483: support for tiled images when the display is rescaled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13009 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-07 07:24:36 +00:00
Greg Ercolano
205570d134 Fl_Tree documentation fixes for html/pdf, doxygen 1.8.5
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13008 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-06 18:04:46 +00:00
Albrecht Schlosser
339ba4c8b3 Fix crash when a program exits before it opens a window (STR #3484).
This crash and the fix are Windows specific.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13007 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-06 16:51:02 +00:00
Albrecht Schlosser
6d276aed27 Add missing FL_EXPORT statements.
This fixes a regression causing 'fluid-shared' build to fail (only if
configured with --enable-shared, obviously).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13006 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-06 15:17:39 +00:00
Manolo Gouy
a4194a40ab Have the Doxygen doc of fl_draw_pixmap() show the default value of the last argument.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13005 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-04 16:42:32 +00:00
Manolo Gouy
61e53a8cd4 Fix regression seen with test/input under X11: the cursor becomes a grey square instead of FL_CURSOR_NONE
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13004 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-03 18:54:08 +00:00
Manolo Gouy
643bb3bbbb Remove private member variable Fl_X11_Window_Driver::current_cursor_ that's no longer used.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13003 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-03 18:20:37 +00:00
Manolo Gouy
7ea50c2018 Move Fl_Window::shape() from file Fl_Window_Driver.cxx to Fl_Window.cxx
Consequently, the Doxygen documentation of Fl_Window::shape() will reappear.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13000 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-02 20:42:28 +00:00
Greg Ercolano
1f5588c3dd Added fallthru indication in Fl_Button::handle()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12992 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-07-20 05:21:14 +00:00
Manolo Gouy
305e5dd21e Try dummy commit
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12990 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-07-02 15:21:57 +00:00
Manolo Gouy
7483651aaa Avoid giving same name (s) to 2 variables.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12988 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-30 05:57:21 +00:00
Albrecht Schlosser
d490abdce3 Update dependencies.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12987 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-27 20:44:46 +00:00
Manolo Gouy
8473a71e48 Remove a few useless 'friend' statements.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-27 12:26:49 +00:00
Manolo Gouy
f6a7602cfc Moving headers Fl_XXX_Driver.H from FL/ to src/ --- continued
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:38:25 +00:00
Manolo Gouy
0272bcf5a7 Move Fl_Gl_Window_Driver.H from FL/ to src/ --- continued
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:26:33 +00:00