Rev 6352 | Rev 6358 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
255 | heavyiron | 1 | ;---------------------------------------------------------- |
2 | ;-------------draw window of program----------------------- |
||
3 | ;---------------------------------------------------------- |
||
4 | drawwin: |
||
1643 | mario79 | 5 | or ecx,-1 |
6352 | IgorA | 6 | mcall SF_THREAD_INFO,procinfo |
1643 | mario79 | 7 | mov esi,procinfo |
255 | heavyiron | 8 | |
1643 | mario79 | 9 | mov eax,[esi+34] |
10 | mov ebx,[esi+38] |
||
11 | mov ecx,[esi+42] |
||
12 | mov edx,[esi+46] |
||
13 | mov [Window_CordinatX],eax |
||
14 | mov [Window_CordinatY],ebx |
||
6357 | IgorA | 15 | |
16 | cmp ecx,585 |
||
17 | jae @f |
||
18 | mov ecx,585 ;minimum size x |
||
19 | @@: |
||
20 | cmp [Window_SizeY],400 |
||
21 | jae @f |
||
22 | mov edx,400 ;minimum size y |
||
23 | @@: |
||
1643 | mario79 | 24 | mov [Window_SizeX],ecx |
6357 | IgorA | 25 | mov [Window_SizeY],edx |
255 | heavyiron | 26 | |
1643 | mario79 | 27 | mov [MaxWorkScreen_SizeX],ecx |
28 | mov [MaxWorkScreen_SizeY],edx |
||
6357 | IgorA | 29 | sub [MaxWorkScreen_SizeX],ci_edit_wnd_x_pos+2*ci_edit_wnd_border+34 |
30 | sub [MaxWorkScreen_SizeY],ci_edit_wnd_y_pos+2*ci_edit_wnd_border+34 |
||
255 | heavyiron | 31 | |
1643 | mario79 | 32 | cmp [MaxWorkScreen_SizeX],0 |
33 | jns no_znak1 |
||
255 | heavyiron | 34 | |
1643 | mario79 | 35 | mov [MaxWorkScreen_SizeX],ecx |
255 | heavyiron | 36 | |
1643 | mario79 | 37 | no_znak1: |
38 | cmp [MaxWorkScreen_SizeY],0 |
||
39 | jns no_znak2 |
||
255 | heavyiron | 40 | |
1643 | mario79 | 41 | mov [MaxWorkScreen_SizeY],edx |
255 | heavyiron | 42 | |
1643 | mario79 | 43 | no_znak2: |
255 | heavyiron | 44 | |
6352 | IgorA | 45 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
1643 | mario79 | 46 | ;------------------------------------------------ |
2037 | leency | 47 | mov ebx,50 ;[Window_CordinatX] |
48 | mov ecx,50 ;[Window_CordinatY] |
||
1643 | mario79 | 49 | shl ebx,16 |
50 | shl ecx,16 |
||
51 | add ebx,[Window_SizeX] |
||
52 | add ecx,[Window_SizeY] |
||
6352 | IgorA | 53 | mcall SF_CREATE_WINDOW,,,0x53aabbcc,,name_of_program |
2045 | mario79 | 54 | |
55 | mov eax,[procinfo+70] ;staus of window |
||
56 | test eax,100b |
||
57 | jne .end |
||
58 | |||
1643 | mario79 | 59 | ;------------------------------------------------ |
60 | mov eax,5 |
||
61 | mov ebx,20 |
||
62 | mov ecx,[Window_SizeX] |
||
63 | mov edx,15 |
||
64 | mov esi,6 |
||
65 | sub ecx,10 |
||
66 | call draw_volume_rectangle ; top menu - file and etc. |
||
255 | heavyiron | 67 | |
1643 | mario79 | 68 | mov [counter],7 |
69 | mov edi,panel_text |
||
70 | call print_panel_text |
||
71 | ;------------------------------------------------ |
||
72 | mov eax,5 |
||
73 | mov ebx,20+15+1 |
||
74 | mov ecx,[Window_SizeX] |
||
75 | mov edx,50 |
||
76 | mov esi,1 |
||
77 | sub ecx,10 |
||
78 | call draw_volume_rectangle ; tools panel |
||
79 | call draw_icons |
||
80 | call PrintMousePos |
||
81 | ;------------------------------------------------ |
||
6352 | IgorA | 82 | mov ecx,[k] |
83 | call MovePictureToWorkScreen |
||
1643 | mario79 | 84 | ;------------------------------------------------ |
85 | mov ebx,[WorkScreen_SizeX] |
||
6357 | IgorA | 86 | add ebx,ci_edit_wnd_x_pos+ci_edit_wnd_border |
1643 | mario79 | 87 | shl ebx,16 |
6357 | IgorA | 88 | mov bx,ci_edit_wnd_border ;ширина бордюра |
1643 | mario79 | 89 | |
6357 | IgorA | 90 | mov ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
1643 | mario79 | 91 | mov edx,[Window_SizeY] |
6357 | IgorA | 92 | sub edx,ci_edit_wnd_y_pos+2*ci_edit_wnd_border+34 |
1643 | mario79 | 93 | shl ecx,16 |
6357 | IgorA | 94 | mov cx,dx ;высота бордюра |
255 | heavyiron | 95 | |
6357 | IgorA | 96 | mcall SF_DRAW_RECT,,,0xc7cbcf ;бордюр справа от окна перед скроллингом |
1643 | mario79 | 97 | ;------------------------------------------------ |
6357 | IgorA | 98 | mcall , |
1643 | mario79 | 99 | ;------------------------------------------------ |
6357 | IgorA | 100 | mov ebx,ci_edit_wnd_x_pos |
1643 | mario79 | 101 | mov edx,[Window_SizeX] |
6357 | IgorA | 102 | sub edx,25+10+ci_edit_wnd_x_pos |
1643 | mario79 | 103 | shl ebx,16 |
6357 | IgorA | 104 | mov bx,dx ;ширина бордюра |
255 | heavyiron | 105 | |
1643 | mario79 | 106 | mov ecx,[WorkScreen_SizeY] |
6357 | IgorA | 107 | add ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border |
1643 | mario79 | 108 | shl ecx,16 |
6357 | IgorA | 109 | mov cx,ci_edit_wnd_border ;высота бордюра |
255 | heavyiron | 110 | |
6357 | IgorA | 111 | mcall SF_DRAW_RECT,,,0xc7cbcf ;бордюр под окном и над скроллингом |
1643 | mario79 | 112 | ;------------------------------------------------ |
6357 | IgorA | 113 | mcall ,, |
1643 | mario79 | 114 | ;------------------------------------------------ |
6357 | IgorA | 115 | mov eax,ci_edit_wnd_x_pos |
1643 | mario79 | 116 | mov ebx,[Window_SizeY] |
117 | mov ecx,[Window_SizeX] |
||
118 | mov edx,20+10 |
||
119 | mov esi,3 |
||
6357 | IgorA | 120 | sub ecx,35+ci_edit_wnd_x_pos |
1643 | mario79 | 121 | sub ebx,25+10 |
6357 | IgorA | 122 | call draw_volume_rectangle ; horizontal scrollbar border |
1643 | mario79 | 123 | ;------------------------------------------------ |
124 | mov eax,[Window_SizeX] |
||
6357 | IgorA | 125 | mov ebx,ci_edit_wnd_y_pos |
1643 | mario79 | 126 | mov ecx,20+10 |
127 | mov edx,[Window_SizeY] |
||
128 | mov esi,3 |
||
129 | sub eax,25+10 |
||
6357 | IgorA | 130 | sub edx,35+ci_edit_wnd_y_pos |
131 | call draw_volume_rectangle ; vertical scrollbar border |
||
132 | call draw_scrollers |
||
1643 | mario79 | 133 | ;------------------------------------------------ |
134 | mov eax,[Window_SizeX] |
||
135 | mov ebx,[Window_SizeY] |
||
136 | mov ecx,20+10 |
||
137 | mov edx,20+10 |
||
138 | mov esi,6 |
||
139 | sub eax,25+10 |
||
140 | sub ebx,25+10 |
||
6357 | IgorA | 141 | call draw_volume_rectangle ; down and right small area |
1643 | mario79 | 142 | ;------------------------------------------------ |
2045 | mario79 | 143 | .end: |
6352 | IgorA | 144 | mcall SF_REDRAW,SSF_END_DRAW |
1643 | mario79 | 145 | ret |
146 | ;----------------------------------------------------------------------------- |