summaryrefslogtreecommitdiff
path: root/FL/Fl_Gl_Window.H
AgeCommit message (Collapse)Author
2 dayswi[maxim nikonov
3 dayswipmaxim nikonov
2025-12-19Add Fl_Gl_Window 32 bit depth buffer option.Matthias Melcher
2025-07-08Replace 'FL_OVERRIDE' with 'override' in public headersAlbrecht Schlosser
... except FL/fl_attr.h where FL_OVERRIDE is #define'd
2024-08-10Fix tabs, trailing spaces, and update dependenciesAlbrecht Schlosser
2024-07-18Fix typo in documentationManoloFLTK
2024-07-18Document more accurately use of FL_OPENGL3 flag with Fl_Gl_Window'sManoloFLTK
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