Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7089 | leency | 1 | struct _colors |
2 | { |
||
3 | int x,y; |
||
4 | unsigned rows, columns; |
||
5 | unsigned cell_size; |
||
6 | dword mas[MAX_COLORS*MAX_COLORS]; |
||
7 | dword image; |
||
8 | void set_default_values(); |
||
9 | void set_color(); |
||
10 | dword get_color(); |
||
11 | dword get_image(); |
||
12 | void draw_cell(); |
||
13 | void draw_all_cells(); |
||
14 | } colors; |
||
15 | |||
16 | void _colors::set_default_values() |
||
17 | { |
||
18 | columns = 2; |
||
19 | rows = 2; |
||
20 | cell_size = 20; |
||
21 | |||
22 | set_color(0,0, 0x66b2ff); |
||
23 | set_color(0,1, 0x000066); |
||
24 | |||
25 | set_color(1,0, 0x000066); |
||
26 | set_color(1,1, 0x66b2ff); |
||
27 | } |
||
28 | |||
29 | void _colors::set_color(int _r, _c, _color) |
||
30 | { |
||
31 | debugval("_r", _r); |
||
32 | debugval("_c", _c); |
||
33 | mas[MAX_COLORS*_r + _c] = _color; |
||
34 | } |
||
35 | |||
36 | dword _colors::get_color(int _r, _c) |
||
37 | { |
||
38 | return mas[MAX_COLORS*_r + _c]; |
||
39 | } |
||
40 | |||
41 | dword _colors::get_image() |
||
42 | { |
||
43 | int r=0, c=0; |
||
44 | dword i; |
||
45 | |||
46 | free(image); |
||
47 | i = image = malloc(rows*columns*3); |
||
48 | |||
49 | for (r = 0; r < rows; r++) |
||
50 | { |
||
51 | for (c = 0; c < columns; c++) |
||
52 | { |
||
53 | rgb.DwordToRgb(get_color(r,c)); |
||
54 | ESBYTE[i] = rgb.b; |
||
55 | ESBYTE[i+1] = rgb.g; |
||
56 | ESBYTE[i+2] = rgb.r; |
||
57 | i += 3; |
||
58 | } |
||
59 | } |
||
60 | return image; |
||
61 | } |
||
62 | |||
63 | void _colors::draw_cell(int _x, _y, _color) |
||
64 | { |
||
65 | DrawRectangle(_x, _y, cell_size, cell_size, 0xA7B2BA); |
||
66 | DrawBar(_x+1, _y+1, cell_size-1, cell_size-1, _color); |
||
67 | } |
||
68 | |||
69 | void _colors::draw_all_cells() |
||
70 | { |
||
71 | int r, c, i; |
||
72 | for (i=300; i |
||
73 | for (r = 0; r < rows; r++) |
||
74 | { |
||
75 | for (c = 0; c < columns; c++) |
||
76 | { |
||
77 | draw_cell(c*cell_size + x, r*cell_size + y, get_color(r, c)); |
||
78 | DefineHiddenButton(c*cell_size + x, r*cell_size + y, cell_size, cell_size, r*columns+c+300); |
||
79 | } |
||
80 | } |
||
81 | }>>>> |
||
82 |