40 #ifndef _uiquadrenderable_h
41 #define _uiquadrenderable_h
44 #include "UI/uienumerations.h"
45 #include "UI/unifieddim.h"
46 #include "UI/positioninginfo.h"
47 #include "UI/sizinginfo.h"
48 #include "UI/renderable.h"
55 class ScreenRenderData;
58 class SingleLineTextLayer;
59 class MultiLineTextLayer;
104 const String& GetName()
const;
113 void NotifyInactive();
124 UInt32 GetNumRenderLayers()
const;
132 void RemoveAllLayers();
152 static String GetSerializableName();
250 virtual void ProtoSerializeImpl(
XML::Node& SelfRoot)
const;
252 virtual void ProtoDeSerializeImpl(
const XML::Node& SelfRoot);
256 void AppendLayerVertices(std::vector<VertexData>& Vertices);
263 void ResizeLayers(
const Whole NewSize);
290 virtual const UInt16& GetZOrder()
const;
298 virtual Boolean IsInside(
const Vector2& Point)
const;
301 virtual Boolean IsChildOfScreen()
const;
304 virtual Real GetIdealHeightForText()
const;
310 virtual void UpdateDimensions();
315 virtual void UpdateChildDimensions();
321 virtual void UpdateDimensions(
const Rect& OldSelfRect,
const Rect& NewSelfRect);
326 virtual void SetMousePassthrough(Boolean Enable);
329 virtual bool GetMousePassthrough()
const;
335 virtual void SetManualTransformUpdates(Boolean Enable);
338 virtual bool GetManualTransformUpdates()
const;
365 virtual void SetSizingPolicy(
const SizingInfo& Policy);
368 virtual const SizingInfo& GetSizingPolicy()
const;
542 UInt32 GetNumRenderLayers()
const;
545 UInt32 GetNumVisibleRenderLayers()
const;
548 void DestroyRenderLayer(
RenderLayer* ToBeDestroyed);
550 void DestroyAllRenderLayers();
570 void SetActiveGroup(
const String& Name);
580 Boolean RenderLayerGroupExists(
const String& Name)
const;
583 UInt32 GetNumRenderLayerGroups()
const;
625 void DestroyRenderLayerGroup(
const String& Name);
630 void DestroyAllRenderLayerGroups();
654 virtual void AddChild(
Widget* Child);
662 virtual void AddChild(
Widget* Child,
const UInt16 ZOrder);
674 virtual Whole GetNumChildren()
const;
677 virtual void RemoveChild(
Widget* Child);
679 virtual void RemoveAllChildren();
712 virtual void SetUnifiedPosition(
const UnifiedVec2& Position);
715 virtual void SetUnifiedSize(
const UnifiedVec2& Size);
727 virtual Vector2 GetActualPosition()
const;
730 virtual Vector2 GetActualSize()
const;
734 virtual Rect GetRect()
const;
770 void SetLocalVertexCaching(Boolean Enable);
773 Boolean IsVertexCachingEnabled()
const;
779 virtual void ProtoSerialize(
XML::Node& ParentNode)
const;
781 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
784 virtual void ProtoSerializeRenderLayers(
XML::Node& SelfRoot)
const;
787 virtual void ProtoSerializeRenderLayerGroups(
XML::Node& SelfRoot)
const;
790 virtual void ProtoSerializeChildQuads(
XML::Node& SelfRoot)
const;
793 virtual void ProtoDeSerialize(
const XML::Node& SelfRoot);
795 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
798 virtual void ProtoDeSerializeRenderLayers(
const XML::Node& SelfRoot);
801 virtual void ProtoDeSerializeRenderLayerGroups(
const XML::Node& SelfRoot);
804 virtual void ProtoDeSerializeChildQuads(
const XML::Node& SelfRoot);
807 virtual String GetDerivedSerializableName()
const;
809 static String GetSerializableName();
818 virtual void _SetZOrder(
const UInt16& Zorder);
825 virtual void _MarkDirty();
829 virtual void _MarkAllChildrenDirty();
832 virtual void _MarkAllLayersDirty();
843 virtual Boolean _HasAvailableRenderData()
const;