Commit Graph

102 Commits

Author SHA1 Message Date
Manolo Gouy
43935dffeb Add static void Fl_Surface_Device::push_current(Fl_Surface_Device *new_current) and pop_current() to set/unset the current drawing surface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-07 15:09:52 +00:00
Manolo Gouy
5bb4e853c7 Remove Fl_Image_Surface::end_current() to be called after usage of the drawing surface.
This ensures API compatibility with FLTK 1.3 where Fl_Surface_Device->set_current()
is used to change the current drawing surface.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12125 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-30 07:09:48 +00:00
Manolo Gouy
2baeda448b Replace global fl_line_width_ used only by X11 platform by Fl_Xlib_Graphics_Driver::line_width_
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12114 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-16 19:56:22 +00:00
Manolo Gouy
3b7d9185ef Remove compilation warning apparent with -Wnull-conversion
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12108 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-14 15:00:37 +00:00
Manolo Gouy
2fd5752b89 Fl_Quartz_Graphics_Driver::uncache() should also reset mask_.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12095 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-10 19:58:20 +00:00
Manolo Gouy
f08c414485 Reuse the same "data provider release callback" several times.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12087 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-09 07:00:16 +00:00
Manolo Gouy
a5b584f8f6 MacOS: use less temporary copies of image data for image printing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12086 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-08 21:59:26 +00:00
Manolo Gouy
6eea76e187 Slightly improve the parameter list of member function int Fl_Graphics_Driver::start_image(...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12079 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-05 06:00:52 +00:00
Manolo Gouy
0c31411df9 Rename Fl_Bitmap::start() to Fl_Bitmap::prepare().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12078 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-03 21:28:09 +00:00
Manolo Gouy
95a9edcb55 Factorize repeated code across platform-specific graphics drivers and image types
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12077 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-03 16:34:13 +00:00
Manolo Gouy
d3f1a3c167 Replace declarations such as "friend class Fl_Xlib_Graphics_Driver;" by platform-independent declarations.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12076 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-02 21:08:15 +00:00
Manolo Gouy
7a81273a0c MacOS: finer control of the compilation conditions under which Core text and ATSU are used or not.
The compilation conditions depend on the targeted architecture, what version of the SDK is used,
and what MacOS deployment version is used. Under most conditions, a single API is possible,
and no pointer-to-member function is used.
But the code supports building apps that can run both APIs depending on the version of the
running MacOS.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12025 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-14 09:17:15 +00:00
Manolo Gouy
2b5fbbacfc Add public: to definition of class Fl_Quartz_Printer_Graphics_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12024 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-11 07:17:04 +00:00
Manolo Gouy
04f1e4d1aa Replace .h by .H in #include "Fl_Quartz_Graphics_Driver.h"
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12023 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-11 07:14:47 +00:00
Manolo Gouy
a6a79d80f3 Re-organisation of code to support CoreText and ATSU for drawing text.
We avoid using one CoreText-related and one ATSU-related derived classes
of class Fl_Quartz_Graphics_Driver. Thus, class Fl_Quartz_Graphics_Driver can
be derived if useful and still support both text APIs.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12022 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-10 21:19:39 +00:00
Manolo Gouy
b20e646676 Correct function Fl_Quartz_Graphics_Driver::gc(void*) that did not update the global variable fl_gc correctly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12016 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-06 16:59:37 +00:00
Manolo Gouy
04c20514f6 Replace a few global variables by members of the Fl_Quartz_Graphics_Driver class
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11985 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-26 16:57:37 +00:00
Manolo Gouy
606cdf1c60 These files are no longer useful.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11984 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-26 16:49:13 +00:00
Manolo Gouy
5b5ba880f5 MacOS platform: the printer's graphics driver should also call Fl_Graphics_Driver::newMainGraphicsDriver()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11982 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-26 16:43:10 +00:00
Manolo Gouy
7698a4b98e MacOS platform: centralize check whether a font has been set before drawing text
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-26 06:26:59 +00:00
Manolo Gouy
b3c16b4911 Mac OS platform: restore usability with SDK 10.3 and 10.4
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11973 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-24 06:21:37 +00:00
Manolo Gouy
0250c5a98a Move font-related member functions from Fl_Screen_Driver to Fl_Graphics_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-23 13:56:07 +00:00
Manolo Gouy
63e33b1be3 Fl_Quartz_Graphics_Driver: separate CoreText- and ATSU-based code using new, derived classes.
FLTK for the Mac OS platform draws text using 2 distinct system APIs depending on the 
version of the running OS. Classes Fl_CoreText_Graphics_Driver and Fl_ATSU_Graphics_Driver are defined
and implement the same virtual functions of class Fl_Quartz_Graphics_Driver using
CoreText and ATSU, respectively. The app allocates an object of one of these derived
classes according to the running OS version.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11967 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-23 07:47:57 +00:00
Manolo Gouy
0e33655853 Fl_Screen_Driver class: its platform dependent member functions should not be static.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11966 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-22 13:22:03 +00:00
Manolo Gouy
02535d1222 Rewrite Fl::set_fonts(), Fl::get_font_sizes(), Fl::get_font_name() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11965 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-22 07:44:34 +00:00
Manolo Gouy
cd7b6a8e87 Remove possible warnings when compiling with -Wundef
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11942 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-13 10:56:19 +00:00
Manolo Gouy
4180cf5360 Add missing delete statements in ~Fl_XXX_Copy_Surface_Driver() and ~Fl_XXX_Image_Surface_Driver().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11891 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-24 08:53:29 +00:00
Manolo Gouy
9c8c062d6b Use the HAS_ATSU preprocessor variable once more
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11883 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-22 16:14:39 +00:00
Manolo Gouy
cf751f49de Set svn file properties.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11693 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-24 19:49:06 +00:00
Manolo Gouy
034cfc94a3 Move Fl_X::set_high_resolution() to classes Fl_Graphics_Driver and Fl_Quartz_Graphics_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11656 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-19 12:46:07 +00:00
Matthias Melcher
cdf85352c4 virtualized some Region calls.
There is a deeper issue here: regions should be handled by the graphics driver that is associated with the Fl_Window of this widget... .

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11643 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 15:36:23 +00:00
Matthias Melcher
c9d3eabf4e virtualized Fl::set_color and free_color.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11642 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 15:01:20 +00:00
Matthias Melcher
9ae4a99081 virtualized Fl_Graphics_Driver::global_gc(), a function that should probably not exeist.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 14:45:25 +00:00
Manolo Gouy
156d2e4053 Continue removing from class Fl_X what is not window-related.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11612 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-15 11:09:10 +00:00
Manolo Gouy
a409f7c338 Fix Quartz-specific graphics problem apparent in tree demo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11604 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-14 20:41:16 +00:00
Albrecht Schlosser
d56e2ec9f0 Fix typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11560 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09 10:42:17 +00:00
Manolo Gouy
6b6c71265f Complete removal of platform-dependent code from fl_set_font.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11512 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-02 15:37:03 +00:00
Manolo Gouy
09e0864f3e Remove #include directive for Fl_Font.H from mac.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11510 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-02 13:53:41 +00:00
Manolo Gouy
d011d5b4f0 Replace src/Fl_Font.H by one file for each platform.
This file contained nearly only platform-specific code.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11507 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-02 13:22:48 +00:00
Manolo Gouy
d0c8ff09f0 Make constant CoreText_threshold local to file Fl_Quartz_Graphcs_Driver_font.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11504 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-02 09:41:11 +00:00
Manolo Gouy
4d4b43a6bc Move function Fl_X::calc_mac_os_version() to class Fl_Darwin_System_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11502 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-02 07:29:09 +00:00
Manolo Gouy
7b37960d95 Move intersect_region_and_rect() to the Quartz driver code where it belongs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11500 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-02 06:42:34 +00:00
Manolo Gouy
d67f395031 Rewrite functions XRectangleRegion(), XDestroyRegion() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11479 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-30 20:16:40 +00:00
Manolo Gouy
244a1a5bc4 Remove src/drivers/Quartz/Fl_Quartz_Display_Device.{H,cxx}
These files contain no code and are unlikely to become necessary in the future.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11451 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-28 10:53:37 +00:00
Manolo Gouy
c7b1591486 Remove a few uses of the fl_graphics_driver global variable
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11439 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 23:06:08 +00:00
Manolo Gouy
ba239c1ea1 Remove #include <FL/x.H> from all public include file (there remained one).
This way, application programs will not have to include system headers.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11433 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 17:49:54 +00:00
Manolo Gouy
915d6c643a Isolate the definition of the 3 public, OS-dependent types (Fl_Offscreen, Fl_Region, Fl_Bitmask).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11432 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 14:36:11 +00:00
Manolo Gouy
2530120d7d Rewrite Fl::handle_(int e, Fl_Window* window) and Fl_Widget::damage() to remove their platform dependent parts
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11419 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-24 22:26:13 +00:00
Manolo Gouy
06e7d0092d Rename Fl_XXX_Image_Surface.cxx to Fl_XXX_Image_Surface_Driver.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11378 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 18:51:15 +00:00
Manolo Gouy
f55363776f Deleted because renamed to src/drivers/XXX/Fl_XXX_Copy_Surface_Driver.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 18:44:37 +00:00