aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/skin/widgets/xuigrid.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/skin/widgets/xuigrid.h')
-rw-r--r--Src/Wasabi/api/skin/widgets/xuigrid.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/Src/Wasabi/api/skin/widgets/xuigrid.h b/Src/Wasabi/api/skin/widgets/xuigrid.h
new file mode 100644
index 00000000..084c7d4c
--- /dev/null
+++ b/Src/Wasabi/api/skin/widgets/xuigrid.h
@@ -0,0 +1,59 @@
+#ifndef __GRID_H
+#define __GRID_H
+
+#include <api/wnd/wndclass/guiobjwnd.h>
+#include <tataki/bitmap/autobitmap.h>
+#include <tataki/region/region.h>
+
+#define GRID_PARENT GuiObjectWnd
+
+// -----------------------------------------------------------------------
+class Grid : public GRID_PARENT {
+
+ public:
+
+ Grid();
+ virtual ~Grid();
+
+ virtual int onPaint(Canvas *c);
+ virtual int setXuiParam(int xuihandle, int xmlattributeid, const wchar_t *xmlattributename, const wchar_t *value);
+
+ void setGridImage(const wchar_t *elementname, int what);
+ virtual void getGridRect(RECT *r) { getClientRect(r); }
+
+ virtual api_region *getRegion() { return &reg; }
+ virtual int onInit();
+ virtual int onResize();
+protected:
+ /*static */void CreateXMLParameters(int master_handle);
+ private:
+ void doPaint(Canvas *canvas, int dorgn=0);
+
+ enum {
+ GRID_SETTOPLEFT= 0,
+ GRID_SETTOP,
+ GRID_SETTOPRIGHT,
+ GRID_SETLEFT,
+ GRID_SETMIDDLE,
+ GRID_SETRIGHT,
+ GRID_SETBOTTOMLEFT,
+ GRID_SETBOTTOM,
+ GRID_SETBOTTOMRIGHT,
+ };
+ static XMLParamPair params[];
+
+ int myxuihandle;
+
+ AutoSkinBitmap topleft, top, topright;
+ AutoSkinBitmap left, middle, right;
+ AutoSkinBitmap bottomleft, bottom, bottomright;
+ RegionI reg;
+};
+
+
+// -----------------------------------------------------------------------
+extern const wchar_t GridXuiObjectStr[];
+extern char GridXuiSvcName[];
+class GridXuiSvc : public XuiObjectSvc<Grid, GridXuiObjectStr, GridXuiSvcName> {};
+
+#endif