/packages/ptc/src/x11/x11glxfbconfigd.inc
https://github.com/slibre/freepascal · Pascal · 65 lines · 24 code · 9 blank · 32 comment · 0 complexity · be420a043d9993d5b3ce0e3c843f4e63 MD5 · raw file
- {
- This file is part of the PTCPas framebuffer library
- Copyright (C) 2012 Nikolay Nikolov (nickysn@users.sourceforge.net)
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version
- with the following modification:
- As a special exception, the copyright holders of this library give you
- permission to link this library with independent modules to produce an
- executable, regardless of the license terms of these independent modules,and
- to copy and distribute the resulting executable under terms of your choice,
- provided that you also meet, for each linked independent module, the terms
- and conditions of the license of that module. An independent module is a
- module which is not derived from or based on this library. If you modify
- this library, you may extend this exception to your version of the library,
- but you are not obligated to do so. If you do not wish to do so, delete this
- exception statement from your version.
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- }
- {$IFDEF ENABLE_X11_EXTENSION_GLX}
- type
- TX11GLXFBConfig = class
- private
- FDisplay: PDisplay;
- FScreen: cint;
- FGLXFBConfig: TGLXFBConfig;
- FVisInfo: TXVisualInfo;
- FGLXContext: TGLXContext;
- FGLXWindow: TGLXWindow;
- FGLXWindowCreated: Boolean;
- FSGISwapInterval: Integer;
- FRenderingContextHasBeenMadeCurrentAtLeastOnce: Boolean;
- procedure ChooseFBConfig(const AAttr: IPTCOpenGLAttributes);
- procedure GetVisualFromFBConfig;
- procedure CreateRenderingContext;
- public
- constructor Create(ADisplay: PDisplay; AScreen: cint; const AAttr: IPTCOpenGLAttributes);
- destructor Destroy; override;
- procedure AttachToWindow(AWindow: TWindow);
- procedure MakeRenderingContextCurrent;
- procedure SwapBuffers;
- procedure SetSwapInterval(AInterval: Integer);
- function GetSwapInterval: Integer;
- end;
- {$ENDIF ENABLE_X11_EXTENSION_GLX}