| GL Studio C++ Runtime API

gls_rso_wrapper.h
Go to the documentation of this file.
1/*! \file
2 \brief The disti::GlsRSOWrapper class.
3
4 \par Copyright Information
5
6 Copyright (c) 2017 by The DiSTI Corporation.<br>
7 11301 Corporate Blvd; Suite 100<br>
8 Orlando, Florida 32817<br>
9 USA<br>
10 <br>
11 All rights reserved.<br>
12
13 This Software contains proprietary trade secrets of DiSTI and may not be
14 reproduced, in whole or part, in any form, or by any means of electronic,
15 mechanical, or otherwise, without the written permission of DiSTI. Said
16 permission may be derived through the purchase of applicable DiSTI product
17 licenses which detail the distribution rights of this content and any
18 Derivative Works based on this or other copyrighted DiSTI Software.
19
20 NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND,
21 AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT
22 PERMITTED BY APPLICABLE LAW, DISTI AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES
23 AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
24 IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A
25 PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE.
26
27 LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW,
28 IN NO EVENT SHALL DISTI OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
29 INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION,
30 DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
31 INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
32 INABILITY TO USE THE SOFTWARE, EVEN IF DISTI HAS BEEN ADVISED OF THE POSSIBILITY
33 OF SUCH DAMAGES. DISTI'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL NOT
34 EXCEED FIVE DOLLARS (US$5.00).
35
36 The aforementioned terms and restrictions are governed by the laws of the
37 State of Florida and the United States of America.
38
39*/
40#ifndef _GLS_RSO_WRAPPER_H
41#define _GLS_RSO_WRAPPER_H
42
43#include "component_base.h"
44
45#ifdef GLES
46# include "rso_interface_es_2.h"
47 typedef disti::RSOInterfaceES1 RsoImplBaseInterface; ///< Typedef for the original RSO interface.
48 typedef disti::RSOInterfaceES2::RSOPainter RSOPainterT; ///< Typedef for the RSO interface painter type.
49#else
50# include "rso_interface_5.h"
51 typedef disti::RSOInterface1 RsoImplBaseInterface; ///< Typedef for the original RSO interface.
52 typedef disti::RSOInterface5::RSOPainter RSOPainterT; ///< Typedef for the RSO interface painter type.
53#endif
54
55 namespace disti
56{
57 class AttributeWrapperMap;
58 class EmittedEventHandlerImpl;
59 class MouseEvent;
60
61/** The GlsRSOWrapper class wraps an RsoImplBaseInterface object
62 so that it can be inserted into the GL Studio heirarchy.
63 */
64 class GlsRSOWrapper : public ComponentBase
65 , virtual public RSOPainterT
66{
67 public:
68 DISTI_DEPRECATED( "This identifier is forbidden by the C++ standard. Use BaseClass instead." )
69 typedef ComponentBase _BaseClass; ///< Deprecated typedef for the base class.
70 typedef ComponentBase BaseClass; ///< Typedef for the base class.
71
72 /// Constructor
73 /// \param rso The RSO to wrap.
74 /// \param RSOVersion The highest RSOInterface the RSO supports (e.g. 1,2,3).
75 GLS_EXPORT GlsRSOWrapper( RsoImplBaseInterface* rso, unsigned int RSOVersion );
76
77 /// Call CreateInstance() and Destroy() instead of new and delete
78 /// in a mixed-library environment to ensure that matching
79 /// new and delete operators are called.
80 /// \param rso The RSO to wrap.
81 /// \param RSOVersion The highest RSOInterface the RSO supports (e.g. 1,2,3).
82 /// \return A pointer to a new GlsRSOWrapper object.
83 static GLS_EXPORT GlsRSOWrapper* CreateInstance( RsoImplBaseInterface* rso, unsigned int RSOVersion );
84
85 /** Destructor
86 * Don't call "delete yourComponent;", instead call "yourComponent->Destroy();"
87 * to ensure that the object is deleted correctly.
88 */
89 virtual GLS_EXPORT ~GlsRSOWrapper();
90
91 /** Utility Method: Users should call Destroy() instead.
92 * Safely delete an object that was created using CreateInstance.
93 */
94 virtual GLS_EXPORT void DeleteInstance();
95
96 /** Replace the RSO that the GlsRSOWrapper is wrapping.
97 * \param rso The new RSO to use
98 * \param deleteCurrent Whether to delete the currently referenced rso. If false, then the caller is responsible for deleting it.
99 */
100 GLS_EXPORT void ChangeRSO( RsoImplBaseInterface* rso, bool deleteCurrent = true );
101
102 /// \return The current RSOInterface object.
103 GLS_EXPORT RsoImplBaseInterface* RSOInterface();
104
105 /// \return The rso version.
106 unsigned int GetRSOVersion() const
107 {
108 return _rsoVersion;
109 }
110
111 /// Handle an event that was emitted from the RSO.
112 /// \param ev The event to handle.
113 /// \return Non-zero if the event was handled, otherwise zero.
114 GLS_EXPORT int HandleEmittedEvent( RsoImplBaseInterface::Event* ev );
115
116 /// \return The qualified instance name of the initiator of the last
117 /// event that was passed to HandleEmittedEvent or "" if no events
118 /// have been passed to HandleEmittedEvent.
119 GLS_EXPORT const char* LastEmittedEventInitiatorName() const;
120
121 /// \copydoc DisplayObject::AlphaMode(int)
122 virtual GLS_EXPORT void AlphaMode( int mode ) DISTI_METHOD_OVERRIDE;
123 /// \copydoc DisplayObject::AlphaMode()
124 virtual GLS_EXPORT int AlphaMode() DISTI_METHOD_OVERRIDE;
125 /// \copydoc DisplayObject::AntiAlias(bool)
126 virtual GLS_EXPORT void AntiAlias( bool alias ) DISTI_METHOD_OVERRIDE;
127 /// \copydoc DisplayObject::AntiAlias()
128 virtual GLS_EXPORT bool AntiAlias() DISTI_METHOD_OVERRIDE;
129 /// \copydoc DisplayObject::SetBlendColor(const GlsColor&)
130 virtual GLS_EXPORT void SetBlendColor( const GlsColor& color ) DISTI_METHOD_OVERRIDE;
131 /// \copydoc DisplayObject::GetBlendColor()
132 virtual GLS_EXPORT GlsColor GetBlendColor() DISTI_METHOD_OVERRIDE;
133 /// \copydoc DisplayObject::GetColor()
134 virtual GLS_EXPORT GlsColor GetColor() DISTI_METHOD_OVERRIDE;
135 /// \copydoc DisplayObject::SetColor(const GlsColor&)
136 virtual GLS_EXPORT void SetColor( const GlsColor& color ) DISTI_METHOD_OVERRIDE;
137 /// \copydoc DisplayObject::CullBackFace(const bool)
138 virtual GLS_EXPORT void CullBackFace( const bool val ) DISTI_METHOD_OVERRIDE;
139 /// \copydoc DisplayObject::CullBackFace()
140 virtual GLS_EXPORT bool CullBackFace() DISTI_METHOD_OVERRIDE;
141 /// \copydoc DisplayObject::DepthTest()
142 virtual GLS_EXPORT int DepthTest() DISTI_METHOD_OVERRIDE;
143 /// \copydoc DisplayObject::DepthTest(unsigned char)
144 virtual GLS_EXPORT void DepthTest( unsigned char zbuf ) DISTI_METHOD_OVERRIDE;
145 /// \copydoc DisplayObject::LightingEnabled()
146 virtual GLS_EXPORT bool LightingEnabled() DISTI_METHOD_OVERRIDE;
147 /// \copydoc DisplayObject::LightingEnabled(bool)
148 virtual GLS_EXPORT void LightingEnabled( bool lighting ) DISTI_METHOD_OVERRIDE;
149 /// \copydoc DisplayObject::LineStippleMultiplier()
150 virtual GLS_EXPORT int LineStippleMultiplier() DISTI_METHOD_OVERRIDE;
151 /// \copydoc DisplayObject::LineStippleMultiplier(int)
152 virtual GLS_EXPORT void LineStippleMultiplier( int mult ) DISTI_METHOD_OVERRIDE;
153 /// \copydoc DisplayObject::LineStipplePattern()
154 virtual GLS_EXPORT int LineStipplePattern() DISTI_METHOD_OVERRIDE;
155 /// \copydoc DisplayObject::LineStipplePattern(int)
156 virtual GLS_EXPORT void LineStipplePattern( int pattern ) DISTI_METHOD_OVERRIDE;
157 /// \copydoc DisplayObject::LineWidth()
158 virtual GLS_EXPORT float LineWidth() DISTI_METHOD_OVERRIDE;
159 /// \copydoc DisplayObject::LineWidth(float)
160 virtual GLS_EXPORT void LineWidth( float width ) DISTI_METHOD_OVERRIDE;
161 /// \copydoc DisplayObject::MaterialIndex()
162 virtual GLS_EXPORT int MaterialIndex() DISTI_METHOD_OVERRIDE;
163 /// \copydoc DisplayObject::MaterialIndex(int)
164 virtual GLS_EXPORT void MaterialIndex( int index ) DISTI_METHOD_OVERRIDE;
165 /// \copydoc DisplayObject::PolygonMode()
166 virtual GLS_EXPORT int PolygonMode() DISTI_METHOD_OVERRIDE;
167 /// \copydoc DisplayObject::PolygonMode(int)
168 virtual GLS_EXPORT void PolygonMode( int mode ) DISTI_METHOD_OVERRIDE;
169 /// \copydoc DisplayObject::PolygonEnd()
170 virtual GLS_EXPORT int PolygonEnd() DISTI_METHOD_OVERRIDE;
171 /// \copydoc DisplayObject::PolygonEnd(const int)
172 virtual GLS_EXPORT void PolygonEnd( const int end ) DISTI_METHOD_OVERRIDE;
173 /// \copydoc DisplayObject::Shading()
174 virtual GLS_EXPORT int Shading() DISTI_METHOD_OVERRIDE;
175 /// \copydoc DisplayObject::Shading(const int)
176 virtual GLS_EXPORT void Shading( const int shading ) DISTI_METHOD_OVERRIDE;
177 /// \copydoc DisplayObject::TextureIndex()
178 virtual GLS_EXPORT int TextureIndex() DISTI_METHOD_OVERRIDE;
179 /// \copydoc DisplayObject::TextureIndex(int)
180 virtual GLS_EXPORT void TextureIndex( int textureIndex ) DISTI_METHOD_OVERRIDE;
181 /// \copydoc DisplayObject::TextureRepeat()
182 virtual GLS_EXPORT bool TextureRepeat() DISTI_METHOD_OVERRIDE;
183 /// \copydoc DisplayObject::TextureRepeat(const int)
184 virtual GLS_EXPORT void TextureRepeat( const int rep ) DISTI_METHOD_OVERRIDE;
185 /// \copydoc DisplayObject::TextureMappingTechnique()
186 virtual GLS_EXPORT int TextureMappingTechnique() DISTI_METHOD_OVERRIDE;
187 /// \copydoc DisplayObject::TextureMappingTechnique(const int)
188 virtual GLS_EXPORT void TextureMappingTechnique( const int map ) DISTI_METHOD_OVERRIDE;
189 /// \copydoc DisplayObject::TextureMagnificationFilter()
190 virtual GLS_EXPORT int TextureMagnificationFilter() DISTI_METHOD_OVERRIDE;
191 /// \copydoc DisplayObject::TextureMagnificationFilter(const int)
192 virtual GLS_EXPORT void TextureMagnificationFilter( const int filter ) DISTI_METHOD_OVERRIDE;
193 /// \copydoc DisplayObject::TextureMinificationFilter()
194 virtual GLS_EXPORT int TextureMinificationFilter() DISTI_METHOD_OVERRIDE;
195 /// \copydoc DisplayObject::TextureMinificationFilter(const int)
196 virtual GLS_EXPORT void TextureMinificationFilter( const int filter ) DISTI_METHOD_OVERRIDE;
197
198 /// \copydoc ComponentBase::AbsolutePlacement(bool)
199 virtual GLS_EXPORT void AbsolutePlacement( bool val ) DISTI_METHOD_OVERRIDE;
200
201 /// \copydoc DisplayObject::Calculate
202 virtual GLS_EXPORT void Calculate( double time ) DISTI_METHOD_OVERRIDE;
203 /// \copydoc Group::CalculateBoundingBox
204 virtual GLS_EXPORT void CalculateBoundingBox() DISTI_METHOD_OVERRIDE;
205 /// \copydoc DisplayObject::CloneObject
206 virtual GLS_EXPORT DisplayObject* CloneObject( bool generateNames = false ) DISTI_METHOD_OVERRIDE;
207 /// \copydoc DisplayObject::CopyGeometry
208 virtual GLS_EXPORT void CopyGeometry( DisplayObject* src ) DISTI_METHOD_OVERRIDE;
209 /// \copydoc DisplayObject::CopyProperties
210 virtual GLS_EXPORT void CopyProperties( DisplayObject* src ) DISTI_METHOD_OVERRIDE;
211
212#ifndef GLES
213 /// \copydoc DisplayObject::GetCppInterfaceDescription
214 virtual GLS_EXPORT InterfaceListType* GetCppInterfaceDescription( InterfaceListType* addToThisList = NULL ) DISTI_METHOD_OVERRIDE;
215 /// \copydoc DisplayObject::GetCppInterfaceDescriptionFree
216 virtual GLS_EXPORT void GetCppInterfaceDescriptionFree( InterfaceListType* array ) DISTI_METHOD_OVERRIDE;
217#endif
218 /// \copydoc ComponentBase::CreateObjects
219 virtual GLS_EXPORT void CreateObjects() DISTI_METHOD_OVERRIDE;
220
221 /// \copydoc DisplayObject::Draw
222 virtual GLS_EXPORT void Draw() DISTI_METHOD_OVERRIDE;
223
224 /// \copydoc DisplayObject::GetExtents
225 virtual GLS_EXPORT void GetExtents( float& x, float& y, float& z, float& x1, float& y1, float& z1 ) DISTI_METHOD_OVERRIDE;
226
227 /// \copydoc DisplayObject::GetTransformedExtents
228 virtual GLS_EXPORT void GetTransformedExtents( Vector& min, Vector& max, const GlsMatrixType& matrix, bool resetMinMax = true ) DISTI_METHOD_OVERRIDE;
229
230 /// \copydoc DisplayObject::handle
231 virtual GLS_EXPORT DisplayObject* handle( DisplayEvent* ev ) DISTI_METHOD_OVERRIDE;
232
233 /// \copydoc ComponentBase::HandleInput
234 virtual GLS_EXPORT DisplayObject* HandleInput( DisplayEvent* ev ) DISTI_METHOD_OVERRIDE;
235
236 /// \copydoc ComponentBase::Init
237 virtual GLS_EXPORT void Init() DISTI_METHOD_OVERRIDE;
238
239 /// \copydoc ComponentBase::Initialize
240 virtual GLS_EXPORT void Initialize() DISTI_METHOD_OVERRIDE;
241
242 /// \copydoc DisplayObject::Pick3D
243 virtual GLS_EXPORT DisplayObject* Pick3D( const Vector& winLoc,
244 const Vector& logicalCoords,
245 float scale,
246 const Vector& directionVector,
247 Vector& collisionWinLoc /*Returned*/,
248 const OpenGLMatrices& drawnMatrices ) DISTI_METHOD_OVERRIDE;
249
250 /// \copydoc DisplayObject::PreDraw
251 virtual GLS_EXPORT void PreDraw( const OpenGLMatrices& current, Culler& culler ) DISTI_METHOD_OVERRIDE;
252
253 /// \copydoc DisplayObject::GetResources
254 virtual GLS_EXPORT void GetResources( std::ostream& outstr, GlsResourceFilter* filter = NULL ) DISTI_METHOD_OVERRIDE;
255
256 /// \copydoc DisplayObject::Resource
257 virtual GLS_EXPORT DistiAttributeBase& Resource( const char* name ) DISTI_METHOD_OVERRIDE;
258
259 /* Unhides base class implementation. */
260 using ComponentBase::Rotate;
261 using ComponentBase::Scale;
262
263 /// \copydoc DisplayObject::UpdateBoundingVolume
264 virtual void GLS_EXPORT UpdateBoundingVolume() DISTI_METHOD_OVERRIDE;
265
266 /// \copydoc DisplayObject::SetValue
267 GLS_EXPORT void SetValue( int spec, va_list& args ) DISTI_METHOD_OVERRIDE;
268
269 /// Invalidates the painter set on this object if that painter exists.
270 virtual void GLS_EXPORT Invalidate();
271 /// \copydoc DisplayObject::SetPainter
272 virtual void GLS_EXPORT SetPainter( GlsPainter* painter ) DISTI_METHOD_OVERRIDE;
273
274protected:
275 /** enum that guides the state machine for multitouch handling for RSO's that don't support multitouch.
276 * An RSO starts in the READY_FOR_INPUT state. When it handles a mouse drag event, it moves to PROCESSING_MOUSE_DRAG
277 * state. It will ignore any other mouse events if they are not for the original cursor_id. Then, once the RSO either receives the
278 * MOUSE_UP event or stops handling the MOUSE_DRAG events, the RSO then transitions to WAITING_FOR_MOUSE_DOWN (i.e. it keeps ignoring other cursors
279 * that might have been dragging on it while it was processing its original cursor event). Once it receives a new mouse down, it transitions back to READY_FOR_INPUT
280 */
281 enum MultitouchState
282 {
283 READY_FOR_INPUT,
284 PROCESSING_MOUSE_DRAG,
285 WAITING_FOR_MOUSE_DOWN
286 };
287
288 RsoImplBaseInterface* _rsoInterface; ///< The RSO being wrapped by this interface.
289 AttributeWrapperMap* _attributeWrapperMap; ///< A map of attributes that wrap to the attributes within the RSO.
290 EmittedEventHandlerImpl* _rsoEmittedEventHandler; ///< The event handler for the RSO.
291 char* _lastEmittedEventInitiatorName; ///< The name of the last object who emitted an event that made it to the event handler.
292 MultitouchState _multitouchState; ///< The current multitouch input state, \see MultitouchState
293 unsigned int _currentCursor; ///< The cursor id of the current mouse / touch interacting with the RSO.
294 unsigned int _rsoVersion; ///< The interface version of the wrapped RSO.
295
296 /// Set the name of the object who most recently emitted an event that was handled by the event handler.
297 /// \note Not normally called by users.
298 /// \param name The new object name to set.
299 GLS_EXPORT void LastEmittedEventInitiatorName( const char* name );
300
301 /// This function should be called to handle mouse events if the RSO handles multitouch (RSO version 3 or greater).
302 /// \note Not normally called by users.
303 /// \param mev The event to handle.
304 /// \return A pointer to the object that received the event, or NULL.
305 virtual GLS_EXPORT DisplayObject* HandleMultiTouchInput( MouseEvent* mev );
306};
307
308} // namespace disti
309
310#endif
disti::ComponentBase
Definition: component_base.h:68
disti::ComponentBase::AbsolutePlacement
bool AbsolutePlacement() const
Definition: component_base.h:124
disti::Culler
Definition: cull.h:50
disti::DisplayEvent
Definition: events.h:113
disti::DisplayFrame::Scale
virtual float Scale()
Definition: display_frame.h:134
disti::DisplayObject
Definition: display.h:96
disti::DistiAttributeBase
Definition: disti_metadata.h:220
disti::DynamicArray
Definition: dynamic_array.h:79
disti::GlsColor
Definition: gls_color.h:54
disti::GlsMatrixAffine< double >
disti::GlsPainter
Definition: gls_painter.h:51
disti::GlsRSOWrapper
Definition: gls_rso_wrapper.h:66
disti::GlsRSOWrapper::PolygonMode
virtual int PolygonMode() override
disti::GlsRSOWrapper::TextureMagnificationFilter
virtual int TextureMagnificationFilter() override
disti::GlsRSOWrapper::LastEmittedEventInitiatorName
const char * LastEmittedEventInitiatorName() const
disti::GlsRSOWrapper::GetBlendColor
virtual GlsColor GetBlendColor() override
disti::GlsRSOWrapper::Calculate
virtual void Calculate(double time) override
disti::GlsRSOWrapper::CloneObject
virtual DisplayObject * CloneObject(bool generateNames=false) override
disti::GlsRSOWrapper::_currentCursor
unsigned int _currentCursor
The cursor id of the current mouse / touch interacting with the RSO.
Definition: gls_rso_wrapper.h:293
disti::GlsRSOWrapper::TextureRepeat
virtual bool TextureRepeat() override
disti::GlsRSOWrapper::CreateObjects
virtual void CreateObjects() override
disti::GlsRSOWrapper::LineWidth
virtual float LineWidth() override
disti::GlsRSOWrapper::TextureMappingTechnique
virtual int TextureMappingTechnique() override
disti::GlsRSOWrapper::Rotate
virtual void Rotate(const Vector &orig, float angle, const Vector &axis) override
disti::GlsRSOWrapper::GetResources
virtual void GetResources(std::ostream &outstr, GlsResourceFilter *filter=NULL) override
disti::GlsRSOWrapper::DeleteInstance
virtual void DeleteInstance()
disti::GlsRSOWrapper::LastEmittedEventInitiatorName
void LastEmittedEventInitiatorName(const char *name)
disti::GlsRSOWrapper::GetColor
virtual GlsColor GetColor() override
disti::GlsRSOWrapper::LineStippleMultiplier
virtual int LineStippleMultiplier() override
disti::GlsRSOWrapper::LineStipplePattern
virtual int LineStipplePattern() override
disti::GlsRSOWrapper::TextureMinificationFilter
virtual int TextureMinificationFilter() override
disti::GlsRSOWrapper::CalculateBoundingBox
virtual void CalculateBoundingBox() override
disti::GlsRSOWrapper::SetValue
void SetValue(int spec, va_list &args) override
disti::GlsRSOWrapper::_attributeWrapperMap
AttributeWrapperMap * _attributeWrapperMap
A map of attributes that wrap to the attributes within the RSO.
Definition: gls_rso_wrapper.h:289
disti::GlsRSOWrapper::_rsoVersion
unsigned int _rsoVersion
The interface version of the wrapped RSO.
Definition: gls_rso_wrapper.h:294
disti::GlsRSOWrapper::Initialize
virtual void Initialize() override
disti::GlsRSOWrapper::MultitouchState
MultitouchState
Definition: gls_rso_wrapper.h:282
disti::GlsRSOWrapper::GetRSOVersion
unsigned int GetRSOVersion() const
Definition: gls_rso_wrapper.h:106
disti::GlsRSOWrapper::_rsoInterface
RsoImplBaseInterface * _rsoInterface
The RSO being wrapped by this interface.
Definition: gls_rso_wrapper.h:288
disti::GlsRSOWrapper::SetColor
virtual void SetColor(const GlsColor &color) override
disti::GlsRSOWrapper::Resource
virtual DistiAttributeBase & Resource(const char *name) override
disti::GlsRSOWrapper::GetExtents
virtual void GetExtents(float &x, float &y, float &z, float &x1, float &y1, float &z1) override
disti::GlsRSOWrapper::HandleInput
virtual DisplayObject * HandleInput(DisplayEvent *ev) override
disti::GlsRSOWrapper::TextureIndex
virtual int TextureIndex() override
disti::GlsRSOWrapper::AlphaMode
virtual void AlphaMode(int mode) override
disti::GlsRSOWrapper::CullBackFace
virtual bool CullBackFace() override
disti::GlsRSOWrapper::_rsoEmittedEventHandler
EmittedEventHandlerImpl * _rsoEmittedEventHandler
The event handler for the RSO.
Definition: gls_rso_wrapper.h:290
disti::GlsRSOWrapper::LightingEnabled
virtual bool LightingEnabled() override
disti::GlsRSOWrapper::CopyProperties
virtual void CopyProperties(DisplayObject *src) override
disti::GlsRSOWrapper::AlphaMode
virtual int AlphaMode() override
disti::GlsRSOWrapper::Pick3D
virtual DisplayObject * Pick3D(const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices) override
disti::GlsRSOWrapper::AntiAlias
virtual bool AntiAlias() override
disti::GlsRSOWrapper::RSOInterface
RsoImplBaseInterface * RSOInterface()
disti::GlsRSOWrapper::_multitouchState
MultitouchState _multitouchState
The current multitouch input state,.
Definition: gls_rso_wrapper.h:292
disti::GlsRSOWrapper::Draw
virtual void Draw() override
disti::GlsRSOWrapper::SetPainter
virtual void SetPainter(GlsPainter *painter) override
disti::GlsRSOWrapper::Shading
virtual int Shading() override
disti::GlsRSOWrapper::PreDraw
virtual void PreDraw(const OpenGLMatrices &current, Culler &culler) override
disti::GlsRSOWrapper::_lastEmittedEventInitiatorName
char * _lastEmittedEventInitiatorName
The name of the last object who emitted an event that made it to the event handler.
Definition: gls_rso_wrapper.h:291
disti::GlsRSOWrapper::handle
virtual DisplayObject * handle(DisplayEvent *ev) override
disti::GlsRSOWrapper::UpdateBoundingVolume
virtual void UpdateBoundingVolume() override
disti::GlsRSOWrapper::HandleEmittedEvent
int HandleEmittedEvent(RsoImplBaseInterface::Event *ev)
disti::GlsRSOWrapper::Invalidate
virtual void Invalidate()
Invalidates the painter set on this object if that painter exists.
disti::GlsRSOWrapper::ChangeRSO
void ChangeRSO(RsoImplBaseInterface *rso, bool deleteCurrent=true)
disti::GlsRSOWrapper::PolygonEnd
virtual int PolygonEnd() override
disti::GlsRSOWrapper::Init
virtual void Init() override
disti::GlsRSOWrapper::GetTransformedExtents
virtual void GetTransformedExtents(Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true) override
disti::GlsRSOWrapper::CopyGeometry
virtual void CopyGeometry(DisplayObject *src) override
disti::GlsRSOWrapper::MaterialIndex
virtual int MaterialIndex() override
disti::GlsRSOWrapper::HandleMultiTouchInput
virtual DisplayObject * HandleMultiTouchInput(MouseEvent *mev)
disti::GlsRSOWrapper::SetBlendColor
virtual void SetBlendColor(const GlsColor &color) override
disti::GlsRSOWrapper::DepthTest
virtual int DepthTest() override
disti::GlsResourceFilter
Definition: gls_resources.h:51
disti::Group
Definition: group.h:53
disti::Group::CreateInstance
static DisplayObject * CreateInstance()
disti::MouseEvent
Definition: events.h:225
disti::OpenGLMatrices
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
disti::RSOInterface1
Definition: rso_interface_1.h:61
disti::RSOInterface5::RSOPainter
Definition: rso_interface_5.h:66
disti::VertexNoColor
Definition: vertex.h:85
component_base.h
The disti::ComponentBase class.
DISTI_DEPRECATED
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:488
DISTI_METHOD_OVERRIDE
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:222
GLS_EXPORT
#define GLS_EXPORT
Macro denoting which functions should be visible from the runtime library.
Definition: gls_include.h:52
RSOPainterT
disti::RSOInterfaceES2::RSOPainter RSOPainterT
Typedef for the RSO interface painter type.
Definition: gls_rso_interface_impl.h:52
RsoImplBaseInterface
disti::RSOInterfaceES1 RsoImplBaseInterface
Typedef for the original RSO interface.
Definition: gls_rso_wrapper.h:47
RSOPainterT
disti::RSOInterfaceES2::RSOPainter RSOPainterT
Typedef for the RSO interface painter type.
Definition: gls_rso_wrapper.h:48
disti
Definition: bmpimage.h:47
disti::RsoImplBaseInterface
RSOInterfaceES1 RsoImplBaseInterface
Typedef for the original RSO interface.
Definition: live_component_lib_ref.h:53
disti::end
DistiAttribDict::const_iterator end(const DistiAttribDict &dict)
Definition: disti_metadata.h:975
rso_interface_5.h
Defines the RSO interface v5, which extends v4 to add conditional rendering support.