Commit Graph

62 Commits

Author SHA1 Message Date
Manolo Gouy
fa9a33eaee Beginning of Albrecht's plan for Fl_Window and Fl_Window_Driver classes.
Still unclear whether the implementation of the flush() functions follows the plan.
The Fl_Printer class is fully rewritten under the driver model.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11364 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-18 18:20:11 +00:00
Manolo Gouy
f11fe83e5e Rewrite of Fl_Printer under the driver model - first step
Next step will involve moving code to new, platform-specific files.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11350 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-11 20:32:48 +00:00
Albrecht Schlosser
d67e9ccb73 Fix compiler warnings (STR #2988) - final commit.
This commit includes all fixes from branch-1.3 (svn r 11243) and additional
fixes for warnings that crept in during the porting efforts, particularly
C++ ("//") comments in C and included header files, and some more.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 17:27:21 +00:00
Manolo Gouy
81bd759b53 Remove Fl_Printer::driver() that is already implemented in a parent class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11236 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 20:27:41 +00:00
Manolo Gouy
350cca5446 Use the FL_DOXYGEN preprocessor variable to remove all Doxygen warnings
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 17:17:20 +00:00
Manolo Gouy
682f950796 Create class Fl_Widget_Surface that supports draw(Fl_Widget *, int, int).
This simplifies the implementation of Fl_Copy_Surface and Fl_Image_Surface
which now are made to derive from Fl_Widget_Surface.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11220 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 12:51:47 +00:00
Manolo Gouy
7f17b915db Remove the useless pseudo run-time type information supported by the Fl_Device class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11217 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25 17:56:48 +00:00
Manolo Gouy
f33b45f1d3 Remove all uses of the fl_gc global variable. Towards a clean driver model.
fl_gc remains usable by the application as a hook into the system.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-18 16:21:51 +00:00
Matthias Melcher
5d1df0e789 Details on PORTME items. Move fl_parse_color() to screen drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 12:57:00 +00:00
Matthias Melcher
50ee3bcd66 Mark places that need to be refactored with // PORTME:
Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11 12:02:36 +00:00
Manolo Gouy
a278a478fd New CMake option OPTION_PRINT_SUPPORT - continued
The previous version (r11127) had FL/Fl_Printer.H include config.h
That is not allowed. This commit repairs that.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11130 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-06 05:56:38 +00:00
Manolo Gouy
a8a777ff26 New CMake option OPTION_PRINT_SUPPORT turned ON by default
When the option is off, file config.h defines NO_PRINT_SUPPORT 
which in turn produces a library without print support, that is, 
class Fl_Printer does nothing.
When off, the FLTK library is somewhat smaller.
Can be turned off only when the X11 library is used.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11127 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-05 16:34:42 +00:00
Matthias Melcher
b1520373ae Created pseudo code for all FL_PORTED section so that FLTK compiles and links (Xcode, hello, other C flags: -D FL_PORTING -U __APPLE__ -U __APPLE_QUARTZ__)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10993 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04 23:09:32 +00:00
Matthias Melcher
acf6c881d3 Updated platform specific #if's to report unimplemented code when compiling with FL_PORTING defined and WIN32 and __APPLE__ undefined>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10989 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-03 22:54:29 +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
Manolo Gouy
4e53b4f616 Documented how it is possible to change the default paper size for a printer on the Unix/Linux platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10526 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-19 14:16:18 +00:00
Manolo Gouy
ffdc36dcb6 Print at high res with Fl_Paged_Device::print_window_part() when using a retina display
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10393 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-26 15:23:03 +00:00
Manolo Gouy
1a9b72429e Improved how the system-dependent global variable fl_gc is declared
with or without declaring the FL_INTERNALS preprocessor variable.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-14 15:17:32 +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
Manolo Gouy
258949918c Added reference to print_window() to the doc of the Fl_Printer class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8830 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-06-20 07:53:06 +00:00
Manolo Gouy
b87a0b7390 Added missing FL_EXPORT class declarations.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8699 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-20 16:39:06 +00:00
Manolo Gouy
0c02f2dabd Added Fl_Printer::driver(void) function that can be useful.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8565 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-06 13:43:09 +00:00
Manolo Gouy
265f213d23 Added function Fl_Printer::set_current() that may be useful.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8563 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-06 12:11:26 +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
Manolo Gouy
7c932c25d6 Added the possibility to call Fl_Paged_Device::scale(factor) with a single argument.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8366 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-04 09:17:45 +00:00
Manolo Gouy
535f0c2d3b Introduction of the Fl_Printer class requires all member functions of class
Fl_Paged_Device to be virtual. That is done here.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8342 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-31 15:53:23 +00:00
Manolo Gouy
1993f08a33 Added Fl_Printer::add_image(const ichar*) needed for correct memory usage by
Fl_Paged_Device::print_window_part().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8341 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-31 13:02:55 +00:00
Manolo Gouy
ead3432f9b Classes Fl_Printer and Fl_Postscript_Printer: added missing class_name() calls.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-06 08:46:54 +00:00
Manolo Gouy
9f61a96b85 Declared protected the constructors of classes Fl_System_Printer and Fl_Postscript_Printer,
so end users only employ the system-independent Fl_Printer class.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-06 06:06:57 +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
6320a7c680 Fix in Doxygen comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-04 22:04:54 +00:00
Manolo Gouy
e11677bfaf Better position of the Fl_Printer class in the Fl_Device class hierarchy.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-04 21:42:02 +00:00
Matthias Melcher
39818616b9 Fixed case typo
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-01 19:05:30 +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
a8530c73fa Adopted use of FL_LIBRARY #define symbol under Mac OS X. This allows to compile
client applications without including Mac OS system headers, with a gain in speed of 
compilation and portability. The source files of all FLTK libraries must now be compiled with 
-DFL_LIBRARY under Mac OS X. Make, CMake and Xcode project support files
have been modified accordingly.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-23 14:24:29 +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
39169af7dd Removed Doxygen warning from file src/Fl_Printer.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7894 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-26 10:22:40 +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
dd823b703c Added missing Doxygen doc
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7662 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-01 15:35:28 +00:00
Manolo Gouy
9316ab2cb8 Slight documentation improvement for 'class' Fl_Printer
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7660 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-01 14:41:00 +00:00
Manolo Gouy
26049351e0 Better device hierarchy with surfaces and graphics drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-27 17:20:18 +00:00
Manolo Gouy
d0b1cc30f7 Removed multiple inheritance: back to r. 7519 exactly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7522 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-18 06:57:37 +00:00
Manolo Gouy
913530758a Improved the hierarchy of Fl_Device subclasses to allow separation of platform-specific devices.
This introduces multiple inheritance.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7520 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-16 20:19:09 +00:00
Albrecht Schlosser
6359f8be73 Made the printer dialog customization strings platform independent, so that
they can be set on all platforms to avoid platform-specific end user code.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7480 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-11 18:42:35 +00:00
Manolo Gouy
a9b13f973b Added an Fl_Printer destructor that's useful under MSWin when printing is aborted
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7471 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-08 16:58:28 +00:00
Manolo Gouy
24b8386bf1 Fl_Gl_Device_Plugin: more device-independant API
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7458 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-06 17:38:27 +00:00
Manolo Gouy
62bf6910ac Fl_Printer.H: clarify transparency issues in doc.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7379 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-31 11:02:58 +00:00
Manolo Gouy
065dfed2c3 Added platform-specific information to Fl_Printer doc.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7364 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-30 12:09:09 +00:00
Manolo Gouy
b3d4755286 Fl_Printer & Fl_PSfile_Device : added some implementation details in doc
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29 12:52:28 +00:00
Manolo Gouy
24c6e23e25 print_panel.cxx: allow customization of "Print To File" string
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7355 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29 12:15:22 +00:00