GL Studio C++ Runtime API
EmbeddedDisplayFrame Class Reference

#include <embedded_display_frame.h>

Inheritance diagram for EmbeddedDisplayFrame:
RuntimeDisplayFrame DisplayFrame AttributeChangedNotifier

Public Member Functions

virtual void RemoveSplash ()
 
virtual void CreateSplash ()
 
virtual void SetProjection (GlsMatrixType &projMatrix, GlsMatrixType &model)
 
virtual bool FrameAnimate (void)
 
virtual void Redraw (void)
 
virtual void SetRedraw (void)
 
virtual bool UpdateAnimate (void)
 
virtual void WidthOffset (float offset)
 
virtual float WidthOffset (void)
 
virtual void HeightOffset (float offset)
 
virtual float HeightOffset (void)
 
virtual void DepthFactor (float factor)
 
virtual float DepthFactor ()
 
virtual void FOV (double fov)
 
virtual double FOV ()
 
virtual void CurrentView (const int view)
 
virtual int CurrentView (void) const
 
- Public Member Functions inherited from RuntimeDisplayFrame
 RuntimeDisplayFrame (const char *name, int width, int height)
 
virtual ~RuntimeDisplayFrame ()
 
virtual void Clear (void)
 
virtual GlsEyePointCurrentEyePoint ()
 
virtual void CurrentEyePoint (GlsEyePoint *eye)
 
virtual void Scale (float scale)
 
virtual float Scale (void)
 
virtual DisplayObjecthandle (DisplayEvent *ev)
 
virtual void BackgroundColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
virtual void GetBackgroundColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
 
virtual void BackgroundColor (const GlsColor &color)
 
const char * Name (void)
 
void Name (char *name)
 
virtual GlsColor BackgroundColor (void)
 
virtual int FrameInterval (void)
 
virtual void FrameInterval (int interval)
 
virtual StatisticsStats ()
 
virtual void RecordCalculateStart (void)
 
virtual void RecordCalculateEnd (void)
 
virtual void ClearDragAndFocus ()
 
- Public Member Functions inherited from DisplayFrame
 DisplayFrame (int width, int height, bool allocateObjects=true)
 
void ClearBitfield (GLbitfield bitField)
 
GLbitfield ClearBitfield ()
 
virtual void DragObject (DisplayObject *obj)
 
virtual DisplayObjectDragObject (void)
 
virtual void ClearDrag ()
 
virtual void FocusObject (DisplayObject *obj)
 
virtual DisplayObjectFocusObject (void)
 
virtual void ClearFocus ()
 
virtual void MultitouchEnabled (bool enabled)
 
virtual bool MultitouchEnabled (void)
 
virtual InputHandlerGetInputHandler ()
 
virtual DisplayObjectHandleDisplayEvent (DisplayEvent *ev)
 
virtual void WriteResources (const char *filename, GlsResourceFilter *filter=NULL)
 
virtual void ReadResources (const char *filename)
 
virtual DistiAttributeBaseResource (const char *name)
 
virtual void GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
 
virtual void SetResources (std::istream &instr)
 
void SetResource (const std::string &resourceName, const std::string &resourceVal)
 
std::string GetResource (const std::string &resourceName)
 
virtual char * GetResource_CRTClean (const char *name)
 
virtual void GetResourceFree_CRTClean (char *memoryToFree)
 
virtual char * GetResources_CRTClean (GlsResourceFilter *filter)
 
virtual void GetResourcesFree_CRTClean (char *memoryToFree)
 
virtual void SetResource_CRTClean (const char *name, const char *value)
 
virtual void SetResources_CRTClean (const char *buf)
 
virtual void NotifyAttributeChanged (const AttributeName &name)
 
virtual InterfaceListTypeGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL)
 
virtual void GetCppInterfaceDescriptionFree (InterfaceListType *array)
 
void SetTexturePaletteSize (int cnt)
 
void Draw (void)
 
void InsertObject (DisplayObject *obj, int loc)
 
void PushObject (DisplayObject *obj)
 
int Width (void)
 
int Height (void)
 
void SetWidth (int w)
 
void SetHeight (int h)
 
bool CullingEnabled (void)
 
void CullingEnabled (const bool enabled)
 
DistiAttribDictFrameAttribDict (void)
 
const DistiAttribDictFrameAttribDict (void) const
 
DynamicMaterialArrayMaterialPalette (void)
 
ComponentLightMgrLightMgr (void)
 
void LightMgr (ComponentLightMgr *val)
 
- Public Member Functions inherited from AttributeChangedNotifier
virtual ~AttributeChangedNotifier ()
 

Public Attributes

EventCompressor< DisplayFrameeventCompressor
 
- Public Attributes inherited from RuntimeDisplayFrame
GlsColor _backgroundColor
 
- Public Attributes inherited from DisplayFrame
TexturePalettetexturePalette
 
SoundSystem_sound_player
 
Groupobjects
 

Protected Member Functions

virtual void BuildAndSendEvent (int x, int y, int pressure, unsigned int eventType)
 
- Protected Member Functions inherited from DisplayFrame
virtual void CurrentCursor (unsigned int cursor_id)
 
void CleanupDragMap ()
 
DisplayObjectGetDragObjectForCursor (unsigned int cursorID)
 
DisplayObjectFindDragObject ()
 

Protected Attributes

Timer frameTimer
 
float _smoothedFrameDelay
 
bool _redraw
 
float _width_offset
 
float _height_offset
 
float _depthFactor
 
double _fov
 
