library: libRGL
#include "TX11GL.h"

TX11GLManager


class description - source file - inheritance tree (.pdf)

class TX11GLManager : public TGLManager

Inheritance Chart:
TObject
<-
TNamed
<-
TGLManager
<-
TX11GLManager
    private:
TX11GLManager(const TX11GLManager&) Bool_t CreateGLPixmap(TX11GLManager::TGLContext_t&) TX11GLManager& operator=(const TX11GLManager&) public:
TX11GLManager() ~TX11GLManager() virtual Bool_t AttachOffScreenDevice(Int_t ctxInd, Int_t x, Int_t y, UInt_t w, UInt_t h) static TClass* Class() virtual Int_t CreateGLContext(Int_t winInd) virtual void DeleteGLContext(Int_t devInd) virtual void DrawViewer(TVirtualViewer3D* vv) virtual void ExtractViewport(Int_t devInd, Int_t* vp) virtual void Flush(Int_t ctxInd) virtual Int_t GetVirtualXInd(Int_t devInd) virtual Int_t InitGLWindow(Window_t winID) virtual TClass* IsA() const virtual Bool_t MakeCurrent(Int_t devInd) virtual void MarkForDirectCopy(Int_t devInd, Bool_t) virtual void PaintSingleObject(TVirtualGLPainter*) virtual void PrintViewer(TVirtualViewer3D* vv) virtual void ReadGLBuffer(Int_t devInd) virtual Bool_t ResizeOffScreenDevice(Int_t devInd, Int_t x, Int_t y, UInt_t w, UInt_t h) virtual TObject* Select(TVirtualViewer3D* vv, Int_t x, Int_t y) virtual void SelectOffScreenDevice(Int_t devInd) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TX11GLManager::TX11GLImpl* fPimpl

Class Description

                                                                      
 TX11GL                                                               
                                                                      
 The TX11GL is X11 implementation of TVirtualGLImp class.             
                                                                      


TX11GLManager() : fPimpl(new TX11GLImpl)

~TX11GLManager()

Int_t InitGLWindow(Window_t winID)
Try to find correct visual

Int_t CreateGLContext(Int_t winInd)
context creation requires Display * and XVisualInfo (was saved for such winInd)

Bool_t MakeCurrent(Int_t ctxInd)
Make gl context current

void Flush(Int_t ctxInd)
swaps buffers or copy pixmap

Bool_t CreateGLPixmap(TGLContext_t &ctx)
Create new x11 pixmap and XImage

Bool_t AttachOffScreenDevice(Int_t ctxInd, Int_t x, Int_t y, UInt_t w, UInt_t h)
Create pixmap and XImage for GL context ctxInd

Bool_t ResizeOffScreenDevice(Int_t ctxInd, Int_t x, Int_t y, UInt_t w, UInt_t h)
Create new pixmap and XImage if needed

void SelectOffScreenDevice(Int_t ctxInd)
selects off-screen device to make it
accessible by gVirtualX

void MarkForDirectCopy(Int_t ctxInd, Bool_t dir)
selection-rotation support for TPad/TCanvas

void ReadGLBuffer(Int_t ctxInd)
GL buffer is read info buffer, after that lines are reordered
into XImage, XImage copied into pixmap.
If someone knows better way, please, let me know :)

void DeleteGLContext(Int_t ctxInd)
Deletes GLX context and frees pixmap and image (if any)

Int_t GetVirtualXInd(Int_t ctxInd)
Returns index appropriate for gVirtualX

void ExtractViewport(Int_t ctxInd, Int_t *viewport)
Returns current sizes of gl pixmap

void DrawViewer(TVirtualViewer3D *vv)

TObject* Select(TVirtualViewer3D *vv, Int_t x, Int_t y)

void PaintSingleObject(TVirtualGLPainter *p)

void PrintViewer(TVirtualViewer3D *vv)



Inline Functions


         TX11GLManager TX11GLManager(const TX11GLManager&)
        TX11GLManager& operator=(const TX11GLManager&)
               TClass* Class()
               TClass* IsA() const
                  void ShowMembers(TMemberInspector& insp, char* parent)
                  void Streamer(TBuffer& b)
                  void StreamerNVirtual(TBuffer& b)


Author: Timur Pocheptsov (TX11GLManager) / Valeriy Onuchin (TX11GL)
Last update: root/gx11:$Name: $:$Id: TX11GL.cxx,v 1.14 2006/02/07 14:18:46 couet Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.