Commit Graph

55 Commits

Author SHA1 Message Date
Matthias Melcher
e2495a760a MSWindows fixes for previous commits.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11644 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 17:45:44 +00:00
Matthias Melcher
cdf85352c4 virtualized some Region calls.
There is a deeper issue here: regions should be handled by the graphics driver that is associated with the Fl_Window of this widget... .

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11643 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 15:36:23 +00:00
Matthias Melcher
c9d3eabf4e virtualized Fl::set_color and free_color.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11642 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 15:01:20 +00:00
Matthias Melcher
9ae4a99081 virtualized Fl_Graphics_Driver::global_gc(), a function that should probably not exeist.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 14:45:25 +00:00
Matthias Melcher
cc57af841a virtualizes fl_set_spot and fl_reset_spot
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11640 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-17 14:22:02 +00:00
Manolo Gouy
fce1483eb8 Rewrite fl_draw_pixmap.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11587 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-12 13:47:38 +00:00
Albrecht Schlosser
d56e2ec9f0 Fix typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11560 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09 10:42:17 +00:00
Manolo Gouy
d011d5b4f0 Replace src/Fl_Font.H by one file for each platform.
This file contained nearly only platform-specific code.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11507 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-02 13:22:48 +00:00
Manolo Gouy
d67f395031 Rewrite functions XRectangleRegion(), XDestroyRegion() under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11479 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-30 20:16:40 +00:00
Manolo Gouy
4fcefc68f8 Remove the platform-dependent type xchar
File fl_utf8.h defines the xchar type with a platform-dependent value (wchar_t or unsigned short).
But it is used exclusively by WIN32 code (0 use in cross-platform code, 0 use in APPLE
or in USE_X11 code).
Thus, we can just get rid of this type and replace it by wchar_t where it is used.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11459 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-29 09:29:51 +00:00
Manolo Gouy
c456dd4eb7 Remove a bunch of unnecessary #include <config.h> directives
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11443 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-27 17:37:07 +00:00
Manolo Gouy
c7b1591486 Remove a few uses of the fl_graphics_driver global variable
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11439 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 23:06:08 +00:00
Manolo Gouy
e31adcf1b9 Add necessary #include <FL/x.H> directive
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11434 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 17:54:34 +00:00
Manolo Gouy
915d6c643a Isolate the definition of the 3 public, OS-dependent types (Fl_Offscreen, Fl_Region, Fl_Bitmask).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11432 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 14:36:11 +00:00
Manolo Gouy
2530120d7d Rewrite Fl::handle_(int e, Fl_Window* window) and Fl_Widget::damage() to remove their platform dependent parts
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11419 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-24 22:26:13 +00:00
Manolo Gouy
06e7d0092d Rename Fl_XXX_Image_Surface.cxx to Fl_XXX_Image_Surface_Driver.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11378 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 18:51:15 +00:00
Manolo Gouy
f55363776f Deleted because renamed to src/drivers/XXX/Fl_XXX_Copy_Surface_Driver.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 18:44:37 +00:00
Manolo Gouy
5662eea6ee Rename src/drivers/XXX/Fl_XXX_Copy_Surface.cxx to Fl_XXX_Copy_Surface_Driver.cxx
because these files implement the Fl_XXX_Copy_Surface_Driver class.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11376 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 18:32:05 +00:00
Manolo Gouy
dbad8f8a98 Remove unused files. Their content is now in src/drivers/XXX/Fl_XXX_Copy_Surface.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11375 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 18:20:44 +00:00
Manolo Gouy
f936eb1a96 Driver-based rewrite of the Fl_Copy_Surface class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11374 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 18:14:58 +00:00
Manolo Gouy
a8d32c57d6 Remove src/drivers/XXX/Fl_XXX_Image_Surface.H files that are no longer useful.
Their content is now in src/drivers/XXX/Fl_XXX_Image_Surface.cxx

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11372 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-19 16:56:57 +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
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
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
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
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
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
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
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
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
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
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
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
Matthias Melcher
4079e7590b Fix MSWindows compile issues.
Fixed a few warnings and a compilation issue introduced from previous reorganization.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11143 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 10:31:43 +00:00
Matthias Melcher
94f0278d47 Porting efforts, minimal Android stuff, cleanup.
- Moving code around for Fl_Double_Window, but not yet happy
- Tested CMake for Android cross compilation. Very happy!

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11142 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 21:54:38 +00:00
Matthias Melcher
7a0fe79f99 Fix MSWindows issues from last refactoring.
During the last refactoring on OS X, a few thing were relocated into new files, mainly to avoid ifdef's and use C++ inheritance in a driver system instead. This commit makes FLTK compile again under VC2013 with IDE files generated by CMake.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11141 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 20:15:04 +00:00
Matthias Melcher
41e22f2f39 Move ifdef's in RGB_Image into driver system.
- change image caching variable types to uintptr_t
- added driver function to uncache image data
- cleaning up (Xlib and GDI will likely throw syntax errors. Trying to fix ASAP)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11138 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 18:25:02 +00:00
Matthias Melcher
dee0f5a824 Strip Graphics Driver related ifdefs.
- removed more ifdef's from the graphics drivers
- moved functionality into the driver files themselves
- updated CMakeList.txt



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11137 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 12:33:49 +00:00
Matthias Melcher
6e16d033ae Add fl_focus_rect function to driver.
Focus rectangles are dotted lines. The default implementation uses the dotted line style, However, for systems without line stye, we draw many dots instead.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-01 23:06:14 +00:00
Matthias Melcher
b9c8042a6a Fixed WIN32 setup. X11 setup verified.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11101 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 14:05:19 +00:00
Matthias Melcher
7440ea209a Moved fl_create_bitmask and fl_delete_bitmask functions into driver structure. Tested on OS X.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11100 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 13:51:01 +00:00
Albrecht Schlosser
5c32d3b24c Update build system to compile all drivers as indiviual objects.
Removed obsolete files that served only one purpose: to #include
different driver files. Updated CMake and Makefiles to reflect the
changes. Build tested with:
 - MinGW + configure/make
 - MinGW + CMake/make
 - Visual Studio 2010 generated by CMake


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11092 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 00:39:57 +00:00
Ian MacArthur
e2cc1a80f0 Some trivial adjustments to support building
under Win32/mingw with the configure/make
on Win7 with Msys.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11073 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-28 11:18:01 +00:00