summaryrefslogtreecommitdiff
path: root/src/modules/icolib/IcoLib.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/icolib/IcoLib.h')
-rw-r--r--src/modules/icolib/IcoLib.h61
1 files changed, 43 insertions, 18 deletions
diff --git a/src/modules/icolib/IcoLib.h b/src/modules/icolib/IcoLib.h
index 29bd85905b..30121729a8 100644
--- a/src/modules/icolib/IcoLib.h
+++ b/src/modules/icolib/IcoLib.h
@@ -20,23 +20,28 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-typedef struct
+
+#define SECTIONPARAM_MAKE(index, level, flags) MAKELONG((index)&0xFFFF, MAKEWORD(level, flags))
+#define SECTIONPARAM_INDEX(lparam) LOWORD(lparam)
+#define SECTIONPARAM_LEVEL(lparam) LOBYTE(HIWORD(lparam))
+#define SECTIONPARAM_FLAGS(lparam) HIBYTE(HIWORD(lparam))
+#define SECTIONPARAM_HAVEPAGE 0x0001
+
+struct SectionItem
{
TCHAR* name;
int flags;
int maxOrder;
int ref_count;
-}
- SectionItem;
+};
-typedef struct
+struct IconSourceFile
{
TCHAR* file;
int ref_count;
-}
- IconSourceFile;
+};
-typedef struct
+struct IconSourceItem
{
IconSourceFile* file;
int indx;
@@ -49,10 +54,9 @@ typedef struct
BYTE* icon_data;
int icon_size;
-}
- IconSourceItem;
+};
-typedef struct
+struct IconItem
{
char* name;
SectionItem* section;
@@ -61,6 +65,7 @@ typedef struct
TCHAR* default_file;
int default_indx;
int cx, cy;
+ int hLangpack;
IconSourceItem* source_small;
IconSourceItem* source_big;
@@ -69,15 +74,35 @@ typedef struct
TCHAR* temp_file;
HICON temp_icon;
BOOL temp_reset;
-}
- IconItem;
-typedef struct
-{
- char *paramName;
- DWORD value;
-}
- TreeItem;
+ __inline TCHAR* getDescr() const { return LangPackTranslateStringT(hLangpack, description); }
+};
// extracticon.c
+
UINT _ExtractIconEx(LPCTSTR lpszFile, int iconIndex, int cxIcon, int cyIcon, HICON *phicon, UINT flags);
+
+void __fastcall SAFE_FREE(void** p);
+void __fastcall SafeDestroyIcon(HICON* icon);
+
+int IconSourceItem_Release(IconSourceItem** pitem);
+int IconSourceItem_ReleaseIcon(IconSourceItem* item);
+HICON IconSourceItem_GetIcon(IconSourceItem* item);
+IconSourceItem* GetIconSourceItem(const TCHAR* file, int indx, int cxIcon, int cyIcon);
+
+IconItem* IcoLib_FindHIcon(HICON hIcon, bool &big);
+IconItem* IcoLib_FindIcon(const char* pszIconName);
+
+HICON IconItem_GetIcon(IconItem* item, bool big);
+
+int SkinOptionsInit(WPARAM, LPARAM);
+
+extern CRITICAL_SECTION csIconList;
+extern LIST<IconItem> iconList;
+extern LIST<SectionItem> sectionList;
+
+extern BOOL bNeedRebuild;
+extern int iconEventActive;
+extern HICON hIconBlank;
+extern HANDLE hIcons2ChangedEvent, hIconsChangedEvent;
+