Commit Graph

95 Commits

Author SHA1 Message Date
Manolo Gouy
782d34fc8f MacOS: reduce the memory size of class gl_texture_fifo managing GL textures to draw strings under GL.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12166 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-24 12:53:33 +00:00
Manolo Gouy
898d2580d3 Remove USE_OksiD_style_GL_font_selection preprocessor variable because it is equivalent to !USE_XFT
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12164 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-19 09:38:12 +00:00
Manolo Gouy
28f1bdd408 Remove useless #include directives
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12160 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10 10:23:19 +00:00
Manolo Gouy
8ef05518bb MacOS platform: fix building under OS 10.4 that may not have kCGBitmapByteOrder32Host #define'd
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11990 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-27 15:11:46 +00:00
Manolo Gouy
d7edc737aa Fix for STR#3316 to match the size argument of glGenLists() and glDeleteLists() calls.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11784 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-16 16:35:05 +00:00
Manolo Gouy
7d9fdcec25 Remove Doxygen warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11723 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08 17:08:15 +00:00
Manolo Gouy
f129964dc8 Make Fl_Cocoa_Gl_Window_Driver::draw_string() simpler
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11722 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08 16:56:15 +00:00
Manolo Gouy
8813f93ac1 Fix gl_draw() used in simple window under Mac OS X.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11719 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08 16:20:24 +00:00
Manolo Gouy
8fcccb05d4 Rewrite file src/gl_draw.cxx under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11718 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08 15:51:11 +00:00
Manolo Gouy
300747225c Rewrite OpenGL-related code under the driver model.
Class Fl_Gl_Window_Driver, with its platform-specific derived classes, is created
to hold platform-specific, OpenGL code.

File gl_draw.cxx still needs to be converted to the driver model.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11716 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08 06:42:57 +00:00
Albrecht Schlosser
67ccf3d216 Fix usage of preprocessor macro USE_X11.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11635 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-16 19:13:32 +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
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
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
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
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
eb8207ff1b Trying to create a more detaild way to configure the library, added runtime information, added an OpenGL graphics driver that renders a button on top of an OpenGL window (see test/cube).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11006 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-17 00:44:07 +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
22af09dae7 Mac OS: support for high resolution OpenGL windows.
Methods Fl::event_x_pixel() and Fl::event_y_pixel() committed at r.10941
are removed. Instead method Fl_Gl_Window::pixels_per_unit() is added.

The documentation explains in more detail how to write cross-platform
FLTK code supporting high resolution OpenGL windows on retina displays.

