From db0a1f4baeb928b54d328d5dfbd0ec37b0b58bd3 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 6 Feb 2022 15:22:24 +0100 Subject: OpenGL implementation of all `fl_` "Drawing Fast Shapes" graphics calls (#385) * 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. --- FL/Fl.H | 2 ++ FL/Fl_Gl_Window.H | 2 ++ 2 files changed, 4 insertions(+) (limited to 'FL') diff --git a/FL/Fl.H b/FL/Fl.H index a19788545..5c84a8d10 100644 --- a/FL/Fl.H +++ b/FL/Fl.H @@ -1063,6 +1063,7 @@ int main() { // color map: static void set_color(Fl_Color, uchar, uchar, uchar); + static void set_color(Fl_Color, uchar, uchar, uchar, uchar); /** Sets an entry in the fl_color index table. You can set it to any 8-bit RGB color. The color is not allocated until fl_color(i) is used. @@ -1070,6 +1071,7 @@ int main() { static void set_color(Fl_Color i, unsigned c); // platform dependent static unsigned get_color(Fl_Color i); static void get_color(Fl_Color i, uchar &red, uchar &green, uchar &blue); + static void get_color(Fl_Color i, uchar &red, uchar &green, uchar &blue, uchar &alpha); /** Frees the specified color from the colormap, if applicable. If overlay is non-zero then the color is freed from the diff --git a/FL/Fl_Gl_Window.H b/FL/Fl_Gl_Window.H index e3279f915..7d99f1a03 100644 --- a/FL/Fl_Gl_Window.H +++ b/FL/Fl_Gl_Window.H @@ -67,7 +67,9 @@ class FL_EXPORT Fl_Gl_Window : public Fl_Window { int mode(int, const int *); static int gl_plugin_linkage(); protected: + void draw_begin(); virtual void draw(); + void draw_end(); public: void show(); -- cgit v1.2.3