summaryrefslogtreecommitdiff
path: root/src/Fl_Gl_Window.cxx
AgeCommit message (Collapse)Author
2 dayswipmaxim nikonov
3 dayswi[maxim nikonov
2025-10-31Avoid crash in Fl_Gl_Window::make_current() (#1287)Matthias Melcher
2025-10-27Cont'd "New Wayland subwindow code creates issues with resizes of opengl ↵ManoloFLTK
windows…" (#1311)
2025-10-20Fix "New Wayland subwindow code creates issues with resizes of opengl ↵ManoloFLTK
windows…" (#1311)
2025-05-09Remove declaration of Fl_Scalable_Graphics_Driver from FL/Fl_Graphics_Driver.HManoloFLTK
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also declares classes Fl_Font_Descriptor and Fl_Fontdesc.
2024-01-29Fix OpenGL context caching on macOS (#737)Matthias Melcher
2023-11-29Adds OpenGL swap interval documentation.Matthias Melcher
2023-11-26STR 1373: adds vsync control to OpenGL contexts on macOSMatthias Melcher
Windows and X11 to follow, no idea about Wayland.
2023-08-02#762: saves all frequently used OpenGL attributesMatthias Melcher
When rendering the OpenGL layer, this prepares the FLTK rendering parameters and restores them after FLTK rendering.
2022-11-01Fix trailing whitespaceAlbrecht Schlosser
2022-10-06Fix use of several FLTK widgets above an GL scene.ManoloFLTK
The code failed with 2 or more widgets when FLTK would trigger partial redraws of the widgets, unless the Fl_Gl_Window was FL_DAMAGE_ALL. This commit also adds a second FLTK widget to example/OpenGL3test to check this multiple widget situation, and fixes an error where operator ! was used instead of ~ .
2022-10-01macOS: fixed problem in resizing of widget-containing OpenGL 3 window.ManoloFLTK
2022-09-27Simpler code to support FLTK widgets in macOS OpenGL 3 windows.ManoloFLTK
Also, the application-level code to add widgets to a GL3 window becomes platform-independent.
2022-09-14Improve virtual void* Fl_Gl_Window_Driver::GetProcAddress(procName)ManoloFLTK
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-21Fix argument of glMatrixMode() call.ManoloFLTK
2022-08-18Document Fl_Gl_Window::draw_begin() and draw_end().ManoloFLTK
2022-08-18Simplify class Fl_OpenGL_Display_Device.ManoloFLTK
2022-03-05Fix size_range() - continued (issue #392)Albrecht Schlosser
- fix window size of GL windows as reported for test/glpuzzle.cxx - fix window not resizing on ctrl/+/- (X11 only) Unfortunately the previous commit "optimized" a necessary X11 message away. This is now fixed. Fixes #392.
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-02-18Remove redundant definition of FL_CFG_GFX_OPENGLAlbrecht Schlosser
2021-02-17Documentation: remove Doxygen warnings of undeclared members.ManoloFLTK
2021-02-16Include <config.h> in Fl_Gl_Window.cxxManoloFLTK
2021-02-16Create classes Fl_XXX_Gl_Window_Driver according to driver model.ManoloFLTK
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.
2020-05-08Replace Fl_Window_Driver::is_a_rescale() by Fl_Window::is_a_rescale()ManoloFLTK
so it can be called by any user code.
2020-01-27Restore compilability when HAVE_DLFCN_H = 0ManoloFLTK
2019-06-21Simpler list of virtual member functions of Fl_Gl_Window_DriverManoloFLTK
2019-04-28macOS: yet simpler implementation of window resize and rescale.ManoloFLTK
2019-04-19macOS: simpler handling of GL windows when first displayed.ManoloFLTK
tested on macOS versions 10.3, 10.6, 10.9, 10.14
2019-04-13Update Doxygen doc of Fl_Gl_Window::draw() for HighDPI supportManoloFLTK
2019-04-12Doxygen: describe better support for OpenGL on HighDPI displays.ManoloFLTK
2019-04-07Simpler implementation of Fl_Cocoa_Window_Driver::resize()ManoloFLTK
2018-11-29Use the Fl_Gl_Device_Plugin mechanism to simplify the construction of a ↵Manolo Gouy
layer-backed GL window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13140 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-11-16MacOS: simpler implementation of extra code necessary at first display of ↵Manolo Gouy
layer-backed GL windows git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13123 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-31Remove use of Fl_Gl_Window_Driver.H in file src/Fl_cocoa.mmManolo Gouy
Thus, Fl_cocoa.mm is completely independent from code of libfltk_gl. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13104 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-31Remove all dependency to libfltk_gl from Fl_cocoa.mm.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13103 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-29Fix error in Fl_Cocoa_Gl_Window_Driver::make_current_before() Manolo Gouy
Fl_Gl_Window_Driver::invalidate() instead of Fl_Gl_Window::invalidate() was called. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13091 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-10-29Fix handling of GL window moved between retina and non-retina screens.Manolo Gouy
Part of the fix applies both to layer-backed and non layer-backed windows. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Gl_Window_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12977 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Screen_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Window_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23Doxygen only: fixed all block comments starting with an asterisk to ↵Matthias Melcher
space-only, fixed doxygen keywords prepended with @ to use a backward slash instead. No code was changed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23Doxygen: created Group to document drivers, disabled by defaultMatthias Melcher
Uncomment `ENABLED_SECTIONS += DriverDev` in documentation/Doxyfile.in to enable driver documentation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12968 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-30MacOS: have Fl_OpenGL_Display_Device::capture_gl_rectangle() capture also ↵Manolo Gouy
the overlay of GL windows. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12938 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12Remove public member function Fl_Window_Driver *Fl_Window::driver() so class ↵Manolo Gouy
Fl_Window_Driver is not in FLTK public API. This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win). The purpose is to have class Fl_Window_Driver outside from FLTK ABI. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-07STR#3450: Draw text with OpenGL using textures on all platforms.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12650 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31Replace FL/x.H with FL/platform.H - step 2 (STR #3435).Albrecht Schlosser
This second step replaces FL/x.H with FL/platform.H in all source files. Dependencies have been adjusted as well. This commit completes the replacement of FL/x.H with FL/platform.H. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-12-18STR#3444: Add MacOS support for application rescaling (not quite complete)Manolo Gouy
With this, most MacOS FLTK app can be scaled with command/+/-/0/ keystrokes. A scaling problem remains, visible in test/cube, where the "Test" string is not positioned correctly. GLUT apps can also be scaled (across platforms). SVG images are re-rasterized after app scaling for optimal drawing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12594 ea41ed52-d2ee-0310-a9c1-e6b18d33e121