diff options
author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-05-15 10:38:20 +0000 |
---|---|---|
committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-05-15 10:38:20 +0000 |
commit | 48540940b6c28bb4378abfeb500ec45a625b37b6 (patch) | |
tree | 2ef294c0763e802f91d868bdef4229b6868527de /plugins/ExternalAPI/m_skinengine.h | |
parent | 5c350913f011e119127baeb32a6aedeb4f0d33bc (diff) |
initial commit
git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/ExternalAPI/m_skinengine.h')
-rw-r--r-- | plugins/ExternalAPI/m_skinengine.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/plugins/ExternalAPI/m_skinengine.h b/plugins/ExternalAPI/m_skinengine.h new file mode 100644 index 0000000000..98b3e8843a --- /dev/null +++ b/plugins/ExternalAPI/m_skinengine.h @@ -0,0 +1,55 @@ +struct ISkinBackend;
+struct ISkinElement;
+
+struct SkinRenderParams
+{
+ HDC hdc;
+ RECT rc;
+};
+
+struct ISkinDataSource
+{
+ virtual LPCTSTR GetText(const TCHAR *key) = 0;
+ virtual HICON GetIcon(const TCHAR *key) = 0;
+ virtual HBITMAP GetBitmap(const TCHAR *key) = 0;
+ virtual ISkinBackend *GetObject(const TCHAR *key) = 0;
+};
+
+struct ISkinElement
+{
+ // general manadgement
+ virtual void SetParent(ISkinElement *parent) = 0;
+ virtual void LoadFromXml(HXML hXml) = 0;
+ virtual void SetId(const TCHAR *id) = 0;
+ virtual void SetDataSource(ISkinDataSource *ds) = 0;
+ virtual void Destroy() = 0;
+
+ // rendering and layouting
+ virtual void Measure(SkinRenderParams *params) = 0;
+ virtual void Layout(SkinRenderParams *params) = 0;
+ virtual void Paint(SkinRenderParams *params) = 0;
+
+ // element tree
+ virtual bool IsComplexObject() = 0;
+ virtual ISkinElement *GetParent() = 0;
+ virtual int GetChildCount() = 0;
+ virtual ISkinElement *GetChild(int index) = 0;
+ virtual bool AppendChild(ISkinElement *child) = 0;
+ virtual bool InsertChild(ISkinElement *child, int index) = 0;
+ virtual void RemoveChild(ISkinElement *child) = 0;
+
+ // element properties
+ virtual void SetPropText(const TCHAR *key, const TCHAR *value) = 0;
+ virtual const TCHAR *GetPropText(const TCHAR *key, const TCHAR *value) = 0;
+ virtual void SetPropInt(const TCHAR *key, int value) = 0;
+ virtual void SetPropIntText(const TCHAR *key, const TCHAR *value) = 0;
+ virtual int GetPropInt(const TCHAR *key) = 0;
+};
+
+struct ISkinBackend
+{
+ virtual LPCTSTR GetText(const TCHAR *key) = 0;
+ virtual HICON GetIcon(const TCHAR *key) = 0;
+ virtual HBITMAP GetBitmap(const TCHAR *key) = 0;
+ virtual ISkinBackend *GetObject(const TCHAR *key) = 0;
+};
|