41 #ifndef INCLUDED_GLS_MIMIC_GROUP_H 
   42 #define INCLUDED_GLS_MIMIC_GROUP_H 
   51 #if( defined( GLSGEN_EXPORT_GLSMIMICGROUP ) || defined( GLSGEN_IMPORT_GLSMIMICGROUP ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \ 
   52     && defined( _MSC_VER ) 
   53 #    if defined( GLSGEN_EXPORT_GLSMIMICGROUP ) || defined( GLS_EXPORT_GENERATED ) 
   54 #        define GLSGEN_GLSMIMICGROUP_EXPORT __declspec( dllexport ) 
   56 #        define GLSGEN_GLSMIMICGROUP_EXPORT __declspec( dllimport ) 
   59 #    define GLSGEN_GLSMIMICGROUP_EXPORT 
   63 #define LIB_BASE_NAME "gls_mimic_group" 
   76     GLS_MIMIC_GROUP_STATE = GLS_LAST_INITIALIZER + 1,
 
   77     GLS_MIMIC_GROUP_MIMIC_ACTIVE,
 
   78     GLS_MIMIC_GROUP_BOTTOM_LEFT_CORNER,
 
   79     GLS_MIMIC_GROUP_TOP_RIGHT_CORNER,
 
   80     GLS_MIMIC_GROUP_SHOW_OUTLINE,
 
   81     GLS_MIMIC_GROUP_TEXTURE_HEIGHT,
 
   82     GLS_MIMIC_GROUP_TEXTURE_WIDTH,
 
   83     GLS_MIMIC_GROUP_HAS_DEPTH_BUFFER,
 
   84     GLS_MIMIC_GROUP_DEPTH_TEST,
 
   85     GLS_MIMIC_GROUP_GENERATE_MIPMAPS,
 
   86     GLS_MIMIC_GROUP_DRAW_MIMIC_POLYGON,
 
   87     GLS_MIMIC_GROUP_ATTACHED_TEXTURE_INDEX,
 
   88     GLS_MIMIC_GROUP_CLEAR_COLOR,
 
   89     GLS_MIMIC_GROUP_USE_OPAQUE_TEXTURE,
 
   90     GLS_MIMIC_GROUP_MIMIC_AUTO_REDRAW
 
  127     friend class GlsMimicGroupEditor;
 
  128     DISTI_DEPRECATED( 
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
 
  138     GLSGEN_GLSMIMICGROUP_EXPORT 
GlsMimicGroup( 
bool generateInstance = 
false );
 
  140     GLSGEN_GLSMIMICGROUP_EXPORT GlsMimicGroup( 
const GlsMimicGroup& that, 
const bool generateNames );
 
  184     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void Draw( 
void );
 
  189     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void SetValue( 
int spec, va_list& args );
 
  200     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
unsigned int TextureWidth()
 const { 
return _textureWidth; }
 
  207     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void TextureWidth( 
unsigned int textureWidth );
 
  214     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
unsigned int TextureHeight()
 const { 
return _textureHeight; }
 
  221     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void TextureHeight( 
unsigned int textureHeight );
 
  228     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
bool HasDepthBuffer()
 const { 
return _hasDepthBuffer; }
 
  235     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void HasDepthBuffer( 
bool hasDepthBuffer );
 
  242     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
bool GenerateMipMaps()
 const { 
return _generateMipMaps; }
 
  249     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void GenerateMipMaps( 
bool generate );
 
  270     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
unsigned char MimicGroupDepthTest()
 const { 
return _mimicGroupDepthTest; }
 
  277     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void MimicGroupDepthTest( 
unsigned char depthSettings );
 
  284     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
bool AutoRedraw()
 const { 
return _autoRedraw; }
 
  291     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void AutoRedraw( 
bool autoRedrawSetting );
 
  370     GLSGEN_GLSMIMICGROUP_EXPORT 
bool ShowOutline( 
void )
 const { 
return _showOutline; }
 
  377     GLSGEN_GLSMIMICGROUP_EXPORT 
void ShowOutline( 
bool showOutline );
 
  384     GLSGEN_GLSMIMICGROUP_EXPORT 
bool Redraw( 
void )
 const { 
return _redraw; }
 
  391     GLSGEN_GLSMIMICGROUP_EXPORT 
void Redraw( 
bool redraw );
 
  398     GLSGEN_GLSMIMICGROUP_EXPORT 
bool UseOpaqueTexture( 
void )
 const { 
return _useOpaqueTexture; }
 
  415     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void InsertObject( 
DisplayObject* obj, 
bool reparent = 
true, 
bool recalculateBoundingbox = 
true, 
int loc = -1 ) DISTI_METHOD_OVERRIDE;
 
  425     GLSGEN_GLSMIMICGROUP_EXPORT 
void Invalidate() DISTI_METHOD_OVERRIDE;
 
  430     GLSGEN_GLSMIMICGROUP_EXPORT 
bool IsInvalidated() const DISTI_METHOD_OVERRIDE;
 
  437     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void SetMatrices();
 
  546     bool          _mimicGroupActive;      
 
  549     bool          _hasDepthBuffer;        
 
  550     bool          _generateMipMaps;       
 
  552     bool          _drawMimicGroupPolygon; 
 
  553     unsigned char _mimicGroupDepthTest;   
 
  554     bool          _textureIndexChanged;
 
  558     int           _attachedTextureIndex;           
 
  559     unsigned int  _textureWidth;                   
 
  560     unsigned int  _textureHeight;                  
 
  561     unsigned int  _frameBufferHandle;              
 
  562     unsigned int  _depthBufferHandle;              
 
  563     Image*        _mimicGroupTexture;              
 
  564     unsigned int  _vertexBufferHandle;             
 
  567     bool          _useOpaqueTexture;               
 
virtual GlsColor ClearColor() const 
Definition: gls_mimic_group.h:298
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute. 
Definition: gls_cpp_lang_support.h:436
void Invalidate() DISTI_METHOD_OVERRIDE
static DisplayObject * CreateInstance()
bool ShowOutline(void) const 
Definition: gls_mimic_group.h:370
Definition: dynamic_array.h:66
virtual unsigned char MimicGroupDepthTest() const 
Definition: gls_mimic_group.h:270
The disti::Group class. Implements groups of objects. 
Class to contain current OpenGL view, projection and draw matrices. 
Definition: util.h:296
void ApplyMimicGroupTextureSettings()
virtual bool AutoRedraw() const 
Definition: gls_mimic_group.h:284
DisplayObject * handle(DisplayEvent *displayEvent)
void LogUnsupportedFeatures()
virtual void PreDrawMimicGroupChildren(const OpenGLMatrices &parentMatrices, Culler &culler)
virtual bool GenerateMipMaps() const 
Definition: gls_mimic_group.h:242
void CreateDiffuseTexture()
Definition: gls_glo_file.h:982
Definition: gls_mimic_group.h:119
virtual void SetAvailableAttributes(unsigned int value)
The Image class. All textures are converted internally into Images. 
Definition: gls_painter.h:51
bool _overrideMimicGroupActive
Definition: gls_mimic_group.h:566
virtual bool DrawMimicGroupPolygon() const 
Definition: gls_mimic_group.h:256
void SetupMimicGroupDepthTest()
virtual bool HasDepthBuffer() const 
Definition: gls_mimic_group.h:228
virtual void SetMatrices()
virtual void CopyProperties(DisplayObject *src)
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
virtual void InsertObject(DisplayObject *obj, bool reparent=true, bool recalculateBoundingbox=true, int loc=-1) DISTI_METHOD_OVERRIDE
virtual unsigned int TextureWidth() const 
Definition: gls_mimic_group.h:200
Utility for common frame buffer support. 
virtual void PushObject(DisplayObject *obj) DISTI_METHOD_OVERRIDE
bool Redraw(void) const 
Definition: gls_mimic_group.h:384
Definition: gls_color.h:53
bool MimicGroupActive(void)
Definition: gls_mimic_group.h:327
Vector TopRightCorner(void) const 
Definition: gls_mimic_group.h:363
void SetPainter(GlsPainter *painter) DISTI_METHOD_OVERRIDE
bool _frameBuffersEnabledAndAttached
Definition: gls_mimic_group.h:565
virtual unsigned int TextureHeight() const 
Definition: gls_mimic_group.h:214
virtual void SetValue(int spec, va_list &args)
void CreateDepthTexture()
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
bool RequiredGlFeaturesSupported()
Vector BottomLeftCorner(void)
Definition: gls_mimic_group.h:349
void CreateMimicGroupQuad()
virtual DisplayObject * CloneObject(bool generateNames=false)
Macros and helper code to determine what subset of C++11/14/17 is available. 
bool VertexBuffersAreSupported()
Definition: bmpimage.h:46
bool IsInvalidated() const DISTI_METHOD_OVERRIDE
bool UseOpaqueTexture(void) const 
Definition: gls_mimic_group.h:398
virtual int AttachedTextureIndex() const 
Definition: gls_mimic_group.h:312
void GetRegionCorners(Vector &topLeftCorner, Vector &topRightCorner, Vector &bottomRightCorner, Vector &bottomLeftCorner)
static bool _unsupportedLogged
Definition: gls_mimic_group.h:569