summaryrefslogtreecommitdiff
path: root/src/gl_draw.cxx
AgeCommit message (Collapse)Author
2016-02-11Mark places that need to be refactored with // PORTME:Matthias Melcher
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-01-31Fix compiler warnings (STR 2988), porting from branch-1.3.Albrecht Schlosser
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-20Starting to cut out individual graphics function, so that multiple drivers ↵Matthias Melcher
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-17Trying to create a more detaild way to configure the library, added runtime ↵Matthias Melcher
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-04Created pseudo code for all FL_PORTED section so that FLTK compiles and ↵Matthias Melcher
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-03Updated platform specific #if's to report unimplemented code when compiling ↵Matthias Melcher
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
2015-12-02Mac OS: support for high resolution OpenGL windows.Manolo Gouy
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-10-21Mac OS and SDK 10.3: #define's necessary for gl_draw.cxx are better in the ↵Manolo Gouy
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-09-03Extended Mac OS support of gl_draw() functions to old Apple hardware that ↵Manolo Gouy
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-08-31Mac OS: Use the more standard GL_TEXTURE_RECTANGLE_ARB Manolo Gouy
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-29Fixed bug in Mac OS version of gl_draw() that could produce truncated strings.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10847 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-22Fix undefined reference XGetUtf8FontAndGlyph (STR #3191).Albrecht Schlosser
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
2014-12-21Remove the link error sometimes caused by class Fl_XFont_On_Demand not ↵Manolo Gouy
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-20Changed OpenGL support for the Mac OS X platform: use cocoa instead of ↵Manolo Gouy
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-10-30Add missing gl includesLauri Kasanen
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10414 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-08-23Move Xutf8.h to src/, update includes, refresh makedependsLauri Kasanen
This is an internal header. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10248 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-01-15Mac OS: when computing a texture, save/restore the global fl_gc variable.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10061 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-10-29After r.10011 that removed the q_name member from class Fl_Font_Descriptor, ↵Manolo Gouy
change in gl_font() was needed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10012 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19Modifications to all LGPL headers for STR #2685.Greg Ercolano
(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-04-10r. 8537 had by error introduced a compilation error with ppc architecture.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8573 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-26Mac OS: added gl_texture_reset() function to be called when deleting an ↵Manolo Gouy
Fl_Gl_Window git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8537 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-03-26Mac OS: Fixed bug where gl_draw() would fail after deletion of an Fl_GL_Window.Manolo Gouy
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-02-18Added virtual width(), height(), descent() and text_extents() functions to ↵Manolo Gouy
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-07Replaced global variable fl_fontsize by fl_graphics_driver->font_descriptor().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8395 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-05Removed global variables fl_font_ and fl_size_ that are now distinct for ↵Manolo Gouy
each graphics device. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8374 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-09Removed compilation warning.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8229 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28Fixed Copyright to 2010.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-28Fixed the remaining warningsMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7767 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-14gl_draw.cxx: simplified/clarified #define'sManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7500 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-14gl_draw.cxx: removed the suspenders but kept the belt.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13gl_draw.cxx (Mac-specific): fixed bad shading of text color.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7497 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13gl_draw.cxx (Mac-specific): fixed another bad use of non null-terminated string.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7495 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13gl_draw.cxx (Mac-specific): fixed use of fl_measure with non null-terminated ↵Manolo Gouy
string. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7494 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13gl_draw.cxx (Mac-specific): account for text color.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7493 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13gl_draw.cxx (Mac-specific): for __ppc__ only, back to old gl_draw algo ↵Manolo Gouy
without texture. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7492 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-13gl_draw.cxx (Mac-specific): implemented a fifo pile of pre-computed textures ↵Manolo Gouy
for faster GL text rendering. Also added new function gl_texture_pile_height(int) that sets the height of this pile. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7491 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-09Second part of STR #2214 rework.Ian MacArthur
This is the simplification of GL font selection under X11 made possible by the earlier patches from ucko. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7475 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29Removed more Cocoa/Quartz references. Finally moved OS X font down a pixel.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7357 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29OS X: removed all Carbon and Quickdraw references. Starting with 1.3, we ↵Matthias Melcher
only support Cocoa and Quartz. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7351 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-24New texture-based gl_draw implementation now used also in 32-but compilesManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7027 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-06Moved OS X code base to the more moder Cocoa toolkit thanks to the awesome ↵Matthias Melcher
work of Manolo Gouy (STR #2221). This is a big one! I tested all test applications under 32-bit autoconf and Xcode, and a few apps under 64bit intel. No PPC testing was done. Please verify this patch if you have the machine! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-09converted html tags to doxygen commands in opengl.doxengelsman
also corrected function signatures in opengl.dox added doxygen comments to FL/gl.h, src/gl_start.cxx, src/gl_draw.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6749 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01Changed Copyright in 'src' directoryMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-13Quickdraw removal: option removed from configure, all Qd code removed from ↵Fabien Costantini
sources. Also took this opportunity to sort the ifdef clauses so that USE_X11 shows first. Also added error pragma to enforce proper target checking, thus make even less assumptions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6423 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-19Updating fl_utf8.h references. Fixing copyright date in .fl files.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6311 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-10Merging the UTF8 patch, consisting of O'ksi'd s original 1.1.6 patch and ↵Matthias Melcher
additions by Ian. PLEASE BE AWARE that the patch in its current incarnation is a regression in many aspects and further work is required before we can announce Unicode support. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-15Replaced badly named type Fl_FontSize with Fl_Font_Descriptor. This type is ↵Matthias Melcher
only used in the core files and not available to the user. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-04-18THIS FIX CONTAINS TWO MORE FILES THAT MUST BE COMPILED. I wouldMatthias Melcher
like to ask the maintainers of the build environments to please add these files to the setup: src/fl_encoding_latin1.cxx src/fl_encoding_mac_roman.cxx I ADDED SOME DOCUMENTATION THAT NEEDS TO BE FIXED. Beeing not a native English speaker, I have a hard time writing documentation. Would someone please update my babbeling in documentation/drawing.html? Thanks. This commit fixes some very basic problems with OS X's code page in preparation for the compose-character keyboard fix. It also fixes issues with MS Windows and X11 not rendering the characters in the Western (Latin-1) set between 0x80 and 0x9F. In the original ISO font, they were unused, but are now assigned to international characters like the Euro currency sign. This patch also tries to fix one basic flaw with FLTK 1 and font encoding. I will not put much more work into this because FLTK 1.2 and FLTK 2 fix the problem entirely by using UTF-8 instead of 8-bit "C"-style strings. All these changes are only meaningful for foreign language users or users of special characters like the Euro, the Degree or the Permille symbol. A short explanation follows. Max OS X uses a different code page than X11 and Win32. This means that all characters above 0x7f have an entirely different meaning. If your source code contains international characters, your text will appear different if you change to another OS. This patch provides two functions that convert text with international characters from the character set of the source code into the local character set. Two more functions are provided to convert them back. The functions are fl_latin1_to_local (source is in Win32 or X11), fl_mac_roman_to_local (source was written on OS X) and the corresponding fl_local_to_latin1 and fl_local_to_mac_roman, which are very useful if yoou want to store strings with intl. characters that will be moved between systems. All this is assuming a "Western" code page as it is common in the Americas and most of Europe. User of other languages will have to use FLTK 2. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16Update source file headers with STR web page.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24Copyright updates.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121