Commit Graph

40 Commits

Author SHA1 Message Date
Manolo Gouy
62a0bfb88a Modify the FL_PORTING pragma message to make clear implementation is optional.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11627 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-16 08:07:32 +00:00
Manolo Gouy
8711cf8be9 (hopefully) Final driver-based rewriting of the Fl_Image_Surface class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11371 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 16:48:33 +00:00
Manolo Gouy
79f79d292c Remove redundant recursion (as suggested in [fltk.coredev] [porting] Remove redundant recursion)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11335 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-10 16:07:24 +00:00
Matthias Melcher
b6b99d84e9 Fix PicoSDL.
Fixed some issues with Image_Surface and Copy_Surface for PicoSDL. Still have to virtualize the driver concept.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11307 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-07 20:50:18 +00:00
Manolo Gouy
acfeee6d78 New, driver-based Fl_Double_Window implementation.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11303 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-06 21:33:07 +00:00
Manolo Gouy
95d5f00009 Remove warning message about signed/unsigned comparison.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11290 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-05 10:05:14 +00:00
Manolo Gouy
e7a0f7c5d0 Complete the platform-neutral implementation of fl_XXX_offscreen() functions.
It is necessary to have a stack of the fl_begin_offscreen() calls, so that nested
such calls apply fl_end_offscreen() to the matching fl_begin_offscreen().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11289 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-05 07:04:20 +00:00
Manolo Gouy
a9c986752e Complete driver-based implementation of Fl_Image_Surface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11283 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-04 17:47:29 +00:00
Manolo Gouy
8782f2f925 Simpler implementation of Fl_Image_Surface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11278 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 19:16:22 +00:00
Manolo Gouy
8bd3ea6c8a A hopefully clearer implementation of the fl_XXX_offscreen() functions.
The Xlib driver is tricky because it uses two kinds of offscreen buffers.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11277 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 08:32:16 +00:00
Manolo Gouy
8b0dec3406 Use more expressive variable names.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11275 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 05:33:26 +00:00
Manolo Gouy
2d52a3494d Rewrite Fl_Image_Surface with full separation of public API and platform-specific implementation.
File Fl_Image_Surface.cxx still needs to be cut in several platform-specific files.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11273 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 22:10:03 +00:00
Matthias Melcher
53859c584f Add support for SDL as a base library on OS X.
This commit adds the basic setup in CMake to allow SDL as a base
library for FLTK on OS X (and probably for other platforms as well).

The SDL library driver set is derived from yet another new driver
set named 'Pico'. 'Pico' is a base class for a driver that will
allow porting of FLTK with the tinyest amount of effort. This 
implementation of the SDL driver shall be documented very well
to explain the porting process.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 00:54:37 +00:00
Manolo Gouy
a3d54d5d6c Correct the headers included by FL/Fl_Copy_Surface.H, following the new implementation of this class.
This change requires other changes in header inclusions by class Fl_Image_Surface.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11258 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 18:07:12 +00:00
Manolo Gouy
9f91e336a1 Remove "passing NULL to non-pointer argument" warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11249 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-28 06:28:19 +00:00
Manolo Gouy
85b45416e7 Remove signed/unsigned comparison warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11242 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 14:07:22 +00:00
Manolo Gouy
0b406baa0f Rewrite all fl_XXX_offscreen() functions so they use an Fl_Image_Surface object.
These functions become therefore platform-independent.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 13:52:27 +00:00
Manolo Gouy
6287426b65 Rename all remaining src/drivers/XXX.h to XXX.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11226 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 16:12:43 +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
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
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
8deac1e6ba Simpler code to support drawing to high-resolution Fl_Image_Surface object.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13 06:25:34 +00:00
Manolo Gouy
df0b1dcb07 Fl_Window::capture_titlebar_and_borders() returns a double-resolution top image.
Also, Fl_Image_Surface now can draw a scaled Fl_Shared_Image to 
a double-resolution surface.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11160 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12 21:15:48 +00:00
Manolo Gouy
bc83464b64 Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into high-resolution bitmap.
This new member function returns a high resolution bitmap image scaled to the adequate
 drawing size. This allows to create a bitmap image able to fill all pixels of a high resolution
 display. This is functional only for the Mac OS platform. On other platforms, 
 the new member function returns an unscaled bitmap.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12 11:49:32 +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
5866281d4f Set depth of image returned by Fl_Image_Surface::image() back to 3 on Mac OS X.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11119 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-02 08:38:55 +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
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
Matthias Melcher
b86f2f735a Replaced static initializer with Fl_OpenGL_Display_Device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11008 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-18 22:55:46 +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
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
430636e91d X11: fix crash when creating an Fl_Image_Surface object before fl_open_display() but after Fl::visual().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10866 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-24 08:04:07 +00:00
Manolo Gouy
fe61175546 Mac OS: fixed the Fl_Image_Surface class that produced flipped images when
the app draws directly to it, without using Fl_Image_Surface::draw(Fl_Widget*, int, int).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10865 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-23 13:51:42 +00:00
Manolo Gouy
2af2d88dce Mac OS: slightly simpler code for Fl_Image_Surface class.
The new code does not call fl_begin_offscreen() in set_current().
That is safer because there is not always a matching fl_end_offscreen().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-23 05:16:57 +00:00
Manolo Gouy
da5dff32ea Sets the return type of Fl_Image_Surface::image() to its real value, Fl_RGB_Image.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10200 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-18 01:22:16 +00:00
Manolo Gouy
454fb25fa5 Reset file header and footer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-24 16:19:30 +00:00
Manolo Gouy
07dd8ba328 Added copy/paste from/to FLTK applications of graphical data.
Added Fl_Image_Surface class to draw into an Fl_Image object.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-05-23 16:47:21 +00:00