Rev 6369 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6369 | Rev 8271 | ||
---|---|---|---|
1 | ;---------------------------------------------------------- |
1 | ;---------------------------------------------------------- |
2 | ;-------------draw window of program----------------------- |
2 | ;-------------draw window of program----------------------- |
3 | ;---------------------------------------------------------- |
3 | ;---------------------------------------------------------- |
4 | drawwin: |
4 | drawwin: |
5 | or ecx,-1 |
5 | or ecx,-1 |
6 | mcall SF_THREAD_INFO,procinfo |
6 | mcall SF_THREAD_INFO,procinfo |
7 | mov esi,procinfo |
7 | mov esi,procinfo |
8 | 8 | ||
9 | mov eax,[esi+34] |
9 | mov eax,[esi+process_information.box.left] |
10 | mov ebx,[esi+38] |
10 | mov ebx,[esi+process_information.box.top] |
11 | mov ecx,[esi+42] |
11 | mov ecx,[esi+process_information.box.width] |
12 | mov edx,[esi+46] |
12 | mov edx,[esi+process_information.box.height] |
13 | mov [Window_CordinatX],eax |
13 | mov [Window_CordinatX],eax |
14 | mov [Window_CordinatY],ebx |
14 | mov [Window_CordinatY],ebx |
15 | 15 | ||
16 | cmp ecx,ci_wnd_min_siz_x |
16 | cmp ecx,ci_wnd_min_siz_x |
17 | jge @f |
17 | jge @f |
18 | mov ecx,ci_wnd_min_siz_x |
18 | mov ecx,ci_wnd_min_siz_x |
19 | @@: |
19 | @@: |
20 | cmp edx,ci_wnd_min_siz_y |
20 | cmp edx,ci_wnd_min_siz_y |
21 | jge @f |
21 | jge @f |
22 | mov edx,ci_wnd_min_siz_y |
22 | mov edx,ci_wnd_min_siz_y |
23 | @@: |
23 | @@: |
24 | mov [Window_SizeX],ecx |
24 | mov [Window_SizeX],ecx |
25 | mov [Window_SizeY],edx |
25 | mov [Window_SizeY],edx |
26 | mov [MaxWorkScreen_SizeX],ecx |
26 | mov [MaxWorkScreen_SizeX],ecx |
27 | mov [MaxWorkScreen_SizeY],edx |
27 | mov [MaxWorkScreen_SizeY],edx |
28 | sub [MaxWorkScreen_SizeX],ci_edit_wnd_x_pos+2*ci_edit_wnd_border\ |
28 | sub [MaxWorkScreen_SizeX],ci_edit_wnd_x_pos+2*ci_edit_wnd_border\ |
29 | +ci_scroll_dim+ci_offs_skin_w+5 |
29 | +ci_scroll_dim+ci_offs_skin_w+5 |
30 | sub [MaxWorkScreen_SizeY],ci_edit_wnd_y_pos+2*ci_edit_wnd_border\ |
30 | sub [MaxWorkScreen_SizeY],ci_edit_wnd_y_pos+2*ci_edit_wnd_border\ |
31 | +ci_scroll_dim+ci_offs_skin_h+5 |
31 | +ci_scroll_dim+ci_offs_skin_h+5 |
32 | 32 | ||
33 | cmp [MaxWorkScreen_SizeX],0 |
33 | cmp [MaxWorkScreen_SizeX],0 |
34 | jns no_znak1 |
34 | jns no_znak1 |
35 | 35 | ||
36 | mov [MaxWorkScreen_SizeX],ecx |
36 | mov [MaxWorkScreen_SizeX],ecx |
37 | 37 | ||
38 | no_znak1: |
38 | no_znak1: |
39 | cmp [MaxWorkScreen_SizeY],0 |
39 | cmp [MaxWorkScreen_SizeY],0 |
40 | jns no_znak2 |
40 | jns no_znak2 |
41 | 41 | ||
42 | mov [MaxWorkScreen_SizeY],edx |
42 | mov [MaxWorkScreen_SizeY],edx |
43 | 43 | ||
44 | no_znak2: |
44 | no_znak2: |
45 | 45 | ||
46 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
46 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
47 | ;------------------------------------------------ |
47 | ;------------------------------------------------ |
48 | mov ebx,50 ;[Window_CordinatX] |
48 | mov ebx,50 shl 16 ;[Window_CordinatX] |
49 | mov ecx,50 ;[Window_CordinatY] |
49 | mov ecx,50 shl 16 ;[Window_CordinatY] |
50 | shl ebx,16 |
- | |
51 | shl ecx,16 |
- | |
52 | add ebx, [Window_SizeX] |
50 | add ebx, [Window_SizeX] |
53 | add ecx, [Window_SizeY] |
51 | add ecx, [Window_SizeY] |
54 | mcall SF_CREATE_WINDOW,,,0x73aabbcc,,name_of_program |
52 | mcall SF_CREATE_WINDOW,,,0x73aabbcc,,name_of_program |
55 | 53 | ||
56 | mov eax,[procinfo+70] ;staus of window |
54 | mov eax,[procinfo+70] ;staus of window |
57 | test eax,100b |
55 | test eax,100b |
58 | jne .end |
56 | jne .end |
59 | 57 | ||
60 | ;------------------------------------------------ |
58 | ;------------------------------------------------ |
61 | mov ebx,[Window_SizeX] |
59 | mov ebx,[Window_SizeX] |
62 | sub ebx,5+ci_panel_x_pos+ci_offs_skin_w-1 |
60 | sub ebx,5+ci_panel_x_pos+ci_offs_skin_w-1 |
63 | mcall SF_DRAW_RECT,,ci_panel_y_pos,dword[syscolors+20] ; ç¨á⪠¯®«®áë ¤«ï ¬¥î |
61 | mcall SF_DRAW_RECT,,ci_panel_y_pos,dword[syscolors+20] ; ç¨á⪠¯®«®áë ¤«ï ¬¥î |
64 | 62 | ||
65 | call put_main_menu |
63 | call put_main_menu |
66 | ;------------------------------------------------ |
64 | ;------------------------------------------------ |
67 | ; draw toolbard background |
65 | ; draw toolbard background |
68 | mov ebx, ci_panel_x_pos |
66 | mov ebx, ci_panel_x_pos |
69 | shl ebx, 16 |
67 | shl ebx, 16 |
70 | add ebx, [Window_SizeX] |
68 | add ebx, [Window_SizeX] |
71 | sub ebx, 9 |
69 | sub ebx, 9 |
72 | mov ecx, ci_panel_y_pos |
70 | mov ecx, (ci_panel_y_pos shl 16) + 51 |
73 | shl ecx, 16 |
- | |
74 | add ecx, 51 |
- | |
75 | mov edx, 0xD5CDCB |
71 | mov edx, 0xD5CDCB |
76 | mcall 13 |
72 | mcall SF_DRAW_RECT |
77 | - | ||
78 | ;mov eax,ci_panel_x_pos |
- | |
79 | ;mov ebx,ci_panel_y_pos |
- | |
80 | ;mov ecx,[Window_SizeX] |
- | |
81 | ;mov edx,50 |
- | |
82 | ;mov esi,1 |
- | |
83 | ;sub ecx,5+ci_panel_x_pos+ci_offs_skin_w |
73 | |
84 | call draw_icons |
74 | call draw_icons |
85 | call PrintMousePos |
75 | call PrintMousePos |
86 | ;------------------------------------------------ |
76 | ;------------------------------------------------ |
87 | mov ecx,[k] |
77 | mov ecx,[k] |
88 | call MovePictureToWorkScreen |
78 | call MovePictureToWorkScreen |
89 | ;------------------------------------------------ |
79 | ;------------------------------------------------ |
90 | mov ebx,[WorkScreen_SizeX] |
80 | mov ebx,[WorkScreen_SizeX] |
91 | add ebx,ci_edit_wnd_x_pos+ci_edit_wnd_border |
81 | add ebx,ci_edit_wnd_x_pos+ci_edit_wnd_border |
92 | mov edx,[Window_SizeX] |
82 | mov edx,[Window_SizeX] |
93 | sub edx,ebx |
83 | sub edx,ebx |
94 | sub edx,ci_scroll_dim+5-ci_edit_wnd_border |
84 | sub edx,ci_scroll_dim+5-ci_edit_wnd_border |
95 | shl ebx,16 |
85 | shl ebx,16 |
96 | mov bx,dx ;è¨à¨ ¡®à¤îà |
86 | mov bx,dx ;è¨à¨ ¡®à¤îà |
97 | 87 | ||
98 | mov ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
88 | mov ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
99 | mov edx,[Window_SizeY] |
89 | mov edx,[Window_SizeY] |
100 | sub edx,ci_edit_wnd_y_pos+2*ci_edit_wnd_border+ci_scroll_dim+5+ci_offs_skin_h |
90 | sub edx,ci_edit_wnd_y_pos+2*ci_edit_wnd_border+ci_scroll_dim+5+ci_offs_skin_h |
101 | shl ecx,16 |
91 | shl ecx,16 |
102 | mov cx,dx ;¢ëá®â ¡®à¤îà |
92 | mov cx,dx ;¢ëá®â ¡®à¤îà |
103 | 93 | ||
104 | mcall SF_DRAW_RECT,,,dword[syscolors+20] ;¡®à¤îà á¯à ¢ ®â ®ª ¯¥à¥¤ áªà®««¨£®¬ |
94 | mcall SF_DRAW_RECT,,,dword[syscolors+20] ;¡®à¤îà á¯à ¢ ®â ®ª ¯¥à¥¤ áªà®««¨£®¬ |
105 | ;------------------------------------------------ |
95 | ;------------------------------------------------ |
106 | mcall , |
96 | mcall , |
107 | ;------------------------------------------------ |
97 | ;------------------------------------------------ |
108 | mov ebx,ci_edit_wnd_x_pos |
98 | mov ebx,ci_edit_wnd_x_pos |
109 | mov edx,[Window_SizeX] |
99 | mov edx,[Window_SizeX] |
110 | sub edx,ci_scroll_dim+5+ci_edit_wnd_x_pos |
100 | sub edx,ci_scroll_dim+5+ci_edit_wnd_x_pos |
111 | shl ebx,16 |
101 | shl ebx,16 |
112 | mov bx,dx ;è¨à¨ ¡®à¤îà |
102 | mov bx,dx ;è¨à¨ ¡®à¤îà |
113 | 103 | ||
114 | mov ecx,[WorkScreen_SizeY] |
104 | mov ecx,[WorkScreen_SizeY] |
115 | add ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
105 | add ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
116 | mov edx,[Window_SizeY] |
106 | mov edx,[Window_SizeY] |
117 | sub edx,ecx |
107 | sub edx,ecx |
118 | sub edx,ci_scroll_dim+5+ci_offs_skin_h;ci_edit_wnd_border |
108 | sub edx,ci_scroll_dim+5+ci_offs_skin_h;ci_edit_wnd_border |
119 | shl ecx,16 |
109 | shl ecx,16 |
120 | mov cx,dx ;¢ëá®â ¡®à¤îà |
110 | mov cx,dx ;¢ëá®â ¡®à¤îà |
121 | 111 | ||
122 | mcall SF_DRAW_RECT,,,dword[syscolors+20] ;¡®à¤îà ¯®¤ ®ª®¬ ¨ ¤ áªà®««¨£®¬ |
112 | mcall SF_DRAW_RECT,,,dword[syscolors+20] ;¡®à¤îà ¯®¤ ®ª®¬ ¨ ¤ áªà®««¨£®¬ |
123 | ;------------------------------------------------ |
113 | ;------------------------------------------------ |
124 | mcall ,, |
114 | mcall ,, |
125 | ;------------------------------------------------ |
115 | ;------------------------------------------------ |
126 | mov eax,ci_edit_wnd_x_pos |
116 | mov eax,ci_edit_wnd_x_pos |
127 | mov ebx,[Window_SizeY] |
117 | mov ebx,[Window_SizeY] |
128 | mov ecx,[Window_SizeX] |
118 | mov ecx,[Window_SizeX] |
129 | mov edx,ci_scroll_dim |
119 | mov edx,ci_scroll_dim |
130 | mov esi,3 |
120 | mov esi,3 |
131 | sub ecx,ci_scroll_dim+5+ci_edit_wnd_x_pos+ci_offs_skin_w |
121 | sub ecx,ci_scroll_dim+5+ci_edit_wnd_x_pos+ci_offs_skin_w |
132 | sub ebx,ci_scroll_dim+5+ci_offs_skin_h |
122 | sub ebx,ci_scroll_dim+5+ci_offs_skin_h |
133 | call draw_volume_rectangle ; horizontal scrollbar border |
123 | call draw_volume_rectangle ; horizontal scrollbar border |
134 | ;------------------------------------------------ |
124 | ;------------------------------------------------ |
135 | mov eax,[Window_SizeX] |
125 | mov eax,[Window_SizeX] |
136 | mov ebx,ci_edit_wnd_y_pos |
126 | mov ebx,ci_edit_wnd_y_pos |
137 | mov ecx,ci_scroll_dim |
127 | mov ecx,ci_scroll_dim |
138 | mov edx,[Window_SizeY] |
128 | mov edx,[Window_SizeY] |
139 | mov esi,3 |
129 | mov esi,3 |
140 | sub eax,ci_scroll_dim+5+ci_offs_skin_w |
130 | sub eax,ci_scroll_dim+5+ci_offs_skin_w |
141 | sub edx,ci_scroll_dim+5+ci_edit_wnd_y_pos+ci_offs_skin_h |
131 | sub edx,ci_scroll_dim+5+ci_edit_wnd_y_pos+ci_offs_skin_h |
142 | call draw_volume_rectangle ; vertical scrollbar border |
132 | call draw_volume_rectangle ; vertical scrollbar border |
143 | call draw_scrollers |
133 | call draw_scrollers |
144 | ;------------------------------------------------ |
134 | ;------------------------------------------------ |
145 | mov eax,[Window_SizeX] |
135 | mov eax,[Window_SizeX] |
146 | mov ebx,[Window_SizeY] |
136 | mov ebx,[Window_SizeY] |
147 | mov ecx,ci_scroll_dim |
137 | mov ecx,ci_scroll_dim |
148 | mov edx,ci_scroll_dim |
138 | mov edx,ci_scroll_dim |
149 | mov esi,6 |
139 | mov esi,6 |
150 | sub eax,ci_scroll_dim+5+ci_offs_skin_w |
140 | sub eax,ci_scroll_dim+5+ci_offs_skin_w |
151 | sub ebx,ci_scroll_dim+5+ci_offs_skin_h |
141 | sub ebx,ci_scroll_dim+5+ci_offs_skin_h |
152 | call draw_volume_rectangle ; down and right small area |
142 | call draw_volume_rectangle ; down and right small area |
153 | ;------------------------------------------------ |
143 | ;------------------------------------------------ |
154 | .end: |
144 | .end: |
155 | mcall SF_REDRAW,SSF_END_DRAW |
145 | mcall SF_REDRAW,SSF_END_DRAW |
156 | ret |
146 | ret |
157 | ;----------------------------------------------------------------------------- |
147 | ;----------------------------------------------------------------------------- |