Commit Graph

72 Commits

Author SHA1 Message Date
Manolo Gouy
7fcdea663e Remove apparent breaking of ABI compatibility by class Fl_Device_Plugin
Also, add Doxygen comment this class is not for use outside the library.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@12030 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-16 15:00:02 +00:00
Manolo Gouy
5c93e73a54 Add FL_EXPORT to quiet warning with MS VS2015
see http://www.fltk.org/newsgroups.php?s34326+gfltk.general+v34341

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@12020 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-10-07 07:50:22 +00:00
Manolo Gouy
6eb4354996 Doc change only: clearly document that FLTK has at any time a current drawing surface and a current graphics device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-22 10:15:28 +00:00
Manolo Gouy
1b548ae1d5 Running FLTK in static initializers (cont'd):
the static method Fl_Surface_Device::surface() can be called before main() starts.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16 07:18:34 +00:00
Manolo Gouy
d408133397 Mac OS: make Fl_Display_Device::high_resolution() private because it is not
intended to be part of the FLTK public API.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10746 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-10 10:32:09 +00:00
Manolo Gouy
f9fa74e3af Restored the possibility to call Fl::set_font()
in a global initializer (before main() starts).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-28 22:02:48 +00:00
Manolo Gouy
6ea2b8baea More detailed documentation about drawing to other surfaces than the computer display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10651 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-24 14:20:38 +00:00
Lauri Kasanen
c91e48149b Add support for accelerated alpha blending under X11.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10628 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-16 18:12:28 +00:00
Manolo Gouy
e69467bbc9 Implementation of Fl_Shared_Image::scale(width, height) for scaled image drawing - cont'd
Shorter implementation based on Fl_Graphics_Driver::draw_scaled(Fl_Image *,...).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-11 06:21:17 +00:00
Manolo Gouy
dbde470f8d Added Fl_Shared_Image::scale(width, height) to support scaled image drawing (STR #3185).
Useful for printing, PostScript or PDF output, or retina displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-10 21:06:22 +00:00
Manolo Gouy
c0ed548005 1) More detailed Doxygen documentation for classes Fl_Printer, Fl_Surface_Device, Fl_Display_Device
and Fl_Graphics_Driver.
2) Support call of Fl_Printer::start_job(pagecount) with pagecount=0 when the number of pages is unavailable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10592 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-26 15:38:54 +00:00
Albrecht Schlosser
972c6ff7df Fix a doxygen warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10469 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-25 14:15:36 +00:00
Manolo Gouy
f52b457cc2 Added full support of retina displays on the mac platform.
On such displays, one drawing unit equals two pixels.
The fl_xyline() and fl_yxline() functions are modified to perform
extra operations when drawing to a window on a retina display.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-19 16:23:36 +00:00
Manolo Gouy
bd1446a6eb Fix for STR#3142 where fl_read_image() correctly reads GL data under X11, but ignores them under MSWindows and Mac OS X.
Moreover, fl_read_image() behaves differently with and without OS virtualization for X11 and MSWindows.
The patched function reads whatever is in the rectangle transmitted in arguments, with and without GL data, with and without subwindows,
on ‘true’ OS or on virtualized OS.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10436 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-06 16:48:57 +00:00
Lauri Kasanen
ccfb27a83e Export the xlib graphics driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10409 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 20:11:02 +00:00
Manolo Gouy
56ac442c93 Better separate printer-specific code using virtual Fl_GDI_Printer_Graphics_Driver::draw(Fl_Bitmap*...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-22 14:51:50 +00:00
Matthias Melcher
78039ecb55 Replaced 10302 with 10301 for FLTK_ABI_VERSION
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-06 20:46:14 +00:00
Manolo Gouy
547fc0a3f0 Added Fl_Graphics_Driver::vertex_no(), vertices() and vextex_kind() accessor functions useful
to implement some virtual functions of new graphics drivers.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-02 13:44:52 +00:00
Manolo Gouy
32d4bc4099 Fix STR#2810: removed all uses of function Fl_Device::class_name().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9293 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-18 18:48:29 +00:00
Manolo Gouy
f6cb583e27 Replaced fl_copy_offscreen_with_alpha() by Fl_GDI_Graphics_Driver::copy_offscreen_with_alpha() and
fl_create_offscreen_with_alpha() by Fl_Quartz_Graphics_Driver::create_offscreen_with_alpha()

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9278 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-12 11:55:50 +00:00
Manolo Gouy
5237b2bc76 The virtual member functions of the Fl_Graphics_Driver abstract class that were set to 0 are now set to
do-nothing to ease the construction of specialized Fl_Graphics_Driver subclasses at the application level.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-04 18:18:03 +00:00
Manolo Gouy
da5c3c2cbc Added missing #include <stdlib.h>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9237 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-02-17 09:19:15 +00:00
Manolo Gouy
477febec7b Added missing initialization/deallocation of member variables of class Fl_Graphics_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9235 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-02-16 13:09:34 +00:00
Matthias Melcher
c1caad3e62 STR 2714: remove lint (variables that have the same name as a function in the same scope).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9116 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-02 06:25:13 +00:00
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(to clarify static exception LGPL by changing license references)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19 04:49:30 +00:00
Albrecht Schlosser
385b40988d Fixed Fl_Device destructor (made it virtual). This eliminates the compiler
"warning: 'class Fl_Device' has virtual functions but non-virtual destructor"
on Mac OS X.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8529 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-23 12:49:30 +00:00
Manolo Gouy
f7d7eff7ad STR 2580: Fl::add_fd() now calls fl_open_display() because that is necessary for the fd event
to be recovered by the event loop. Before main() is called, only fl_mac_os_version is 
initialized.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8488 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-01 11:58:36 +00:00
Manolo Gouy
1a4fd8ecc3 The Mac OS Fl_Display_Device constructor now calls fl_open_display(). Thus, all
Mac-specific initializations will be done even before main() is started.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8487 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-28 17:57:19 +00:00
Manolo Gouy
27987c6ee0 Made struct matrix a subclass of Fl_Graphics_Device class to avoid collision
with application-defined names.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8471 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-24 18:02:11 +00:00
Manolo Gouy
d8822aa74a Fl_Device: removed class_name(char *) member function and set class_name(void) virtual.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8467 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-23 14:36:18 +00:00
Fabien Costantini
c7fff91435 Fixed FL_EXPORT missing would fail MSVS builds.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8460 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-21 16:36:10 +00:00
Manolo Gouy
f5f0cf9908 Added scale(), translate(), and rotate() functions to the Fl_Graphics_Driver class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-18 17:22:43 +00:00
Manolo Gouy
199b32d921 Added virtual width(), height(), descent() and text_extents() functions to the Fl_Graphics_Driver
class to prepare for the future definition of graphics drivers that fully deal with text measurement.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8442 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-18 13:39:48 +00:00
Manolo Gouy
cb902eebe3 Replaced global variable fl_fontsize by fl_graphics_driver->font_descriptor().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8395 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-07 13:49:34 +00:00
Manolo Gouy
6a5feafe23 Replaced global variable fl_color_ by a private member of the Fl_Graphics_Driver class,
and a public getter to it: Fl_Graphics_Driver::color().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8384 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-06 12:32:23 +00:00
Manolo Gouy
777ee1b822 Removed global variables fl_font_ and fl_size_ that are now distinct for each graphics device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8374 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-05 13:54:56 +00:00
Manolo Gouy
668dfd109f Fix STR #2535: clipping + coordinate transformations are now managed separately for each
surface device.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8368 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-04 23:32:53 +00:00
Manolo Gouy
31bbbf7ae6 Removed the requirement of declaring class Fl_PostScript_Graphics_Driver friend of
class Fl_Graphics_Driver. This is undesirable because it obliges a user (e.g., Mingodad
and his PDF driver) who develops a new graphics driver to change the FLTK source code.
Just declaring font() public instead of private is enough.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8367 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-04 16:46:41 +00:00
Manolo Gouy
18156dfb30 Removed global variable fl_surface that was not very useful because equivalent
to Fl_Surface_Device::surface().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8360 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-02 12:42:47 +00:00
Manolo Gouy
bb29437427 Removed global variable fl_display_device that was not very useful because equivalent
to Fl_Display_Device::display_device().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8359 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-02 11:29:18 +00:00
Manolo Gouy
34c10b3557 Fix STR #2514. Removes compilation warnings when using gcc 4.4 with -Wall
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-10 12:02:48 +00:00
Manolo Gouy
4beb3b88e8 Renamed Fl_Device::type() to Fl_Device::class_name() to avoid conflict or confusion
with Fl_Widget::type(). Added a setter function Fl_Device::class_name(const char *).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-05 10:21:45 +00:00
Manolo Gouy
98e9042a53 Made sure FL/x.H is included only when necessary.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8130 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-28 18:14:59 +00:00
Manolo Gouy
2a5a3d4e8b Use device abstraction for colors.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8129 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-28 15:33:36 +00:00
Manolo Gouy
431fc4cd5d Use device abstraction for image drawing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8128 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-28 15:17:23 +00:00
Manolo Gouy
b431c1e0e7 Use device abstraction for font and text drawing.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8126 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-28 12:02:23 +00:00
Albrecht Schlosser
0c21b331b0 Added missing 'FL_EXPORT' to lots of classes.
This may not be complete yet...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8022 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-12 23:21:03 +00:00
Manolo Gouy
495b3b5af5 Moved enums Page_Format and Page_Layout to class Fl_Paged_Device
where they are better located. Small reorganization of device-related include files.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8017 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-12 16:13:55 +00:00
Manolo Gouy
fdc59c9870 Improved Doxygen doc of classes Fl_Graphics_Driver, Fl_PostScript_Printer, Fl_System_Printer, Fl_PostScript_Graphics_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7719 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-12 09:25:37 +00:00
Manolo Gouy
862648ebfc Fl_Device.H: added missing Doxygen comments
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7701 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-09-07 12:22:58 +00:00