double _nearZ
 
bool _autoCalcNearZ
 
double _farZ
 
bool _autoCalcFarZ
 
int _current_view
 
- Protected Attributes inherited from RuntimeDisplayFrame
std::string _name
 
float _scale
 
unsigned int frameInterval
 
GlsEyePoint_currentEyePoint
 
- Protected Attributes inherited from DisplayFrame
bool _cullingEnabled
 
int _width
 
int _height
 
float _lastPickedDepth
 
DynamicMaterialArray _materialPalette
 
ComponentLightMgr_lightMgr
 
GLbitfield _clearBitfield
 
std::string _componentHeaderFileName
 
unsigned int _currentCursor
 
bool _multitouchEnabled
 
unsigned int _cursorsDown
 

Additional Inherited Members

- Static Public Member Functions inherited from DisplayFrame
static void SetOpenGLDefaultState (bool saveVal)
 
static void RestoreOpenGLState (void)
 

Detailed Description

Base class for all embedded (openGL ES) display frame classes

Member Function Documentation

virtual void BuildAndSendEvent ( int  x,
int  y,
int  pressure,
unsigned int  eventType 
)
protectedvirtual

Builds a DisplayEvent for passing to the handle method

Parameters
xX device coordinate
yY device coordinate
pressureTouchscreen pressure
eventTypeTouch event type (e.g. MOUSE_UP,MOUSE_DOWN,MOUSE_DRAG
virtual void CreateSplash ( )
inlinevirtual

Creates the spash screen Note on iOS the AppDelegate presents the splash screen for us, so this is just a stub

virtual void CurrentView ( const int  view)
inlinevirtual

Sets the current view mode for the window

Parameters
viewThe new view mode for the window. Acceptable view types are: [VIEW_EYEPOINT - The application will be viewed through an eyepoint] [VIEW_XY - The application will be viewed through a 2D orthographic view of the XY plane] [VIEW_PERSPECTIVE - The application will be viewed through a perspective projection]
virtual int CurrentView ( void  ) const
inlinevirtual

Gets the current view mode for the window.

Returns
The current viewmode for the window (VIEW_EYEPOINT, VIEW_XY, VIEW_PERSPECTIVE)
virtual void DepthFactor ( float  factor)
virtual

Sets the Depth Factor for the window

Parameters
factorThe depth factor. Used for autocalculating clipping planes
virtual float DepthFactor ( )
virtual

Gets the Depth Factor for the window

Returns
The current depth factor
virtual void FOV ( double  fov)
virtual

Sets the FOV (Field of View) for the window. If fov is set to 0.0, a reasonable FOV will be calculated based on width and height.

Parameters
fovNew field of view in degrees
virtual double FOV ( )
virtual

Gets the FOV (Field of View) for the window.

Returns
The current field of view in degrees
virtual bool FrameAnimate ( void  )
virtual

Redraw the window at the Hz rate set for the DisplayFrame, or at least try to. We might be slower if the hardware can't keep up.

virtual void HeightOffset ( float  offset)
virtual

Pans the display vertically

Parameters
offsetThe new Y position of the center of the window
virtual float HeightOffset ( void  )
virtual

Gets the vertical position of the display at the center of the window

Returns
The Y position at the center of the window
virtual void Redraw ( void  )
virtual

Redraw the window now. This actually calls the OpenGL Drawing routines.

virtual void RemoveSplash ( )
inlinevirtual

Removes (hides) the spash screen Note on iOS the AppDelegate presents the splash screen for us, so this is just a stub

virtual void SetProjection ( GlsMatrixType projMatrix,
GlsMatrixType model 
)
virtual

Sets up the default Orthographic projection (which supports things like pan and zoom)

virtual void SetRedraw ( void  )
virtual

Set a flag that UpdateAnimate can test to see if the window needs redrawing.

Reimplemented from DisplayFrame.

virtual bool UpdateAnimate ( void  )
virtual

Only draw on events or if SetRedraw has been called. If this is called in a main loop, updates can occur very frequently if SetRedraw is continuously being called.

virtual void WidthOffset ( float  offset)
virtual

Pans the display horizontally

Parameters
offsetThe new X position at the center of the window
virtual float WidthOffset ( void  )
virtual

Gets the horizontal position of the display at the center of the window

Returns
The X position at the center of the window

Member Data Documentation

bool _autoCalcFarZ
protected

When true a _farZ is automatically calculated.

bool _autoCalcNearZ
protected

When true a _nearZ is automatically calculated.

int _current_view
protected

Current view of the canvas (e.g., ortho, perspective, eyepoint)

float _depthFactor
protected

For better control over clipping and field of view, use a GlsEyePoint, but some limited functionality is available here Used for auto calculations

double _farZ
protected

Far clipping plane. Only meaningfull if _autoCalcVarZ is false

double _fov
protected

Field Of View. If 0.0 (the default), fov will be auto calculated.

float _height_offset
protected

Current "height" offset of window. Used for panning of display vertically in ortho mode.

double _nearZ
protected

Near clipping plane. Only meaningful if _autoCalcNearZ is false

bool _redraw
protected

Flag indicating if the window should be redrawn

float _smoothedFrameDelay
protected

Frame interval, smoothed based on actual draw performance

float _width_offset
protected

Current "width" offset of window. Used for panning of display horizontally in ortho mode.

EventCompressor<DisplayFrame> eventCompressor

Used for event compression. Not for general use by users.

Timer frameTimer
protected

Timer used for scheduling


The documentation for this class was generated from the following file: