Article #1438: FLTK 1.3.x Weekly Snapshot, r10861

  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]

Return to Articles | Show Comments | Submit Comment ]

Article #1438: FLTK 1.3.x Weekly Snapshot, r10861

Created at 03:03 Sep 11, 2015 by mike

A new weekly snapshot of FLTK 1.3.x (r10861) is now available on the download page:

Commit Log:

r10861 | manolo | 2015-09-10 10:53:16 -0400 (Thu, 10 Sep 2015) | 1 line

Mac OS: slightly simpler code that does just the same thing.
r10860 | manolo | 2015-09-10 09:09:38 -0400 (Thu, 10 Sep 2015) | 2 lines

Mac OS: 1) simpler tracking of window changes between retina/non retina
2) improved window creation in iconized state (child windows still don't
show in icon, though).
r10859 | manolo | 2015-09-08 07:43:48 -0400 (Tue, 08 Sep 2015) | 24 lines

The Fl_Gl_Window public API offers 2 ways to control the OpenGL
capabilities of a window:
1) Fl_Gl_Window::mode(int m) is platform-independent and uses an argument
containing bit flags
(e.g., FL_DOUBLE, FL_RGB8) to express desired capabilities. The m argument
is assigned to
the mode_ private member variable of the Fl_Gl_Window object.
2) Fl_Gl_Window::mode(const int *a) is highly platform-dependent. It uses a
array of attributes or attribute-value pairs to express capabilities. This
member function
can be used on the X11 and the Mac OS platforms, but not with MSWindows.
Before this patch, the mode_ private member variable of the Fl_Gl_Window
is assigned 0 by this member function.

The Fl_Gl_Window::flush() member function tests whether the FL_DOUBLE flag
is ON in the mode_ variable, and changes code path accordingly. Therefore,
the second API to control OpenGL capabilities fails when a double-buffered
GL context is required, because the code path followed by
does not match the GL context requirements.

With this patch,  Fl_Gl_Window::mode(const int *a) scans the content of its

array argument, and sets the FL_DOUBLE bit of the mode_ member variable
if the array requires a double-buffered GL context.

This patch does that for the X11 platform. The same was introduced for the
Mac OS platform at r. 10854.  The MSWindows platform does not use the
Fl_Gl_Window::mode(const int *a) API.

r10858 | manolo | 2015-09-07 11:52:41 -0400 (Mon, 07 Sep 2015) | 2 lines

Moved a few Mac-specific lines from Fl_Gl_Window::show() to
where it is more easily understood.
r10857 | manolo | 2015-09-07 11:48:55 -0400 (Mon, 07 Sep 2015) | 1 line

Documentation: better descriptions of Fl_Gl_Window::mode() and
r10856 | manolo | 2015-09-07 06:45:00 -0400 (Mon, 07 Sep 2015) | 1 line

Mac OS: added missing cast required by some compilers.
r10855 | manolo | 2015-09-07 05:26:19 -0400 (Mon, 07 Sep 2015) | 1 line

Mac OS: properly handle OpenGL profile requests independently from what SDK
version is used at compile time.
r10854 | manolo | 2015-09-07 01:52:17 -0400 (Mon, 07 Sep 2015) | 4 lines

Mac OS X: restored the possibility to set a GL context mode with the
Fl_Gl_Window::(const int *a) member function that uses a zero-ending
array of system-dependent attributes.
This procedure failed whenever a double buffer was asked for.
r10853 | manolo | 2015-09-05 11:36:28 -0400 (Sat, 05 Sep 2015) | 1 line

Mac OS platform: Allow compilation of user code with non-Apple compiler.
Download | Home Page | Listing ]


Submit Comment ]

Comments are owned by the poster. All other content is copyright 1998-2015 by Bill Spitzak and others. This project is hosted by Seriss Corporation. Please report site problems to ''.