ScummVM API documentation
MTropolis::VisualElement Class Referenceabstract
Inheritance diagram for MTropolis::VisualElement:
MTropolis::Element MTropolis::Structural MTropolis::RuntimeObject MTropolis::IModifierContainer MTropolis::IMessageConsumer MTropolis::Debuggable MTropolis::IInterfaceBase MTropolis::IInterfaceBase MTropolis::IDebuggable MTropolis::IInterfaceBase MTropolis::GraphicElement MTropolis::ImageElement MTropolis::MovieElement MTropolis::MToonElement MTropolis::TextLabelElement

Classes

struct  ChangeFlagTaskData
 
struct  ChangeVisibilityCoroutine
 
struct  OffsetTranslateTaskData
 
struct  VisualElementConsumeCommandCoroutine
 

Public Member Functions

bool isVisual () const override
 
virtual bool isTextLabel () const
 
VThreadState asyncConsumeCommand (Runtime *runtime, const Common::SharedPtr< MessageProperties > &msg) override
 
bool respondsToEvent (const Event &evt) const override
 
VThreadState consumeMessage (Runtime *runtime, const Common::SharedPtr< MessageProperties > &msg) override
 
bool isVisible () const
 
bool isVisibleByDefault () const
 
void setVisible (Runtime *runtime, bool visible)
 
bool isDirectToScreen () const
 
void setDirectToScreen (bool directToScreen)
 
uint16 getLayer () const
 
void setLayer (uint16 layer)
 
bool isMouseInsideDrawableArea (int32 relativeX, int32 relativeY) const
 
virtual bool isMouseCollisionAtPoint (int32 relativeX, int32 relativeY) const
 
bool readAttribute (MiniscriptThread *thread, DynamicValue &result, const Common::String &attrib) override
 
MiniscriptInstructionOutcome writeRefAttribute (MiniscriptThread *thread, DynamicValueWriteProxy &writeProxy, const Common::String &attrib) override
 
Common::Point getParentOrigin () const
 
Common::Point getGlobalPosition () const
 
const Common::RectgetRelativeRect () const
 
virtual Common::Rect getRelativeCollisionRect () const
 
void setRelativeRect (const Common::Rect &rect)
 
const Common::PointgetCachedAbsoluteOrigin () const
 
void setCachedAbsoluteOrigin (const Common::Point &absOrigin)
 
void setDragMotionProperties (const Common::SharedPtr< DragMotionProperties > &dragProps)
 
const Common::SharedPtr< DragMotionProperties > & getDragMotionProperties () const
 
void handleDragMotion (Runtime *runtime, const Common::Point &initialOrigin, const Common::Point &targetOrigin)
 
VThreadState offsetTranslateTask (const OffsetTranslateTaskData &data)
 
void setRenderProperties (const VisualElementRenderProperties &props, const Common::WeakPtr< GraphicModifier > &primaryGraphicModifier)
 
const VisualElementRenderPropertiesgetRenderProperties () const
 
const Common::WeakPtr< GraphicModifier > & getPrimaryGraphicModifier () const
 
void setShading (int16 topLeftBevelShading, int16 bottomRightBevelShading, int16 interiorShading, uint32 bevelSize)
 
void setTransitionProperties (const VisualElementTransitionProperties &props)
 
const VisualElementTransitionPropertiesgetTransitionProperties () const
 
bool needsRender () const
 
virtual void render (Window *window)=0
 
void finalizeRender ()
 
void setPalette (const Common::SharedPtr< Palette > &palette)
 
const Common::SharedPtr< Palette > & getPalette () const
 
void visitInternalReferences (IStructuralReferenceVisitor *visitor) override
 
void pushVisibilityChangeTask (Runtime *runtime, bool desiredVisibility)
 
- Public Member Functions inherited from MTropolis::Element
virtual bool canAutoPlay () const
 
virtual void queueAutoPlayEvents (Runtime *runtime, bool isAutoPlaying)
 
bool isElement () const override
 
uint32 getStreamLocator () const
 
void addMediaCue (MediaCueState *mediaCue)
 
void removeMediaCue (const MediaCueState *mediaCue)
 
void triggerAutoPlay (Runtime *runtime)
 
virtual void tryAutoSetName (Runtime *runtime, Project *project)
 
virtual bool resolveMediaMarkerLabel (const Label &label, int32 &outResolution) const
 
- Public Member Functions inherited from MTropolis::Structural
 Structural (Runtime *runtime)
 
