summaryrefslogtreecommitdiff
path: root/src/drivers/OpenGL
AgeCommit message (Collapse)Author
2022-03-24Remove useless virtual member function overrides.ManoloFLTK
2022-03-21Fix silly MSVC 2010 parser warningsAlbrecht Schlosser
Code like "void copy(const char */*stuff*/, ...)" would issue the warning "'*/' seen outside comment" which is formally true but ... These warnings don't appear with newer MS compilers, but I fixed them anyway.
2022-02-26Fix Visual Studio build warnings in OpenGL graphics driverAlbrecht Schlosser
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-12-09Remove compiler warnings about unused parameters (issue #307) - cont'dManoloFLTK
2021-08-27Remove compiler warnings '-Wextra-semi' (see also PR #266)Albrecht Schlosser
I compiled with `-Wextra-semi -Werror=extra-semi` on Linux and Windows (cross-compiled on Linux) and removed all "extra semicolon" warnings I could find. I didn't check on macOS (yet). Note: Linux configured with and w/o Pango but not w/o Xft. Compilation with other options (e.g. Cairo) might still emit such warnings.
2021-04-29Cleaner access to Fl_Gl_Window_Driver objects.ManoloFLTK
2021-04-16Minor simplification in Fl_Gl_Window_Driver::capture_gl_rectangle()ManoloFLTK
2021-03-01Remove duplicated code between derived classes of Fl_Graphics_Driver.ManoloFLTK
2021-03-01Remove warnings about hidden virtual member functions.ManoloFLTK
2021-02-21Remove VS compilation warning messages about implicit type conversions.ManoloFLTK
2021-02-16Use <config.h> when appropriate.ManoloFLTK
2021-02-16Create virtual Fl_RGB_Image* Fl_Gl_Window_Driver::capture_gl_rectangle()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-02-09Remove empty file from compilationAlbrecht Schlosser
2020-01-15Fix uninitialized vars in calls to fl_clip_box() (issue #6)Albrecht Schlosser
The main fixes are only to avoid static code analyzer warnings reported in issue #5, but there are also minor bug fixes included. These bug fixes are more of theoretical concerns though. Close #6.
2018-12-04Define useful implementations of Fl_Graphics_Driver::push_no_clip() and ↵ManoloFLTK
pop_clip().
2018-11-30Comments only: correct the header of 2 source files.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13142 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-16Fix Fl_OpenGL_Display_Device::capture_gl_rectangle(Fl_Gl_Window*) by making ↵Manolo Gouy
current the window's GL context. The problem was visible with test/cube: when the window was minimized, only the left GL subwindow was captured in the window icon. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13066 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-23Removed macro FL_PORTING, as it has been more confusing than helpful.Matthias Melcher
The original intention of FL_PORTING was to mark all places in the source code where changes are required to port FLTK to a new platform. Thanks to the driver system, this approach has become somewhat misleading, so I removed all references. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12969 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-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
2017-12-19Scaling capability under MacOS platform: fix capture of scaled window.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12602 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-14Remove unnecessary #include statements and compilation guards.Albrecht Schlosser
Currently src/drivers/OpenGL/Fl_OpenGL_Graphics_Driver.cxx wouldn't contribute any code to the lib, but it is kept for future extensions. This file is no longer compiled (see src/CMakeLists.txt and src/Makefile). Tested (only) under Windows and Linux. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12381 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-14Make 'driver' header include guards more standard.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12380 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-17Introduce HiDPI + rescaling support for the X11 platform (+ partial support ↵Manolo Gouy
for WIN32) Corresponds to STR #3320 1) HiDPI support consists in detecting the adequate scaling factor for the screen on which FLTK maps a window, and scaling all FLTK units by this factor. FLTK tries to detect the correct value of this factor at startup (see more details below). Environment variable FLTK_SCALING_FACTOR can also be used to set this value. 2) Rescaling support consists in changing the scaling factor of all FLTK windows in reply to ctrl/+/-/0/ keystrokes. More details for the various platforms : - X11: Support is very advanced. Some details need still to be improved. Automatic detection of the correct starting value of the scaling factor works well with the gnome desktop. The present code contains no support for this on other desktops. FLTK_SCALING_FACTOR provides a workaround. -WIN32: Support is incomplete at this point, although many test applications have partial or complete HiDPI and scaling support. The current value of the system's scaling factor is correctly detected at application startup. Apps respond to changes of this value in real time. Support needs to define the FLTK_HIDPI_SUPPORT preprocessor variable at compile time. This way, standard builds produce a code with the default WIN32 HiDPI support, that is, where all graphics goes to an internal buffer that gets enlarged by the system and then mapped to the HiDPI display. To experiment with (or develop) the new HiDPI support requires a modified build procedure in which FLTK_HIDPI_SUPPORT is defined at compile time. When the support will be complete, the requirement for the definition of this preprocessor variable will be removed. The present commit contains support for a single scaling factor. Eventually, per-screen scaling factors should be implemented, as done for X11. - MacOS: this commit does not give new HiDPI for this platform. Eventually, window rescaling in reply to command/+/-/0/ is desirable. Per-screen scaling factor makes no sense on this platform because the OS itself takes care of the difference between the resolutions of traditional and retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10Fl_OpenGL_Graphics_Driver : use gl_font()/gl_draw() to draw text in a GL ↵Manolo Gouy
window - continued. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-01-10Fl_OpenGL_Graphics_Driver : use gl_font()/gl_draw() to draw text in a GL window.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-09Simpler code path for a member function calling another member function of ↵Manolo Gouy
same class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12141 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-11-16Replace global fl_line_width_ used only by X11 platform by ↵Manolo Gouy
Fl_Xlib_Graphics_Driver::line_width_ git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12114 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-09-13Remove possible warnings when compiling with -WundefManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11942 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-04-26Make one version of Fl_OpenGL_Display_Device::capture_gl_rectangle() the ↵Manolo Gouy
default one. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11698 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-09Fix Doxygen warning ("nested comment").Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11569 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26Isolate the definition of the 3 public, OS-dependent types (Fl_Offscreen, ↵Manolo Gouy
Fl_Region, Fl_Bitmask). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11432 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-25Completed the vector font.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11424 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-12PicoSDL: added crude event handling.Matthias Melcher
Clipped vs. unclipped drawing issues! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11355 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-09Simplify Fl_OpenGL_Display_Device::capture_gl_rectangle() under Mac OS.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11328 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-09Rewrite Fl_Gl_Device_Plugin.cxx in a platform-independent way.Manolo Gouy
The platform-specific code lands in src/Drivers/OpenGL/Fl_OpenGL_Display_Device.cxx and the FL_PORTING clause should be compilable. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11327 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26Correct \file info for DoxygenManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11234 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26Use the FL_DOXYGEN preprocessor variable to remove all Doxygen warningsManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26Rename remaining src/drivers/XXX.h to XXX.H - continuedManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11227 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26Rename all remaining src/drivers/XXX.h to XXX.HManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11226 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25Remove the useless pseudo run-time type information supported by the ↵Manolo Gouy
Fl_Device class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11217 ea41ed52-d2ee-0310-a9c1-e6b18d33e121