Commit Graph

36 Commits

Author SHA1 Message Date
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
1b5e231c90 Rename Fl_Graphics_Driver::set_gc(void*) to gc(void*) and Fl_Graphics_Driver::get_gc() to gc().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 12:40:24 +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
Manolo Gouy
c5994ebb6f Fix drawing of window decoration.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11183 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-16 22:15:47 +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
Manolo Gouy
bf7c25a1d7 Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into high-resolution bitmap.
Also, change arguments of void Fl_Window::capture_titlebar_and_borders() from
Fl_RGB_Image to F_Shared_Image so, in the future, scaled images having
a drawing size distinct from a pixel size can be returned, to support
high-resolution displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12 16:17:40 +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
Albrecht Schlosser
0a6be0a83f Fix compiler warnings (STR 2988), porting from branch-1.3.
This commit is the accumulated patch introduced in branch 1.3
in svn r 11094, 11095, and 11096.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 04:33:54 +00:00
Manolo Gouy
1c3c544edf Added Fl_Window::capture_titlebar_and_borders a new private member function
that triggers a warning when FL_PORTING is ON and with a default platform-neutral
implementation.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28 11:51:07 +00:00
Matthias Melcher
780f43a4f1 Removed all references to Quartz driver files from library headers in Xcode. Works in Xcode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11065 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-27 22:35:58 +00:00
Manolo Gouy
3235168654 Better use of FL_PORTING preprocessor variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11004 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-11 09:42:50 +00:00
Manolo Gouy
eeb65bef23 1) Replicate in branch-1.3-porting all recent changes of branch-1.3
2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders()
that contains all the platform-specific code of all operations related to drawing
window borders and title bars. What is platform-specific and what is not
is therefore much clearer, to ease porting.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11002 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-10 19:08:16 +00:00
Manolo Gouy
511ec0bb3d Mac OS: have Fl_Paged_Device::print_widget() print top-level windows with
rounded bottom corners as they appear on screen.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10916 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-11-19 16:33:44 +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
659480f28b Matches CGContextSaveGState() with corresponding CGContextRestoreGState().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10462 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-19 10:29:30 +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
Manolo Gouy
1ce59d2caa Removed unnecessary clip when printing a sub-window.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10116 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-03-05 12:55:34 +00:00
Manolo Gouy
291a25f547 It's better to reset the widget's damage bits after Fl_Paged_Device::print_widget() (cont'd).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10109 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-20 21:16:28 +00:00
Manolo Gouy
079d029379 It's better to reset the widget's damage bits after Fl_Paged_Device::print_widget().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10108 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-20 20:22:43 +00:00
Manolo Gouy
0d04ce9f58 Fixes a typo introduced at r.9915.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9916 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-05-15 10:50:10 +00:00
Manolo Gouy
75076f6a40 Fixes a MSWindows' specific bug where GL windows where not printed at their correct location.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-05-13 16:53:59 +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
06e17886ed Documentation fixes and a few indent corrections.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8621 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-23 15:46:30 +00:00
Manolo Gouy
1ad8cf320d Fixed a problem in the WIN32 version of Fl_Paged_Device::print_window_part() and
Fl_Paged_Device::print_window() where the window didn't redraw well in some
cases after printing.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8606 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-18 20:47:32 +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
8072ef8ce8 Replaced a bunch of delete by delete[] where it's legitimate.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8362 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-02 18:39:34 +00:00
Manolo Gouy
40624df4a9 Removed iff's from Doxygen comments.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8361 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-02 17:53:14 +00:00
Manolo Gouy
45e539fff8 fl_draw_image() on Mac OS and to a printer requires the image data to be kept until the
page is finished. Thus, we now duplicate this data when the output is a printer, so the
caller of the function does not have to take into account this Mac OS specificity.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8349 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-01 10:13:54 +00:00
Manolo Gouy
b42f5ebdbf Fl_Paged_Device::print_window_part() doesn't need special WIN32 processing any more.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8343 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-31 17:17:54 +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
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
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
Greg Ercolano
bc224390ea Small mods to allow SGI builds.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7708 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-01 00:30:08 +00:00
Manolo Gouy
4aa1da7f0e Changed file properties
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7623 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-27 17:52:27 +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