Commit Graph

106 Commits

Author SHA1 Message Date
Manolo Gouy
09cc0a9aab Build with SDL driver needs to know also the Fl_Image_Surface class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11299 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-06 18:53:10 +00:00
Albrecht Schlosser
5c1e50b128 Fix include statements.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11298 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-06 14:31:33 +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
79c64c461d Fix a problem seen in fluid on the Mac OS platform - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11286 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-04 22:41:42 +00:00
Manolo Gouy
a46e324405 Fix a problem seen in fluid on the Mac OS platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11285 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-04 22:30:18 +00:00
Manolo Gouy
7c5c803ca9 Fix bad #include directives
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11284 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-04 18:01:39 +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
d1d57d1253 Fix Fl_Xlib_Graphics_Driver::draw(Fl_RGB_Image *,...) that was incompletely changed in earlier commit.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11280 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-04 08:20:55 +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
78a539f695 Fix error in an #include directive.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11276 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 06:46:02 +00:00
Matthias Melcher
fcdc7f1212 Made Pico/SDL setup compile and run some minimal code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11274 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 00:07:17 +00:00
Albrecht Schlosser
76b240d79d Fix negative 'd' and 'ld' args in fl_draw_image() (X11 + Windows).
This commit fixes a regression in FLTK 1.3.x, where negative values
of 'd' (pixel delta) and 'ld' (line delta) didn't work anymore under
Unix/Linux (X11) and Windows.

With this commit the regression is fixed on all supported platforms.

Equivalent of branch-1.3, svn r11270.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11272 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 16:19:18 +00:00
Manolo Gouy
39fdbecd16 Finalize new implementation of Fl_Copy_Surface.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11267 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 12:36:37 +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
f14de4048e Fix a few Doxygen warnings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11261 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 21:28:13 +00:00
Manolo Gouy
2072fcd698 Allow fl_draw_image() with negative L parameter for Mac OS - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 21:10:16 +00:00
Manolo Gouy
9c77129a28 Allow running fluid -c without opening the X11 display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11259 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 20:44:56 +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
7decb3d3b2 Rewrite the Fl_Copy_Surface class with strict separation of public API and platform-related code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11257 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 17:20:25 +00:00
Matthias Melcher
4af165781f Added missing virtua function headers
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11256 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 16:06:11 +00:00
Manolo Gouy
c646ecc0d3 Have fl_draw_image(buf,X,Y,W,H,D,L) support negative D and/or L arguments on Mac OS X - continued.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11255 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 15:22:37 +00:00
Matthias Melcher
95824506fe Moved timer code to screen drivers. Not sure if this should be in System Drivers instead.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-01 00:54:21 +00:00
Manolo Gouy
6d34c647ca Accept fl_draw_image(buf, X,Y,W,H,D,L) with negative D and/or L arguments on the Mac OS platform.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11251 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-29 17:35:49 +00:00
Manolo Gouy
1883e9d386 Remove declaration of Fl_Quartz_Graphics_Driver::create_offscreen_with_alpha() no longer used.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11248 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27 18:05:36 +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
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
c9eba2c3b5 Correct \file info for Doxygen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11234 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 17:29:42 +00:00
Manolo Gouy
d8ac1b45c1 These files have been renamed from .h to .H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11233 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 17:25:38 +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
e8a8cfc0b1 More .h renamed to .H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 17:13:18 +00:00
Manolo Gouy
fe1a32a0ff Change #include following new file location
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11229 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 16:29:24 +00:00
Manolo Gouy
83dddfbfab Rename remaining src/drivers/XXX.h to XXX.H - continued
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11227 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 16:18: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
df18e581af Rename Fl_Quartz_Display_Device.h to Fl_Quartz_Display_Device.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11225 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 15:59:22 +00:00
Manolo Gouy
4df3376ba9 Rename Fl_Xlib_Graphics_Driver.h to Fl_Xlib_Graphics_Driver.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11224 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 15:57:11 +00:00
Manolo Gouy
cf4825eedf Move PostScript-support files to src/drivers/PostScript/
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11222 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26 15:24:08 +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
31793cbdba Remove the global variable fl_mask_bitmap - put it in the graphics driver's virtual API.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11216 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25 10:14:28 +00:00
Manolo Gouy
14759eb387 Mac OS platform: make fl_draw_image() draw correctly depth-4 images with transparent areas.
This simplifies the drawing of Fl_Pixmap's.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11214 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25 07:01:10 +00:00
Manolo Gouy
941c301ceb Fix Fl_RGB_Image::uncache() and Fl_Bitmap::uncache().
It is not possible to use fl_graphics_driver in these functions
because when they are called *fl_graphics_driver may have been
deleted. A solution is to use  Fl_Display_Device::display_device()->driver()
instead which is always valid.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-23 20:37:22 +00:00
Albrecht Schlosser
07ad8383ed Fix include files.
Note: ../../config_lib.h also includes <config.h>.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11199 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-20 15:56:13 +00:00
Matthias Melcher
093c0c7f73 Fixes for X11
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 22:43:40 +00:00
Matthias Melcher
399501783c Add example code to Fl_Window_Driver.
Some refactoring of a take_focus() function into driver structures (not too happy with it, because it has some kind of bug fix. However, shouldn't *all* Fl_Windows always have an FL_Window_Driver?)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 22:37:41 +00:00
Matthias Melcher
052401a34e Instantiate the right Fl_Window_Driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 22:21:02 +00:00
Matthias Melcher
22d302e242 Add System Driver and Window Driver.
Adding two new driver types for each platform. Fl_..._System_Drivers exist once per application and provide an interface for to file and filename handling, timers, locking, multithreading, etc. .

 The Fl_..._Window_Driver class is instantiated once for every window in the system and corresponds closely to (and actually inherits from) Fl_X. The difference now is, that there is one Fl_X/Fl_Window_Driver base class, and one platform version that derives from it.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11193 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 21:41:02 +00:00
Manolo Gouy
2b6482263b Fix Fl_X11_Screen_Driver::wait(). The fractals demo is back.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 12:47:45 +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
6d766cc681 Update the fl_gc global variable also when Fl_Graphics_Driver::set_gc() is called.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19 11:52:45 +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