The examples/OpenGL3test.cxx app exercises Fl_Gl_Window::pixels_per_unit().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10945 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-02 09:59:37 +00:00
Manolo Gouy
1095d4db41 Mac OS and SDK 10.3: #define's necessary for gl_draw.cxx are better in the library source
than in the public header file FL/gl.h

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10872 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-21 14:37:27 +00:00
Manolo Gouy
6242bf0513 Extended Mac OS support of gl_draw() functions to old Apple hardware that does not
implement the GL_EXT_texture_rectangle extension.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10852 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-03 17:29:25 +00:00
Manolo Gouy
e31c8cd758 Mac OS: Use the more standard GL_TEXTURE_RECTANGLE_ARB
extension name instead of old GL_TEXTURE_RECTANGLE_EXT.
Also, use the GL_BGRA format that is preferred for GL textures, 
according to "Optimal Data Formats and Types" from 
"Best Practices for Working with Texture Data".

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10849 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-31 16:59:10 +00:00
Manolo Gouy
529927e0b8 Fixed bug in Mac OS version of gl_draw() that could produce truncated strings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10847 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-29 07:04:08 +00:00
Albrecht Schlosser
46f8f4bcb4 Fix undefined reference XGetUtf8FontAndGlyph (STR #3191).
XGetUtf8FontAndGlyph was referenced in libfltk_gl if configured w/o xft
and defined in libfltk, but not exported (regression since 1.3.3).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10588 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-22 13:26:00 +00:00
Manolo Gouy
27b3376bf4 Remove the link error sometimes caused by class Fl_XFont_On_Demand not exported from libfltk.so but called
by function gl_font() of file src/gl_draw.cxx (X11-specific).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10504 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-21 10:11:18 +00:00
Manolo Gouy
f3a84c0ee5 Changed OpenGL support for the Mac OS X platform: use cocoa instead of deprecated AGL.
All changes are mac-specific, except a very minor change in file src/gl_draw.cxx
where string drawing wrongly claimed to support @symbol, not possible
because symbols are drawn using non-GL primitives.

Unchanged application code can use the new FLTK code.
In addition, the new code allows mac applications to draw OpenGL scenes
at high resolution on so-called 'retina' displays, but this requires some
support from app code. They must call, before opening GL windows,
Fl::use_high_resolution(1);
and change their glViewport() calls as follows
glViewport(0, 0, pxel_w(), pixel_h());
This uses 2 new member functions of the Fl_Gl_Window class,
pixel_w() and pixel_h() returning the window dimensions in pixel
units, that is, twice the w() and h() when the window is mapped
on a retina display.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-12-20 07:19:23 +00:00
Lauri Kasanen
637ead9f99 Add missing gl includes
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10414 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-30 09:18:45 +00:00
Lauri Kasanen
bbc8782b6a Move Xutf8.h to src/, update includes, refresh makedepends
This is an internal header.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10248 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-23 08:41:58 +00:00
Manolo Gouy
9c6eb8be29 Mac OS: when computing a texture, save/restore the global fl_gc variable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10061 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-15 21:47:37 +00:00
Manolo Gouy
8550d28608 After r.10011 that removed the q_name member from class Fl_Font_Descriptor, change in gl_font() was needed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10012 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-10-29 14:48:26 +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
Manolo Gouy
3d9eeb2d44 r. 8537 had by error introduced a compilation error with ppc architecture.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8573 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-10 09:10:40 +00:00
Manolo Gouy
8d7c246676 Mac OS: added gl_texture_reset() function to be called when deleting an Fl_Gl_Window
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8537 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-26 21:56:24 +00:00
Manolo Gouy
a58a2ed9fb Mac OS: Fixed bug where gl_draw() would fail after deletion of an Fl_GL_Window.
The fix invalidates the pile of string textures after each Fl_Gl_Window deletion.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-26 14:37:28 +00:00
Manolo Gouy
199b32d921 Added virtual width(), height(), descent() and text_extents() functions to the Fl_Graphics_Driver
class to prepare for the future definition of graphics drivers that fully deal with text measurement.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8442 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-18 13:39:48 +00:00
Manolo Gouy
cb902eebe3 Replaced global variable fl_fontsize by fl_graphics_driver->font_descriptor().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8395 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-07 13:49:34 +00:00
Manolo Gouy
777ee1b822 Removed global variables fl_font_ and fl_size_ that are now distinct for each graphics device.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8374 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-05 13:54:56 +00:00
Manolo Gouy
7cc7abbd12 Removed compilation warning.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8229 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-09 16:40:38 +00:00
Matthias Melcher
e454f97acc Fixed Copyright to 2010.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28 21:06:39 +00:00
Matthias Melcher
8f79d200a0 Fixed the remaining warnings
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7767 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-28 21:47:01 +00:00
Manolo Gouy
97c893ab5e gl_draw.cxx: simplified/clarified #define's
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7500 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-14 09:29:08 +00:00
Manolo Gouy
7551309325 gl_draw.cxx: removed the suspenders but kept the belt.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-14 07:58:37 +00:00
Manolo Gouy
009ff54aea gl_draw.cxx (Mac-specific): fixed bad shading of text color.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7497 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13 21:34:20 +00:00
Manolo Gouy
9ae353c6be gl_draw.cxx (Mac-specific): fixed another bad use of non null-terminated string.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7495 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13 19:56:23 +00:00
Manolo Gouy
96c392763e gl_draw.cxx (Mac-specific): fixed use of fl_measure with non null-terminated string.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7494 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13 17:58:30 +00:00
Manolo Gouy
d36eb9b30f gl_draw.cxx (Mac-specific): account for text color.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7493 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13 17:44:52 +00:00