1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
/*
Miranda IM: the free IM client for Microsoft* Windows*
Copyright 2000-2009 Miranda ICQ/IM project,
all portions of this codebase are copyrighted to the people
listed in contributors.txt.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
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
{
TCHAR* name;
int flags;
int maxOrder;
int ref_count;
}
SectionItem;
typedef struct
{
TCHAR* file;
int ref_count;
}
IconSourceFile;
typedef struct
{
IconSourceFile* file;
int indx;
int cx, cy;
int ref_count;
HICON icon;
int icon_ref_count;
BYTE* icon_data;
int icon_size;
}
IconSourceItem;
typedef struct
{
char* name;
SectionItem* section;
int orderID;
TCHAR* description;
TCHAR* default_file;
int default_indx;
int cx, cy;
IconSourceItem* source_small;
IconSourceItem* source_big;
IconSourceItem* default_icon;
TCHAR* temp_file;
HICON temp_icon;
BOOL temp_reset;
}
IconItem;
typedef struct
{
char *paramName;
DWORD value;
}
TreeItem;
// extracticon.c
UINT _ExtractIconEx(LPCTSTR lpszFile, int iconIndex, int cxIcon, int cyIcon, HICON *phicon, UINT flags);
|