diff options
Diffstat (limited to 'SkinEngine/src/skin_layout.h')
-rw-r--r-- | SkinEngine/src/skin_layout.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/SkinEngine/src/skin_layout.h b/SkinEngine/src/skin_layout.h new file mode 100644 index 0000000..7e5a6a0 --- /dev/null +++ b/SkinEngine/src/skin_layout.h @@ -0,0 +1,30 @@ +#ifndef skin_layout_h__
+#define skin_layout_h__
+
+class CSkinLayout: public CSkinComplexObject
+{
+private:
+ enum
+ {
+ MODE_HORIZONTAL,
+ MODE_VERTICAL,
+ MODE_LAYERED
+ } m_layoutMode;
+
+public:
+ virtual void LoadFromXml(HXML hXml);
+ virtual void Measure(SkinRenderParams *params);
+ virtual void Layout(SkinRenderParams *params);
+ virtual void Paint(SkinRenderParams *params);
+
+private:
+ void MeasureHorizontal(SkinRenderParams *params);
+ void MeasureVertical(SkinRenderParams *params);
+ void MeasureLayered(SkinRenderParams *params);
+
+ void LayoutHorizontal(SkinRenderParams *params);
+ void LayoutVertical(SkinRenderParams *params);
+ void LayoutLayered(SkinRenderParams *params);
+};
+
+#endif // skin_layout_h__
|