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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
|
#include <stdlib.h>
#include <stdio.h>
#include "iup.h"
#define TEST_IMAGE_SIZE 20
static unsigned char image_data_8 [TEST_IMAGE_SIZE*TEST_IMAGE_SIZE] =
{
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
5,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,0,0,0,5,
5,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,0,0,0,5,
5,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,0,0,0,5,
5,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,0,0,0,5,
5,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,0,0,0,5,
5,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,0,0,0,5,
5,0,0,0,3,3,3,3,3,3,4,4,4,4,4,4,0,0,0,5,
5,0,0,0,3,3,3,3,3,3,4,4,4,4,4,4,0,0,0,5,
5,0,0,0,3,3,3,3,3,3,4,4,4,4,4,4,0,0,0,5,
5,0,0,0,3,3,3,3,3,3,4,4,4,4,4,4,0,0,0,5,
5,0,0,0,3,3,3,3,3,3,4,4,4,4,4,4,0,0,0,5,
5,0,0,0,3,3,3,3,3,3,4,4,4,4,4,4,0,0,0,5,
5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
};
static unsigned char image_data_24 [TEST_IMAGE_SIZE*TEST_IMAGE_SIZE*3] =
{
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,000,000,000,
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,
};
static unsigned char image_data_32 [TEST_IMAGE_SIZE*TEST_IMAGE_SIZE*4] =
{
000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,000,000,255,255,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,255,
000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,000,000,000,255,
};
static int enter_cb(Ihandle *ih)
{
Ihandle *box = IupGetChild(ih, 0);
if (IupGetInt(box, "ACTIVE"))
IupSetAttribute(box, "ACTIVE", "NO");
else
IupSetAttribute(box, "ACTIVE", "YES");
return IUP_DEFAULT;
}
void LabelTest(void)
{
Ihandle *dlg, *label, *image1, *image2, *image3,
*box1, *box2, *fill;
box1 = IupVbox(NULL);
IupSetAttribute(box1, "MARGIN", "5x5");
IupSetAttribute(box1, "GAP", "5");
IupSetAttribute(box1, "BGCOLOR", "75 150 170");
IupSetAttribute(box1, "PADDING", "5x5");
label = IupLabel(NULL);
IupSetAttribute(label, "TITLE", "Text Labels (çãí)");
IupSetAttribute(label, "BGCOLOR", IupGetGlobal("DLGBGCOLOR"));
IupSetAttribute(label, "PADDING", "0x0");
IupSetAttribute(label, "TIP", "Text Label");
IupAppend(box1, label);
label = IupLabel(NULL);
IupSetAttribute(label, "SEPARATOR", "HORIZONTAL");
IupAppend(box1, label);
label = IupLabel(NULL);
IupSetAttribute(label, "TITLE", "Text &Label\nSecond Line");
IupSetAttribute(label, "FGCOLOR", "0 0 255");
IupSetAttribute(label, "RASTERSIZE", "150x70");
// IupSetAttribute(label, "RASTERSIZE", "30x70");
// IupSetAttribute(label, "WORDWRAP", "YES");
// IupSetAttribute(label, "ELLIPSIS", "YES");
IupSetAttribute(label, "ALIGNMENT", "ALEFT:ATOP");
IupAppend(box1, label);
label = IupLabel(NULL);
IupSetAttribute(label, "TITLE", "Text Label\nSecond Line");
IupSetAttribute(label, "RASTERSIZE", "150x70");
IupSetAttribute(label, "ALIGNMENT", "ACENTER:ACENTER");
IupSetAttribute(label, "FONT", "Helvetica, 14");
// IupSetAttribute(label, "FONTSIZE", "14");
// IupSetAttribute(label, "FONTSTYLE", "Italic");
IupAppend(box1, label);
label = IupLabel(NULL);
IupSetAttribute(label, "TITLE", "Text Label\n<b>Second Line</b>");
IupSetAttribute(label, "RASTERSIZE", "150x70");
IupSetAttribute(label, "ALIGNMENT", "ARIGHT:ABOTTOM");
IupSetAttribute(label, "MARKUP", "YES");
IupAppend(box1, label);
box2 = IupVbox(NULL);
IupSetAttribute(box2, "MARGIN", "5x5");
IupSetAttribute(box2, "GAP", "5");
IupSetAttribute(box2, "BGCOLOR", "75 150 170");
IupSetAttribute(box2, "PADDING", "5x5");
image1 = IupImage(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_8);
IupSetAttribute(image1, "0", "BGCOLOR");
IupSetAttribute(image1, "1", "255 0 0");
IupSetAttribute(image1, "2", "0 255 0");
IupSetAttribute(image1, "3", "0 0 255");
IupSetAttribute(image1, "4", "255 255 255");
IupSetAttribute(image1, "5", "0 0 0");
label = IupLabel(NULL);
IupSetAttributeHandle(label, "IMAGE", image1);
//IupSetAttribute(label, "IMAGE", "TECGRAF_BITMAP");
//IupSetAttribute(label, "IMAGE", "../test/tecgraf.bmp");
//IupSetAttribute(label, "IMAGE", "../test/file_large.xbm");
//IupSetAttribute(label, "IMAGE", "gtk-open");
IupSetAttribute(label, "BGCOLOR", IupGetGlobal("DLGBGCOLOR"));
IupSetAttribute(label, "PADDING", "0x0");
IupSetAttribute(label, "TIP", "Image Label");
IupAppend(box2, label);
label = IupLabel(NULL);
IupSetAttribute(label, "SEPARATOR", "HORIZONTAL");
IupAppend(box2, label);
fill = IupFill();
IupSetAttribute(fill, "SIZE", "20");
IupAppend(box2, fill);
label = IupLabel(NULL);
IupSetAttributeHandle(label, "IMAGE", image1);
IupSetAttribute(label, "RASTERSIZE", "150x50");
IupAppend(box2, label);
image2 = IupImageRGB(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_24);
label = IupLabel(NULL);
IupSetAttributeHandle(label, "IMAGE", image2);
IupSetAttribute(label, "RASTERSIZE", "150x50");
IupSetAttribute(label, "ALIGNMENT", "ACENTER");
IupAppend(box2, label);
image3 = IupImageRGBA(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_32);
label = IupLabel(NULL);
IupSetAttributeHandle(label, "IMAGE", image3);
IupSetAttribute(label, "RASTERSIZE", "150x50");
IupSetAttribute(label, "ALIGNMENT", "ARIGHT");
IupAppend(box2, label);
label = IupLabel(NULL);
IupSetAttribute(label, "SEPARATOR", "VERTICAL");
dlg = IupDialog(IupHbox(box1, label, box2, NULL));
IupSetAttribute(dlg, "TITLE", "IupLabel Test");
// IupSetAttribute(dlg, "BACKGROUND", "0 0 128");
// IupSetAttributeHandle(dlg, "BACKGROUND", image2);
IupSetCallback(dlg, "ENTERWINDOW_CB", enter_cb);
IupShow(dlg);
}
#ifndef BIG_TEST
int main(int argc, char* argv[])
{
IupOpen(&argc, &argv);
LabelTest();
IupMainLoop();
IupClose();
return EXIT_SUCCESS;
}
#endif
|