Rev 8330 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8330 | Rev 8336 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | struct _img |
1 | struct _img |
2 | { |
2 | { |
3 | collection url; |
3 | collection url; |
4 | collection_int xywh; |
4 | collection_int x,y,w,h; |
5 | int getid; |
- | |
Line 6... | Line 5... | ||
6 | 5 | ||
7 | void clear(); |
6 | void clear(); |
8 | dword add_pos(); |
- | |
9 | bool set_size(); |
- | |
10 | - | ||
11 | dword current_url(); |
- | |
Line 12... | Line 7... | ||
12 | bool next_url(); |
7 | void add(); |
13 | 8 | ||
14 | void draw_all(); |
9 | void draw_all(); |
Line 15... | Line 10... | ||
15 | bool draw(); |
10 | bool draw(); |
16 | }; |
11 | }; |
17 | 12 | ||
18 | void _img::clear() |
13 | void _img::clear() |
19 | { |
- | |
20 | url.drop(); |
- | |
21 | xywh.drop(); |
- | |
22 | getid = 0; |
- | |
23 | } |
- | |
24 | - | ||
25 | dword _img::add_pos(dword _path, _x, _y) |
- | |
26 | { |
- | |
27 | char full_path[URL_SIZE]; |
- | |
28 | strncpy(#full_path, _path, URL_SIZE); |
- | |
29 | get_absolute_url(#full_path, history.current()); |
14 | { |
30 | 15 | url.drop(); |
|
31 | url.add(#full_path); |
- | |
32 | xywh.add(_x); |
- | |
33 | xywh.add(_y); |
- | |
34 | xywh.add(NULL); |
- | |
35 | xywh.add(NULL); |
- | |
36 | return #full_path; |
- | |
37 | } |
- | |
38 | - | ||
39 | bool _img::set_size(dword _id, _buf, _size) |
- | |
40 | { |
- | |
41 | img_decode stdcall (_buf, _size, 0); |
- | |
42 | if (EAX) { |
- | |
43 | EDI = EAX; |
16 | x.drop(); |
44 | xywh.set(_id*4+2, ESDWORD[EDI+4]); |
- | |
45 | xywh.set(_id*4+3, ESDWORD[EDI+8]); |
- | |
46 | free(EDI); |
- | |
47 | return true; |
17 | y.drop(); |
Line 48... | Line -... | ||
48 | } |
- | |
49 | return false; |
18 | w.drop(); |
50 | } |
19 | h.drop(); |
51 | 20 | } |
|
52 | //DELTE!!!!!11111111111111111111111111111111111111 |
- | |
53 | dword _img::current_url() |
- | |
54 | { |
- | |
55 | return url.get(getid); |
21 | |
56 | } |
- | |
57 | - | ||
58 | //DELTE!!!!!11111111111111111111111111111111111111 |
22 | void _img::add(dword _path, _x, _y, _w, _h) |
59 | bool _img::next_url() |
23 | { |
60 | { |
- | |
61 | if (getid < url.count-1) { |
24 | url.add(_path); |
62 | getid++; |
25 | x.add(_x); |
Line -... | Line 26... | ||
- | 26 | y.add(_y); |
|
63 | return 1; |
27 | w.add(_w); |
64 | } |
28 | h.add(_h); |
65 | return 0; |
29 | } |
Line 66... | Line 30... | ||
66 | } |
30 | |
67 | 31 | /* |
|
68 | void _img::draw_all(int _x, _y, _w, _h, _start) |
32 | void _img::draw_all(int _x, _y, _w, _h, _start) |
Line 69... | Line 33... | ||
69 | { |
33 | { |
70 | int i, img_y; |
34 | int i, img_y; |
71 | 35 | ||
72 | for (i=0; i |
36 | for (i=0; i |
- | 37 | { |
|
Line 73... | Line 38... | ||
73 | { |
38 | img_y = y.get(i); |
74 | img_y = xywh.get(i*4 + 1); |
39 | |
75 | 40 | if (img_y + h.get(i) > _start) && (img_y - _h < _start) |
|
76 | if (img_y > _start) && (img_y < _start + _h) |
41 | && (cache.has(url.get(i))) draw(_x, _y, _w, _h, _start, i); |
77 | && (cache.has(url.get(i))) draw(_x, _y, _w, _h, _start, i); |
42 | } |
78 | } |
43 | } |
Line 79... | Line 44... | ||
79 | } |
44 | */ |
80 | 45 | ||
81 | bool _img::draw(int _x, _y, _w, _h, _start, i) |
46 | bool _img::draw(int _x, _y, _w, _h, _start, i) |
82 | { |
47 | { |
Line -... | Line 48... | ||
- | 48 | int img_x, img_y, img_w, img_h, invisible_h=0; |
|
- | 49 | img_decode stdcall (cache.current_buf, cache.current_size, 0); |
|
- | 50 | if (EAX) { |
|
- | 51 | EDI = EAX; |
|
Line 83... | Line 52... | ||
83 | int img_x, img_y, img_w, img_h; |
52 | |
84 | img_decode stdcall (cache.current_buf, cache.current_size, 0); |
53 | img_x = x.get(i); |
85 | if (EAX) { |
54 | img_y = y.get(i); |
86 | EDI = EAX; |
55 | img_w = math.min(w.set(i, ESDWORD[EDI+4]), _w - img_x); |
- | 56 | img_h = math.min(h.set(i, ESDWORD[EDI+8]), _h + _start - img_y); |