Commit Graph

712 Commits

Author SHA1 Message Date
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
Matthias Melcher
a9fd08ff5a Doxygen: created Group to document drivers, disabled by default
Uncomment `ENABLED_SECTIONS += DriverDev` in documentation/Doxyfile.in
to enable driver documentation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 16:47:40 +00:00
Matthias Melcher
8c993648db Android: Android Developer Documentation would work but needs some changes in Doxyfile:
- if develoer doc is wantedn, add 'ENABLED_SECTIONS       = AndroidDev'
- currently, Doxyfile enables everything related to drivers, so remove
  'EXCLUDE  = /Users/matt/dev/fltk-1.4.svn/src/driversxx/'
  
With this, we get a sparsely filled module named 'Android Developer Documentation'
and a lot of other driver related classes, which could also be encapsulated
in doxygen '@if DriverDev'.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12967 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 10:46:28 +00:00
Matthias Melcher
8923162f13 Android: added a few more Doxygen comments
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 10:18:58 +00:00
Matthias Melcher
f827a9eaf3 Android: fixed fl_beep to plat different sound for differen beep types, testing Doxygen to generate driver developer documentation
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 10:06:04 +00:00
Matthias Melcher
7617a46b26 Android: roughly fixed Fl::grab() to make menus easier to navigate
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12960 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 18:14:13 +00:00
Matthias Melcher
333e718ae7 Android: Windows are now centered on screen if no position is defined, dialogs pop up in a more logical position.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12958 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 17:02:47 +00:00
Matthias Melcher
22c21fa840 Android: Lazy scroll is working. AT some point we should implement fast scrolling
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12957 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 13:31:38 +00:00
Matthias Melcher
4ba6b96471 Android: Teaching FLTK to beep. test/button works.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12955 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 12:36:02 +00:00
Matthias Melcher
a119928455 Android: Implemented window positioning and sizing
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12954 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-21 11:54:32 +00:00
Albrecht Schlosser
63a48a399a Remove obsolete #include statement (finally)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12952 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-20 16:50:46 +00:00
Albrecht Schlosser
ec0ac46aa8 Move platform specific shortcut code to platform drivers.
Tested on Windows and Linux (not tested on MacOS/Android).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-20 15:52:58 +00:00
Matthias Melcher
e1bf7b9202 Android: Clearing the desktop when a window is hidden.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12949 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-19 16:29:20 +00:00
Manolo Gouy
39e2952e83 Complete construction of Fl_Image_Surface_Driver with Fl_Offscreen brought by the caller.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12940 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-08 12:17:00 +00:00
Manolo Gouy
f3971319b9 MacOS: have Fl_OpenGL_Display_Device::capture_gl_rectangle() capture also the overlay of GL windows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12938 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-30 20:20:47 +00:00
Manolo Gouy
8ef4035b6d Replace Fl_Paged_Device::newPrinterDriver() by Fl_Printer::newPrinterDriver().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12937 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-25 06:54:03 +00:00
Manolo Gouy
ce71c4b679 Add Fl::screen_scale(int) function to get the scaling factor value of a screen.
This allows to keep class Fl_Screen_Driver away from the public API.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12926 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-22 17:00:27 +00:00
Manolo Gouy
aba87e8bb0 MacOS: move some code from file Fl_cocoa.mm to file Fl_Darwin_System_Driver.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12918 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12 17:01:33 +00:00
Manolo Gouy
4c45bec127 MacOS: move some code from file Fl_cocoa.mm to file Fl_Cocoa_Window_Driver.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12917 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12 16:59:03 +00:00
Manolo Gouy
6fd216d759 MacOS: move timer-related code from file Fl_cocoa.mm to file Fl_Cocoa_Screen_Driver.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12916 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12 16:44:31 +00:00
Manolo Gouy
8b7f7c78b2 Remove public member function Fl_Window_Driver *Fl_Window::driver() so class Fl_Window_Driver is not in FLTK public API.
This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win).
The purpose is to have class Fl_Window_Driver outside from FLTK ABI.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12 09:36:36 +00:00
Manolo Gouy
a0d7addea8 Fix fl_overlay_rect() for MacOS platform when GUI is scaled.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12911 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09 15:22:26 +00:00
Manolo Gouy
2b7aac129b Rename Fl_Paged_Device::start_job() to begin_job() and Fl_Paged_Device::start_page() to begin_page().
The new function names begin_job() and begin_page() better match end_job() and end_page() with which
they must be used by pair.
The old names start_job() and start_page() are maintained for API compatibility with FLTK 1.3.x

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12910 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09 14:16:35 +00:00
Manolo Gouy
8081899934 Remove a bunch of useless #include <FL/Fl_Printer.H> statements.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12909 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-09 12:27:38 +00:00