bool isStructural () const override
 
SceneLoadState getSceneLoadState () const
 
void setSceneLoadState (SceneLoadState sceneLoadState)
 
bool readAttributeIndexed (MiniscriptThread *thread, DynamicValue &result, const Common::String &attrib, const DynamicValue &index) override
 
const Common::Array< Common::SharedPtr< Structural > > & getChildren () const
 
void addChild (const Common::SharedPtr< Structural > &child)
 
void removeAllChildren ()
 
void removeAllModifiers ()
 
void removeChild (Structural *child)
 
void removeAllAssets ()
 
void holdAssets (const Common::Array< Common::SharedPtr< Asset > > &assets)
 
StructuralgetParent () const
 
StructuralfindNextSibling () const
 
StructuralfindPrevSibling () const
 
void setParent (Structural *parent)
 
VisualElementfindScene ()
 
const Common::StringgetName () const
 
const Common::Array< Common::SharedPtr< Modifier > > & getModifiers () const override
 
void appendModifier (const Common::SharedPtr< Modifier > &modifier) override
 
void removeModifier (const Modifier *modifier) override
 
void materializeSelfAndDescendents (Runtime *runtime, ObjectLinkingScope *outerScope)
 
void materializeDescendents (Runtime *runtime, ObjectLinkingScope *outerScope)
 
virtual void activate ()
 
virtual void deactivate ()
 
void recursiveCollectObjectsMatchingCriteria (Common::Array< Common::WeakPtr< RuntimeObject > > &results, bool(*evalFunc)(void *userData, RuntimeObject *object), void *userData, bool onlyEnabled)
 
void setHooks (const Common::SharedPtr< StructuralHooks > &hooks)
 
const Common::SharedPtr< StructuralHooks > & getHooks () const
 
virtual Common::SharedPtr< StructuralshallowClone () const =0
 
- Public Member Functions inherited from MTropolis::RuntimeObject
uint32 getStaticGUID () const
 
uint32 getRuntimeGUID () const
 
void setRuntimeGUID (uint32 runtimeGUID)
 
void setSelfReference (const Common::WeakPtr< RuntimeObject > &selfReference)
 
const Common::WeakPtr< RuntimeObject > & getSelfReference () const
 
virtual bool isProject () const
 
virtual bool isSection () const
 
virtual bool isSubsection () const
 
virtual bool isModifier () const
 
virtual MiniscriptInstructionOutcome writeRefAttributeIndexed (MiniscriptThread *thread, DynamicValueWriteProxy &result, const Common::String &attrib, const DynamicValue &index)
 
- Public Member Functions inherited from MTropolis::Debuggable
 Debuggable (const Debuggable &other)
 
 Debuggable (Debuggable &&other)
 
- Public Member Functions inherited from MTropolis::IDebuggable
virtual SupportStatus debugGetSupportStatus () const =0
 
virtual const char * debugGetTypeName () const =0
 
virtual const Common::StringdebugGetName () const =0
 
virtual void debugInspect (IDebugInspectionReport *report) const =0
 

Protected Member Functions

 VisualElement (const VisualElement &other)
 
bool loadCommon (const Common::String &name, uint32 guid, const Data::Rect &rect, uint32 elementFlags, uint16 layer, uint32 streamLocator, uint16 sectionID)
 
