Commit Graph

735 Commits

Author SHA1 Message Date
ManoloFLTK
d5943f85b9 Use the new Fl_Surface_Device::is_current() virtual function 2019-04-10 13:53:13 +02:00
ManoloFLTK
4f0a16697e Remove useless member functions Fl_XXX_Copy_Surface_Driver::w() and h() 2019-04-10 13:21:23 +02:00
ManoloFLTK
7a0bebb22f New virtual member function bool Fl_Surface_Device::is_current() 2019-04-10 13:14:04 +02:00
ManoloFLTK
0ddf5e74a9 Fix for STR 3519: the PostScript graphics driver fails with some narrow unicode characters 2019-04-09 16:26:15 +02:00
ManoloFLTK
abc8f4158f Member Fl_Cocoa_Window_Driver::window_flags_ stores now 2 flags 2019-04-07 11:24:20 +02:00
ManoloFLTK
c66caf5dce Simpler implementation of Fl_Cocoa_Window_Driver::resize() 2019-04-07 09:09:33 +02:00
ManoloFLTK
499ec5c291 Replace static void Fl_Window_Driver::default_icons() by virtual Fl_Screen_Driver::default_icons() 2019-03-25 18:47:29 +01:00
ManoloFLTK
6a807716a7 Rename fl_compute_macKeyLookUp() to Fl_Darwin_System_Driver::compute_macKeyLookUp() 2019-03-25 13:16:27 +01:00
ManoloFLTK
e659355052 Remove unneeded #include directive 2019-03-12 18:39:17 +01:00
ManoloFLTK
4e2ba8c888 X11 platform: follow when the OS changes the Xft.dpi resource
Under gnome, Tweaks -> Fonts ->Scaling factor allows to change
the size of all fonts handled by gnome.
With that change, FLTK apps obey to changes to Xft.dpi.
2019-03-11 16:20:29 +01:00
ManoloFLTK
347581e3b4 X11 platform: use the Xft.dpi resource as basis for the initial GUI scaling factor
Previously, the display scaling factor value under gnome was sought in the gnome
database using the gnome_scale_factor() function. But that information is no
longer present.
File $HOME/.config/monitors.xml was also used to get that information.
Using the Xft.dpi X resource is simpler and more general because it's
effective both for gnome and KDE.
2019-03-10 08:42:18 +01:00
ManoloFLTK
d988930461 Process env var FLTK_SCALING_FACTOR consistently across platforms.
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
2019-03-06 11:10:37 +01:00
ManoloFLTK
a7a3c5b429 Fix error in Fl_WinAPI_Screen_Driver::screen_work_area() when screen is scaled. 2019-02-28 18:06:32 +01:00
ManoloFLTK
a0510495ea Rename member todelete_ of struct Fl_Window_Driver::shape_data_type to effective_bitmap_ 2019-02-23 10:30:48 +01:00
ManoloFLTK
21c0134931 New member function const Fl_Image* Fl_Window::shape() replaces int Fl_Window::is_shaped()
The new function allows to get the window's shaping image
and delete it after use, if appropriate.
2019-02-23 10:21:27 +01:00
ManoloFLTK
f9255e375c Remove compilation warning with -Wunused-result
Warning was: ignoring return value of ‘char* fgets(char*, int, FILE*)’
2019-02-21 15:19:02 +01:00
ManoloFLTK
1c2dcdb4dc X11: use XGetDefault() to read the value of the Xft.dpi resource. 2019-02-21 15:13:20 +01:00
ManoloFLTK
8d716f7254 Use also the Xft.dpi resource to initialize the GUI scale factor. 2019-02-20 14:07:53 +01:00
ManoloFLTK
96867f8318 X11 + gnome: improve detection of the current display scale factor
Gnome now seems to store the value of the display scale factor in file
$HOME/.config/monitor.xml. Previously, that value was readable with
the gsettings command.
The present commit uses the information found in that file
and reverts back to the gsettings command if that information is not found.
2019-02-19 14:54:34 +01:00
Matthias Melcher
452a410a3e STR #2714: remove new shadow lint for MacOS 2019-02-02 17:47:55 +01:00
ManoloFLTK
83ecdd183a Remove incorrect putenv(buf) call followed by free(buf). 2019-01-21 16:03:59 +01:00
Albrecht Schlosser
59cd39a505 Fix another clang-tidy warning (issue #5, part 1).
See https://github.com/fltk/fltk/issues/5

As Manolo pointed out the questionable variable was not used (read)
in this case of the switch statement, hence it can be removed.
2018-12-16 13:13:46 +01:00
Albrecht Schlosser
2e6a4eb69a Fix clang-tidy unused variable warning (issue #5, part 3).
https://github.com/fltk/fltk/issues/5
2018-12-15 13:27:39 +01:00
ManoloFLTK
d2870d6f7d Define useful implementations of Fl_Graphics_Driver::push_no_clip() and pop_clip(). 2018-12-04 15:11:03 +01:00
Manolo Gouy
b04700397e Comments only: correct the header of 2 source files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13142 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-11-30 09:05:58 +00:00
Manolo Gouy
91bb8bce1f Create default implementation of Fl_Screen_Driver::get_system_scheme() and use it for macOS and Windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13137 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-11-28 18:01:02 +00:00
Manolo Gouy
db1206065a Windows: Have Fl::x(), Fl::y(), Fl::w() and Fl::h() change their values when the screen is rescaled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13134 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-11-26 20:55:23 +00:00
Manolo Gouy
3a2439e31c MacOS Mojave: restore use of gl_start()/gl_finish()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13105 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-11-01 14:34:22 +00:00
Manolo Gouy
6c8115ee9b Remove use of Fl_Gl_Window_Driver.H in file src/Fl_cocoa.mm
Thus, Fl_cocoa.mm is completely independent from code of libfltk_gl.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13104 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-31 12:45:51 +00:00
Manolo Gouy
22bcc7b4ca Remove all dependency to libfltk_gl from Fl_cocoa.mm.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13103 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-31 09:05:26 +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
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
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
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
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
3199e3331b Move Fl_Gl_Window_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:23:51 +00:00
Manolo Gouy
7046e99f96 Move Fl_System_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:12:43 +00:00
Manolo Gouy
26cb08badb Move Fl_Screen_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 14:04:09 +00:00
Manolo Gouy
7ebe8e21b0 Move Fl_Window_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 13:43:18 +00:00
Manolo Gouy
82c7a1baa7 Move Fl_Sys_Menu_Bar_Driver.H from FL/ to src/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12972 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26 07:38:54 +00:00
Matthias Melcher
b8e97d7c28 Doxygen only: fixed all block comments starting with an asterisk to 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-23 20:50:22 +00:00
Matthias Melcher
b1598dc703 Removed macro FL_PORTING, as it has been more confusing than helpful.
The original intention of FL_PORTING was to mark all places in the
source code where changes are required to port FLTK to a new platform.
Thanks to the driver system, this approach has become somewhat
misleading, so I removed all references.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 17:04:18 +00:00