Commit Graph

416 Commits

Author SHA1 Message Date
Manolo Gouy
ebae29222d Fl_OpenGL_Graphics_Driver : use gl_font()/gl_draw() to draw text in a GL window - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10 17:21:14 +00:00
Manolo Gouy
723012c2bd Fl_OpenGL_Graphics_Driver : use gl_font()/gl_draw() to draw text in a GL window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10 15:33:14 +00:00
Albrecht Schlosser
3145e06585 Fix CMake config.h and compiler warnings.
Fixed warnings: -Wsign-compare, -Wunused-but-set-variable.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-23 15:40:25 +00:00
Manolo Gouy
461750c38e X11 platform: Add optional use of the pango library to draw text, gaining the possibility to draw text in any script supported by Unicode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-21 15:05:02 +00:00
Manolo Gouy
00ebcd23aa Fix Fl_Xlib_Graphics_Driver::delete_bitmask() : the pixmap argument is to be deleted by XFreePixmap().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-21 14:52:16 +00:00
Manolo Gouy
d0f6ef5d32 Improve Fl_Graphics_Driver::copy_offscreen() so it accepts an Fl_Offscreen argument even if not created by fl_create_offscreen().
With this, fl_copy_offscreen() can be used with any drawing surface (e.g., PostScript) and any Fl_Offscreen
argument (e.g., returned by Fl_image_Surface::offscreen()).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12148 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-16 16:06:07 +00:00
Manolo Gouy
1fc01c7cbb Implement a platform-independent version of Fl_Graphics_Driver::copy_offscreen() usable when drawing to PostScript.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-14 18:54:12 +00:00
Manolo Gouy
40f977ccce Simpler code path for a member function calling another member function of same class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12141 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-09 09:48:56 +00:00
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
Matthias Melcher
0a1eed150a Fixed OS X SDL double buffering issue and mouse dragging.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12139 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-06 23:21:52 +00:00
Manolo Gouy
21781c3fe9 Add --enable-print option to configure to allow building without print support on X11 platforms.
Also, the NO_PRINT_SUPPORT preprocessor variable is renamed FL_NO_PRINT_SUPPORT.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12131 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-01 17:31:29 +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
4755ace9e9 X11 platform: fix STR#3353 and correct drawing of depth-2 RGB images when XRender extension is present.
Fl_RGB_Image's of depth-2, that is, monocolor and transparent, were not drawn using the XRender extension,
when present, as are depth-4 images. With this change they are.
A by-product of this change is that it fixes an erroneous drawing (STR#3353) that occurred when
the image expands outside the window.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12124 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-28 11:32:59 +00:00
Manolo Gouy
e24409e3ed Remove change at r.12120 because STR#3353 note #6 shows it is not OK.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12122 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-19 08:01:06 +00:00
Manolo Gouy
18d478055e Fix for STR#3353: bad depth-2 image drawing when the window is resized smaller than the image.
The problem is specific to the X11 platform. The cause is that depth-2 images were not considered
in a previous change (r.10628) that introduced transparent image drawing with alpha blending.
Depth-2 images can be processed just as depth-4 images with alpha-blending.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12120 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-18 15:32:33 +00:00
Manolo Gouy
5cf12d94cb X11 platform: Fl_RGB_Image::mask_ is always 0, so remove code to process mask_ in Fl_Xlib_Graphics_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12119 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-18 15:02:34 +00:00
Manolo Gouy
d2378be968 Remove commented out code for what used to be : static int start_rgb()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12118 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-18 14:41:20 +00:00
Manolo Gouy
4b6dfbfb4c WIN32 platform: Fix drawing of depth-4 scaled image when can_do_alpha_blending() is false.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12116 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-17 13:52:16 +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
c530cdeda6 Use Fl_Graphics_Driver::default_driver() when convenient.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12088 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-09 09:49:48 +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
3e8e2ea62e Replace erroneous bitwise & by logical &&
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-30 20:55:31 +00:00
Manolo Gouy
3ae2b1d74e Add virtual Fl_RGB_Image* Fl_Image::as_rgb_image() to detect whether an Fl_Image is derived from Fl_RGB_Image
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12061 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-30 07:26:13 +00:00
Manolo Gouy
bbfd919773 WIN platform: implement Fl_GDI_Graphics_Driver::draw_scaled(Fl_Image *img,int,int,int,int) when img is a Fl_RGB_Image
Implementation uses StretchBlt() when img->d() is  1 or 3 and AlphaBlend() when it is 2 or 4.
This should turn useful to draw images on HighDPI displays using the display's true resolution.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12053 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-22 11:42:20 +00:00
Manolo Gouy
8970b21aa2 Remove erroneous uses of sizeof(filename) where filename is a char* and not a char array
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12051 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-19 17:25:53 +00:00
Manolo Gouy
da276e6efa Add one more argument to virtual Fl_System_Driver::file_browser_load_filesystem() giving length of the filename argument
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-19 08:40:41 +00:00
Manolo Gouy
ec41e1a59b Make sure "/" is always in the list of file systems reported by Fl_File_Chooser (Unix/Linux platform)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12049 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-19 08:31:48 +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
0250b4af12 Remove Fl_Xlib_Graphics_Driver::global_gc() because identical to Fl_Graphics_Driver::global_gc()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12019 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-07 06:12:33 +00:00
Manolo Gouy
07f2fcd308 Fl_Graphics_Driver::global_gc() is already implemented in Fl_Graphics_Driver.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@12018 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-07 06:04:28 +00:00
Manolo Gouy
311c7d9b24 Correct function Fl_GDI_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@12017 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-06 17:03:30 +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
eabbc41ef1 Avoid compilation warnings with -Wmaybe-uninitialized
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-29 13:28:40 +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
Albrecht Schlosser
34f5e4f752 X11: More explicit warning when using rotated text w/o Xft.
The warning is issued to stderr only once (previously: every time rotated
text was used).



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11978 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-25 11:23:27 +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