Commit Graph

95 Commits

Author SHA1 Message Date
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
8e3f66073f 1) Added a new way to detect whether the drawing operation is using the platform's native driver
and whether we are printing:  virtual int Fl_Graphics_Driver::has_feature(driver_feature feature)
This is also because it is not convenient to derive a printer-specific driver with its own
implementation of virtual functions when this implementation differs only in one line of code.

2) Solved the problem of inclusion of non public header by the public header FL/Fl_Device.H:
bracket this with #if FL_LIBRARY / #endif so this non public header is included only when building
FLTK itself.

3) Removed several (but not all) of the FLTK_ABI_VERSION guards that are no longer
useful for code targeting FLTK 1.4.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11063 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-27 18:11:20 +00:00
Matthias Melcher
1c4661c481 Fixed a few comments
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11062 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26 22:39:47 +00:00
Matthias Melcher
6694780c2d Moving GDI/WIN32 files to new directroy structure
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11058 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26 21:10:49 +00:00
Matthias Melcher
ac275b89bc Moved Quartz graphics driver to the new naming scheme
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11057 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26 21:01:09 +00:00
Matthias Melcher
222538baad Hacky version of font_x and font_xft, compiles on Fedora Linux
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11054 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26 20:31:43 +00:00
Matthias Melcher
12e85b882a Fixed for Linux
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11049 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 21:06:21 +00:00
Matthias Melcher
6a12d16750 Extracting OpenGL text calls. This is a minimum implementation for testing. Don;t worry. I have a cunning plan for rendering perfect antialiased text into OpenGL contexts quickly on all platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11048 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 20:58:12 +00:00
Matthias Melcher
60ec452d04 Reorganizing color drawing code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11045 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-24 16:22:50 +00:00
Matthias Melcher
be66d89def Added OpenGL support for dotted lines. Active widget now renders focus rectangle correctly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11039 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 21:54:30 +00:00
Matthias Melcher
474de78ac1 OpenGL arc and pie drawing (Mmmmh, pie!)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11036 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 21:02:49 +00:00
Matthias Melcher
de12eddb59 Added OpenGL implementation of fl_vertex calls. Compiling and linking, but functionality untested.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 20:22:50 +00:00
Matthias Melcher
d1d136fa1b Fixing vertex implementation
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 00:39:33 +00:00
Matthias Melcher
28b94ce5e7 Hiding fl_vertex form public view
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11031 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-23 00:24:29 +00:00
Matthias Melcher
e5e956b86c Removing Xlib rect calls from public view.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11028 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-22 12:03:01 +00:00
Matthias Melcher
5231785cdd Fixed two typos to make things run under MSWindows again.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11024 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-21 17:03:16 +00:00
Matthias Melcher
4d37623dbb Removed MSWindows GDI graphics driver from public view.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11023 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-21 16:47:42 +00:00
Matthias Melcher
84e9be966d Remove Quartz graphics driver from public view.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11020 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-21 16:14:01 +00:00
Matthias Melcher
3b3ed8d79c Moving already cleaned up methods within class to make it easier to see methods that were not cleaned yet.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11019 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-21 15:49:03 +00:00
Matthias Melcher
7d0cf9299a Wrapping up fl_rect.cxx implementation. Introducing 3 moer virtual functions to Fl_Graphics_Device - will that break binary compatibility?
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11017 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 21:40:12 +00:00
Matthias Melcher
d34974ace7 Reorganized all integer line and polygon drawing functions
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11016 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 15:21:11 +00:00
Matthias Melcher
d3bd470734 Re-ordering a few more functions. It's nice to see how clear functions like rectf() become without the #ifdef mess.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11013 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 00:39:46 +00:00
Matthias Melcher
bd78fa1c48 Starting to cut out individual graphics function, so that multiple drivers can coexist (cfg_gfx). Found the missing pixels in the OpenGL gfx driver.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11012 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-20 00:11:43 +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
6eb4354996 Doc change only: clearly document that FLTK has at any time a current drawing surface and a current graphics device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-22 10:15:28 +00:00
Manolo Gouy
1b548ae1d5 Running FLTK in static initializers (cont'd):
the static method Fl_Surface_Device::surface() can be called before main() starts.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-16 07:18:34 +00:00
Manolo Gouy
d408133397 Mac OS: make Fl_Display_Device::high_resolution() private because it is not
intended to be part of the FLTK public API.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10746 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-06-10 10:32:09 +00:00
Manolo Gouy
f9fa74e3af Restored the possibility to call Fl::set_font()
in a global initializer (before main() starts).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-28 22:02:48 +00:00
Manolo Gouy
6ea2b8baea More detailed documentation about drawing to other surfaces than the computer display.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10651 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-24 14:20:38 +00:00
Lauri Kasanen
c91e48149b Add support for accelerated alpha blending under X11.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10628 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-16 18:12:28 +00:00
Manolo Gouy
e69467bbc9 Implementation of Fl_Shared_Image::scale(width, height) for scaled image drawing - cont'd
Shorter implementation based on Fl_Graphics_Driver::draw_scaled(Fl_Image *,...).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-11 06:21:17 +00:00
Manolo Gouy
dbde470f8d Added Fl_Shared_Image::scale(width, height) to support scaled image drawing (STR #3185).
Useful for printing, PostScript or PDF output, or retina displays.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10615 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-10 21:06:22 +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
Albrecht Schlosser
972c6ff7df Fix a doxygen warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10469 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-25 14:15:36 +00:00
Manolo Gouy
f52b457cc2 Added full support of retina displays on the mac platform.
On such displays, one drawing unit equals two pixels.
The fl_xyline() and fl_yxline() functions are modified to perform
extra operations when drawing to a window on a retina display.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10463 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-19 16:23:36 +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
Lauri Kasanen
ccfb27a83e Export the xlib graphics driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10409 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-29 20:11:02 +00:00
Manolo Gouy
56ac442c93 Better separate printer-specific code using virtual Fl_GDI_Printer_Graphics_Driver::draw(Fl_Bitmap*...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10110 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-22 14:51:50 +00:00
Matthias Melcher
78039ecb55 Replaced 10302 with 10301 for FLTK_ABI_VERSION
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9706 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-11-06 20:46:14 +00:00
Manolo Gouy
547fc0a3f0 Added Fl_Graphics_Driver::vertex_no(), vertices() and vextex_kind() accessor functions useful
to implement some virtual functions of new graphics drivers.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-05-02 13:44:52 +00:00
Manolo Gouy
32d4bc4099 Fix STR#2810: removed all uses of function Fl_Device::class_name().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9293 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-18 18:48:29 +00:00
Manolo Gouy
f6cb583e27 Replaced fl_copy_offscreen_with_alpha() by Fl_GDI_Graphics_Driver::copy_offscreen_with_alpha() and
fl_create_offscreen_with_alpha() by Fl_Quartz_Graphics_Driver::create_offscreen_with_alpha()

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9278 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-12 11:55:50 +00:00
Manolo Gouy
5237b2bc76 The virtual member functions of the Fl_Graphics_Driver abstract class that were set to 0 are now set to
do-nothing to ease the construction of specialized Fl_Graphics_Driver subclasses at the application level.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-03-04 18:18:03 +00:00
Manolo Gouy
da5c3c2cbc Added missing #include <stdlib.h>
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9237 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-02-17 09:19:15 +00:00
Manolo Gouy
477febec7b Added missing initialization/deallocation of member variables of class Fl_Graphics_Driver
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9235 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-02-16 13:09:34 +00:00
Matthias Melcher
c1caad3e62 STR 2714: remove lint (variables that have the same name as a function in the same scope).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9116 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-10-02 06:25:13 +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
385b40988d Fixed Fl_Device destructor (made it virtual). This eliminates the compiler
"warning: 'class Fl_Device' has virtual functions but non-virtual destructor"
on Mac OS X.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8529 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-23 12:49:30 +00:00
Manolo Gouy
f7d7eff7ad STR 2580: Fl::add_fd() now calls fl_open_display() because that is necessary for the fd event
to be recovered by the event loop. Before main() is called, only fl_mac_os_version is 
initialized.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8488 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-01 11:58:36 +00:00