diff options
author | George Hazan <george.hazan@gmail.com> | 2015-07-02 19:04:50 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2015-07-02 19:04:50 +0000 |
commit | 0e9e528e18ff63d46e5b3471d6fa12344b0d28b3 (patch) | |
tree | 2f3f3f7cfb248a3447451ab82760dc9aca5c98fe /plugins/Clist_modern/src/modern_skinengine.h | |
parent | 209e1040e34c50e424a7aa0a7c860c7fc279a76f (diff) |
unified project for clist_modern
git-svn-id: http://svn.miranda-ng.org/main/trunk@14473 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Clist_modern/src/modern_skinengine.h')
-rw-r--r-- | plugins/Clist_modern/src/modern_skinengine.h | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/plugins/Clist_modern/src/modern_skinengine.h b/plugins/Clist_modern/src/modern_skinengine.h new file mode 100644 index 0000000000..70b7a9b838 --- /dev/null +++ b/plugins/Clist_modern/src/modern_skinengine.h @@ -0,0 +1,124 @@ +#pragma once
+
+#ifndef ske_H_INC
+#define ske_H_INC
+
+#include "modern_skinselector.h"
+#include "modern_commonprototypes.h"
+
+/* Definitions */
+#define GetAValue(argb)((BYTE)((argb)>>24))
+
+#define DEFAULTSKINSECTION "ModernSkin"
+
+
+
+#define MAX_BUFF_SIZE 255*400
+#define MAXSN_BUFF_SIZE 255*1000
+
+/* External variables */
+
+/* Structs */
+
+struct SKINOBJECTSLIST
+{
+ DWORD dwObjLPReserved;
+ DWORD dwObjLPAlocated;
+ TCHAR *szSkinPlace;
+ LISTMODERNMASK *pMaskList;
+ SKINOBJECTDESCRIPTOR *pObjects;
+ SortedList *pTextList;
+};
+
+struct GLYPHIMAGE
+{
+ TCHAR *szFileName;
+ DWORD dwLoadedTimes;
+ HBITMAP hGlyph;
+ BYTE isSemiTransp;
+};
+
+typedef GLYPHIMAGE *LPGLYPHIMAGE;
+
+struct CURRWNDIMAGEDATA
+{
+ HDC hImageDC;
+ HDC hBackDC;
+ HDC hScreenDC;
+ HBITMAP hImageDIB, hImageOld;
+ HBITMAP hBackDIB, hBackOld;
+ BYTE * hImageDIBByte;
+ BYTE * hBackDIBByte;
+ int Width, Height;
+};
+
+struct EFFECTSSTACKITEM
+{
+ HDC hdc;
+ BYTE EffectID;
+ DWORD FirstColor;
+ DWORD SecondColor;
+};
+
+class IniParser
+{
+public:
+ enum {
+ FLAG_WITH_SETTINGS = 0,
+ FLAG_ONLY_OBJECTS = 1,
+ };
+
+ enum { IT_UNKNOWN, IT_FILE, IT_RESOURCE };
+
+ typedef HRESULT(*ParserCallback_t)(const char * szSection, const char * szKey, const char * szValue, IniParser * This);
+
+ IniParser(TCHAR * szFileName, BYTE flags = FLAG_WITH_SETTINGS);
+ IniParser(HINSTANCE hInst, const char *resourceName, const char *resourceType, BYTE flags = FLAG_ONLY_OBJECTS);
+ ~IniParser();
+
+ bool CheckOK() { return _isValid; }
+ HRESULT Parse(ParserCallback_t pLineCallBackProc, LPARAM lParam);
+
+ static HRESULT WriteStrToDb(const char * szSection, const char * szKey, const char * szValue, IniParser * This);
+ static int GetSkinFolder(IN const TCHAR * szFileName, OUT TCHAR * pszFolderName);
+
+private:
+ // common
+ enum { MAX_LINE_LEN = 512 };
+ int _eType;
+ bool _isValid;
+ char * _szSection;
+ ParserCallback_t _pLineCallBackProc;
+ BOOL _SecCheck;
+ int _nLine;
+
+ void _DoInit();
+ BOOL _DoParseLine(char * szLine);
+
+ // Processing File
+ HRESULT _DoParseFile();
+ FILE * _hFile;
+
+ // Processing resource
+ void _LoadResourceIni(HINSTANCE hInst, const char * resourceName, const char * resourceType);
+ HRESULT _DoParseResource();
+ const char * _RemoveTailings(const char * szLine, size_t& len);
+
+ HGLOBAL _hGlobalRes;
+ DWORD _dwSizeOfRes;
+ char * _pPosition;
+
+ BYTE _Flags;
+
+
+};
+
+
+int ske_UnloadSkin(SKINOBJECTSLIST * Skin);
+int ske_AddDescriptorToSkinObjectList(SKINOBJECTDESCRIPTOR *lpDescr, SKINOBJECTSLIST* Skin);
+INT_PTR ske_Service_DrawGlyph(WPARAM wParam, LPARAM lParam);
+
+
+
+#endif
+
|