MiniscriptInstructionOutcome scriptSetDirect (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetPosition (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetPositionX (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetPositionY (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetCenterPosition (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetCenterPositionX (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetCenterPositionY (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetVisibility (MiniscriptThread *thread, const DynamicValue &result)
 
MiniscriptInstructionOutcome scriptSetSize (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetWidth (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetHeight (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptSetLayer (MiniscriptThread *thread, const DynamicValue &dest)
 
MiniscriptInstructionOutcome scriptWriteRefPositionAttribute (MiniscriptThread *thread, DynamicValueWriteProxy &writeProxy, const Common::String &attrib)
 
MiniscriptInstructionOutcome scriptWriteRefSizeAttribute (MiniscriptThread *thread, DynamicValueWriteProxy &writeProxy, const Common::String &attrib)
 
MiniscriptInstructionOutcome scriptWriteRefCenterPositionAttribute (MiniscriptThread *thread, DynamicValueWriteProxy &writeProxy, const Common::String &attrib)
 
void offsetTranslate (int32 xDelta, int32 yDelta, bool cachedOriginOnly)
 
void resize (int32 width, int32 height)
 
Common::Point getCenterPosition () const
 
VThreadState changeVisibilityTask (const ChangeFlagTaskData &taskData)
 
void renderShading (Graphics::Surface &surf) const
 
- Protected Member Functions inherited from MTropolis::Element
 Element (const Element &other)
 
- Protected Member Functions inherited from MTropolis::Structural
 Structural (const Structural &other)
 
virtual ObjectLinkingScopegetPersistentStructuralScope ()
 
virtual ObjectLinkingScopegetPersistentModifierScope ()
 
MiniscriptInstructionOutcome scriptSetPaused (MiniscriptThread *thread, const DynamicValue &value)
 
MiniscriptInstructionOutcome scriptSetLoop (MiniscriptThread *thread, const DynamicValue &value)
 
MiniscriptInstructionOutcome scriptSetDebug (MiniscriptThread *thread, const DynamicValue &value)
 
MiniscriptInstructionOutcome scriptSetUnload (MiniscriptThread *thread, const DynamicValue &value)
 
virtual void linkInternalReferences (ObjectLinkingScope *outerScope)
 
virtual void onPauseStateChanged ()
 
RuntimegetRuntime () const
 
- Protected Member Functions inherited from MTropolis::RuntimeObject
MiniscriptInstructionOutcome scriptSetClone (MiniscriptThread *thread, const DynamicValue &value)
 
MiniscriptInstructionOutcome scriptSetKill (MiniscriptThread *thread, const DynamicValue &value)
 
MiniscriptInstructionOutcome scriptSetParent (MiniscriptThread *thread, const DynamicValue &value)
 

Static Protected Member Functions

static VisualElementrecursiveFindItemWithLayer (VisualElement *element, int32 layer)
 
static uint32 quantizeShading (uint32 mask, int16 shading)
 
static void renderShadingScanlineDynamic (void *data, size_t numElements, uint32 rMask, uint32 rAdd, uint32 gMask, uint32 gAdd, uint32 bMask, uint32 bAdd, bool isBrighten, byte bytesPerPixel)
 
template<class TElement >
static void renderBrightenScanline (TElement *element, size_t numElements, TElement rMask, TElement rAdd, TElement gMask, TElement gAdd, TElement bMask, TElement bAdd)
 
template<class TElement >
static void renderDarkenScanline (TElement *element, size_t numElements, TElement rMask, TElement rSub, TElement gMask, TElement gSub, TElement bMask, TElement bSub)
 

Protected Attributes

bool _directToScreen
 
bool _visible
 
bool _visibleByDefault
 
Common::Rect _rect
 
Common::Point _cachedAbsoluteOrigin
 
uint16 _layer
 
int16 _topLeftBevelShading
 
int16 _bottomRightBevelShading
 
int16 _interiorShading
 
uint32 _bevelSize
 
Common::SharedPtr< DragMotionProperties_dragProps
 
VisualElementRenderProperties _renderProps
 
Common::WeakPtr< GraphicModifier_primaryGraphicModifier
 
VisualElementTransitionProperties _transitionProps
 
Common::SharedPtr< Palette_palette
 
Common::Rect _prevRect
 
bool _contentsDirty
 
- Protected Attributes inherited from MTropolis::Element
uint32 _streamLocator
 
uint16 _sectionID
 
Common::Array< MediaCueState * > _mediaCues
 
bool _haveCheckedAutoPlay
 
- Protected Attributes inherited from MTropolis::Structural
Structural_parent
 
Common::Array< Common::SharedPtr< Structural > > _children
 
Common::Array< Common::SharedPtr< Modifier > > _modifiers
 
Common::String _name
 
Common::Array< Common::SharedPtr< Asset > > _assets
 
bool _paused
 
bool _loop
 
int32 _flushPriority
 
SceneLoadState _sceneLoadState
 
Common::SharedPtr< StructuralHooks_hooks
 
- Protected Attributes inherited from MTropolis::RuntimeObject
uint32 _guid
 
uint32 _runtimeGUID
 
Common::WeakPtr< RuntimeObject_selfReference
 

Additional Inherited Members

- Public Types inherited from MTropolis::Element
typedef StructuralConsumeCommandCoroutine ElementConsumeCommandCoroutine
 
- Public Types inherited from MTropolis::Structural
enum  SceneLoadState { kNotAScene, kSceneNotLoaded, kSceneLoaded }
 

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