Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:46:20

0001 #ifndef Subsystem_Package_FWTGLViewer_h
0002 #define Subsystem_Package_FWTGLViewer_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Subsystem/Package
0006 // Class  :     FWTGLViewer
0007 //
0008 /**\class FWTGLViewer FWTGLViewer.h "FWTGLViewer.h"
0009 
0010  Description: [one line class summary]
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:
0018 //         Created:  Tue, 03 Feb 2015 21:45:22 GMT
0019 //
0020 
0021 // system include files
0022 
0023 // user include files
0024 
0025 #include "TGLEmbeddedViewer.h"
0026 
0027 // forward declarations
0028 
0029 class TGWindow;
0030 class TGLFBO;
0031 
0032 class FWTGLViewer : public TGLEmbeddedViewer {
0033 public:
0034   FWTGLViewer(const TGWindow* parent);
0035   ~FWTGLViewer() override;
0036 
0037   // ---------- const member functions ---------------------
0038 
0039   // ---------- static member functions --------------------
0040 
0041   // ---------- member functions ---------------------------
0042 
0043   void DrawHiLod(Bool_t swap_buffers);
0044   void JustSwap();
0045 
0046   TGLFBO* MakeFbo();
0047   TGLFBO* MakeFboWidth(Int_t width, Bool_t pixel_object_scale = kTRUE);
0048   TGLFBO* MakeFboHeight(Int_t height, Bool_t pixel_object_scale = kTRUE);
0049   TGLFBO* MakeFboScale(Float_t scale, Bool_t pixel_object_scale = kTRUE);
0050 
0051   TGLFBO* GenerateFbo(Int_t w, Int_t h, Float_t pixel_object_scale);
0052 
0053   FWTGLViewer(const FWTGLViewer&) = delete;  // stop default
0054 
0055   const FWTGLViewer& operator=(const FWTGLViewer&) = delete;  // stop default
0056 
0057 private:
0058   // ---------- member data --------------------------------
0059 
0060   TGLFBO* m_fbo;
0061   int m_fbo_w, m_fbo_h;
0062 };
0063 
0064 #endif