This class encapsulates window-system specific information about a GL-context and alows their proper management in ROOT.
Definition at line 30 of file TGLContext.h.
Public Member Functions | |
| TGLContext (TGLWidget *glWidget, Bool_t shareDefault=kTRUE, const TGLContext *shareList=nullptr) | |
| TGLContext ctor "from" TGLWidget.   | |
| virtual | ~TGLContext () | 
| TGLContext dtor.   | |
| Bool_t | ClearCurrent () | 
| Reset current context.   | |
| TGLContextIdentity * | GetIdentity () const | 
| We can have several shared contexts, and gl-scene wants to know, if some context (defined by its identity) can be used.   | |
| virtual TClass * | IsA () const | 
| Bool_t | IsValid () const | 
| Bool_t | MakeCurrent () | 
| If context is valid (TGLPaintDevice, for which context was created still exists), make it current.   | |
| void | Release () | 
| Make the context invalid and (do thread switch, if needed) free resources.   | |
| void | SetContext (TGLWidget *widget, const TGLContext *shareList) | 
| X11 gl-context creation.   | |
| virtual void | Streamer (TBuffer &) | 
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
| void | SwapBuffers () | 
| If context is valid (TGLPaintDevice, for which context was created still exists), swap buffers (in case of P-buffer call glFinish()).   | |
Static Public Member Functions | |
| static TClass * | Class () | 
| static const char * | Class_Name () | 
| static constexpr Version_t | Class_Version () | 
| static const char * | DeclFileName () | 
| static TGLContext * | GetCurrent () | 
| Ask TGLContextPrivate to lookup context in its internal map.   | |
| static void | GlewInit () | 
| Initialize GLEW - static private function.   | |
Private Member Functions | |
| TGLContext (const TGLContext &) | |
| TGLContext & | operator= (const TGLContext &) | 
Private Attributes | |
| TGLPaintDevice * | fDevice | 
| Bool_t | fFromCtor | 
| TGLContextIdentity * | fIdentity | 
| std::unique_ptr< TGLContextPrivate > | fPimpl | 
| Bool_t | fValid | 
Static Private Attributes | |
| static Bool_t | fgGlewInitDone = kFALSE | 
Friends | |
| class | TGLContextPrivate | 
| class | TGLWidget | 
#include <TGLContext.h>
| TGLContext::TGLContext | ( | TGLWidget * | wid, | 
| Bool_t | shareDefault = kTRUE,  | 
        ||
| const TGLContext * | shareList = nullptr  | 
        ||
| ) | 
TGLContext ctor "from" TGLWidget.
Is shareDefault is true, the shareList is set from default context-identity. Otherwise the given shareList is used (can be null). Makes thread switching.
Definition at line 51 of file TGLContext.cxx.
      
  | 
  virtual | 
TGLContext dtor.
If it's called before TGLPaintDevice's dtor (context is valid) resource will be freed and context un-registered.
Definition at line 428 of file TGLContext.cxx.
      
  | 
  private | 
      
  | 
  static | 
      
  | 
  inlinestaticconstexpr | 
Definition at line 74 of file TGLContext.h.
| Bool_t TGLContext::ClearCurrent | ( | ) | 
Reset current context.
Definition at line 386 of file TGLContext.cxx.
      
  | 
  inlinestatic | 
Definition at line 74 of file TGLContext.h.
      
  | 
  static | 
Ask TGLContextPrivate to lookup context in its internal map.
Definition at line 451 of file TGLContext.cxx.
| TGLContextIdentity * TGLContext::GetIdentity | ( | ) | const | 
We can have several shared contexts, and gl-scene wants to know, if some context (defined by its identity) can be used.
Definition at line 443 of file TGLContext.cxx.
      
  | 
  static | 
Initialize GLEW - static private function.
Called immediately after creation of the first GL context.
Definition at line 85 of file TGLContext.cxx.
      
  | 
  inlinevirtual | 
Definition at line 74 of file TGLContext.h.
      
  | 
  inline | 
Definition at line 65 of file TGLContext.h.
| Bool_t TGLContext::MakeCurrent | ( | ) | 
If context is valid (TGLPaintDevice, for which context was created still exists), make it current.
Definition at line 362 of file TGLContext.cxx.
      
  | 
  private | 
| void TGLContext::Release | ( | ) | 
Make the context invalid and (do thread switch, if needed) free resources.
Definition at line 412 of file TGLContext.cxx.
| void TGLContext::SetContext | ( | TGLWidget * | widget, | 
| const TGLContext * | shareList | ||
| ) | 
X11 gl-context creation.
Defined as a member-function (this code removed from ctor) to make WIN32/X11 separation cleaner. This function is public only for calls via gROOT and called from ctor.
Definition at line 329 of file TGLContext.cxx.
      
  | 
  virtual | 
      
  | 
  inline | 
Definition at line 74 of file TGLContext.h.
| void TGLContext::SwapBuffers | ( | ) | 
If context is valid (TGLPaintDevice, for which context was created still exists), swap buffers (in case of P-buffer call glFinish()).
Definition at line 395 of file TGLContext.cxx.
      
  | 
  friend | 
Definition at line 32 of file TGLContext.h.
      
  | 
  friend | 
Definition at line 33 of file TGLContext.h.
      
  | 
  private | 
Definition at line 37 of file TGLContext.h.
      
  | 
  private | 
Definition at line 40 of file TGLContext.h.
Definition at line 45 of file TGLContext.h.
      
  | 
  private | 
Definition at line 43 of file TGLContext.h.
      
  | 
  private | 
Definition at line 38 of file TGLContext.h.
      
  | 
  private | 
Definition at line 41 of file TGLContext.h.