summaryrefslogtreecommitdiff
path: root/FL/Fl_Gl_Window.H
AgeCommit message (Collapse)Author
2023-11-26STR 1373: adds vsync control to OpenGL contexts on macOSMatthias Melcher
Windows and X11 to follow, no idea about Wayland.
2023-08-26Fixes a bunch of typos in comments.Matthias Melcher
2023-03-18Fix and update alignment #346 (#701)Matthias Melcher
* interactive layout alignment rewritten * interface for new alignment rules * new alignment dialog box * user defined layout rules added * layout rules can be stored in projects, settings, and external files * Valgrind verification
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()
2022-11-01Fix trailing whitespaceAlbrecht Schlosser
2022-09-07Improve support of child windows that may leak outside their parent window.ManoloFLTK
1) add Wayland code that prevent subwindows from leaking outside their parent. This does not cover GL subwindows. 2) add macOS code that prevent GL subwindows from leaking outside their parent. This fixes issue #494 for the macOS platform. N.B.: Wayland GL subwindows are not prevented from leaking because no solution that would not require any change in client applications was found. Code that would cover Wayland GL subwindows but would require client applications to always use the FL_ALPHA flag is included in this commit in commented out form.
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-07-04Documentation: add Wayland-related information for use of OpenGL 3.ManoloFLTK
2022-02-06OpenGL implementation of all `fl_` "Drawing Fast Shapes" graphics calls (#385)Matthias Melcher
* Fix build system for unites, * Updated unittest to check OpenGL drawing. Making sure that OpenGL drawing is exactly the same as native drawing to make FLTK widget rendering look the same in GL windows. * Make OpenGL optional. * Implemented clipping in OpenGL * unites drawing fast shapes * Fixed CMake * Updating unittest. Added tests for fl_pi and fl_arc (int) Renamed tab to render complex shapes. * Improved OpenGL FLTK drawing emulation. * Fixed GTK ROUND DOWN BOX * Fixing Makefile for unittest * Correctly aligning OpenGL text. * Fixed text alignment in GL windows. Explained the "FLTK over GL " example in Cube. * Overlapping test. * Better GL graphics alignment. * Drawing the focus rect. * Adding Alpha Channel support for GL. * Added FLTK-on-GL documentation.
2021-04-29Cleaner access to Fl_Gl_Window_Driver objects.ManoloFLTK
2021-02-16Create virtual Fl_RGB_Image* Fl_Gl_Window_Driver::capture_gl_rectangle()ManoloFLTK
2021-01-29Make Fl_Gl_Window::gl_driver() private (#184)Albrecht Schlosser
The driver stuff should be private. The only usage I found was in class _Fl_Gl_Overlay which is now a 'friend class'.
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2019-04-14Doxygen: rewording for more clarity.ManoloFLTK
2019-04-13Further Doxygen doc about OpenGL and HighDPI.ManoloFLTK
2019-04-12Doxygen: describe better support for OpenGL on HighDPI displays.ManoloFLTK
2018-08-21Better doc for using OpenGL version 3.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13023 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-20Improved documentation related to access to OpenGL 3 under X11 platform.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13022 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-10Android: crude graphics clippingMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09Replace "WIN32" with "_WIN32" or "Windows".Albrecht Schlosser
Replace compiler/preprocessor/platform macro "WIN32" with "_WIN32". Replace "WIN32" in text and documentation with "Windows". Replace "MSWindows" with "Windows". To do: README.Windows.txt (and maybe other documentation as well) needs updates. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12655 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-22 Make Fl_Gl_Window::pixels_per_unit() return a float (rather than int) value.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11794 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-13Add GLContext to the set of platform-dependent types defined in ↵Manolo Gouy
FL/platform_types.h If a platform does not support OpenGL, it can just typedef GLContext as void* git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11733 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-08Rewrite OpenGL-related code under the driver model.Manolo Gouy
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-02-13Details on PORTME items. Move fl_parse_color() to screen drivers.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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-29Updated OpenGL Display DeviceMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11084 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-19Fixed typos for Linux compilation. OpenGL driver compiles and somewhat ↵Matthias Melcher
works, except for text rendering (as expected). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11009 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-18Replaced static initializer with Fl_OpenGL_Display_Device.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11008 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-04Fix typos in #pragma FL_PORTING.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@10991 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-02Fix Doxygen docs of new method Fl_Gl_Window::pixels_per_unit().Albrecht Schlosser
Moved the docs up (before #ifdef ...) so they are also generated on Mac OS X platforms. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10946 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-12-01Make clear in the doc that methods Fl_Gl_Window::pixel_w() and pixel_h()Manolo Gouy
dynamically adjust to windows moved between high and low resolution displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10944 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-27Added support for OpenGL V3 and higher.Manolo Gouy
On the X11/MSWindows platforms, this requires external installation of the GLEW library. This fixes STR#3198 and STR#3257. Added two new examples programs. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10876 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-10-21Documentation: explicit what #include commands are needed to useManolo Gouy
the Fl_Gl_Window::mode(int *) method. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10873 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-18Documentation: added warning that Fl_Gl_Window::mode(const int * a), ↵Manolo Gouy
although public, is subject to change, and that Fl_Gl_Window::mode(int a) is the adequate stable API. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10862 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-07Documentation: better descriptions of Fl_Gl_Window::mode() and ↵Manolo Gouy
Fl_Gl_Window::can_do(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10857 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-19Added version information to Doxygen comments.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10525 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-01-14A public header file must not use a preprocessor variable such as ↵Manolo Gouy
MAC_OS_X_VERSION_10_7 because it is only defined internally to FLTK. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10516 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-01-16Better way to force linking of Fl_Gl_Device_Plugin.o whenever Fl_Gl_Window.o ↵Manolo Gouy
is linked, that doesn't use the "volatile" attribute (suggested by Albrecht). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10063 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-01-01Documentation updates: removed three more \todo's.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8157 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-11-14Fixed OpenGL hide/show issue in OS X (STR #2260)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7831 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-16Using Fl_Plugin feature to automatically draw OpenGL (sub)windows. No extra ↵Matthias Melcher
coding needs to be done. Just call Fl_Printer::print_widget(...). The Fl_Gl_Printer device can (and should) be removed or at least made inaccessible. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7280 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-02-18Modified all public widget draw methods to be protected.Albrecht Schlosser
ToDo: Documentation updates. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6664 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01Changed the copyright to 2009 for header files. Still todo: src and test ↵Matthias Melcher
directory. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6614 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-18Added clarification to Fl_GL_Window mode function (STR #1945)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6459 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-15Doxygen pdf documentation: Changed pdf mime type to application/pdf. Removed ↵Fabien Costantini
all Widget class headers from file section as they already are in the class section, this saves many pages. Also disabled the referenced by/from systematic inserts for each functions as this is more a core developer documentation feature than a fltk user manual feature, also saves many pages. Didn't use the LATEX_COMPACT feature yet, not happy with its result, will comment it later. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6439 ea41ed52-d2ee-0310-a9c1-e6b18d33e121