Subversion Repositories Kolibri OS

Rev

Rev 6170 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6170 Rev 8992
Line 1... Line 1...
1
;----------------------------------------------------------------------
1
;----------------------------------------------------------------------
2
area:
2
area:
3
  .x      = 5	;345
3
  .x      = 5	;345
4
  .y      = 5	;20
4
  .y      = 5	;20
5
  .width  = 206
5
  .w  = 226
6
  .height = 191
6
  .height = 220
7
;--------------------------------------
7
;--------------------------------------
8
wnd3:
8
wnd3:
9
  .x      = area.x+32
9
  .x      = area.x+37
10
  .y      = area.y+35
10
  .y      = area.y+35
11
  .width  = 160
11
  .w  = 170
12
  .height = 100
12
  .height = 105
13
;--------------------------------------
13
;--------------------------------------
14
wnd4:
14
wnd4:
15
  .x      = area.x+15
15
  .x      = area.x+20
16
  .y      = area.y+70
16
  .y      = area.y+75
17
  .width  = 160
17
  .w  = 170
18
  .height = 100
18
  .height = 105
19
;--------------------------------------
19
;--------------------------------------
20
virtual at edi+SKIN_PARAMS.dtp.data
20
virtual at edi+SKIN_PARAMS.dtp.data
21
	dtp system_colors
21
	dtp system_colors
22
end virtual
22
end virtual
23
;----------------------------------------------------------------------
23
;----------------------------------------------------------------------
24
draw_skin:
24
draw_skin:
25
	mcall	13,,,0x00FFFFFF
25
	mcall	13,,,0x00FFFFFF
26
	mov	ebp,not_packed_area
26
	mov	ebp,not_packed_area
27
	mov	edi,[ebp+SKIN_HEADER.params]
27
	mov	edi,[ebp+SKIN_HEADER.params]
28
	add	edi,ebp
28
	add	edi,ebp
29
	mpack	ebx,wnd3.x,wnd3.width
29
	mpack	ebx,wnd3.x,wnd3.w
30
	mpack	ecx,wnd3.y,wnd3.height
30
	mpack	ecx,wnd3.y,wnd3.height
31
	mov	edx,[edi+SKIN_PARAMS.colors_1.outer]
31
	mov	edx,[edi+SKIN_PARAMS.colors_1.outer]
32
	call	draw_framerect
32
	call	draw_framerect
33
	mpack	ebx,wnd3.x+4,wnd3.width-8
33
	mpack	ebx,wnd3.x+4,wnd3.w-8
34
	mpack	ecx,wnd3.y+4,wnd3.height-8
34
	mpack	ecx,wnd3.y+4,wnd3.height-8
35
	mov	edx,[edi+SKIN_PARAMS.colors_1.inner]
35
	mov	edx,[edi+SKIN_PARAMS.colors_1.inner]
36
	call	draw_framerect
36
	call	draw_framerect
37
	mcall	13,,,[edi+SKIN_PARAMS.colors_1.frame]
37
	mcall	13,,,[edi+SKIN_PARAMS.colors_1.frame]
38
	add	ecx,(wnd3.height-5)*65536
38
	add	ecx,(wnd3.height-5)*65536
39
	mcall
39
	mcall
40
	mcall	,,
40
	mcall	,,
41
	add	ebx,(wnd3.width-5)*65536
41
	add	ebx,(wnd3.w-5)*65536
42
	mcall
42
	mcall
43
	mcall	,,,dword[dtp.work]
43
	mcall	,,,dword[dtp.work]
Line 44... Line 44...
44
 
44
 
45
	mov	eax,0x00000001 ; left, inactive
45
	mov	eax,0x00000001 ; left, inactive
46
	call	find_bitmap
46
	call	find_bitmap
Line 47... Line 47...
47
	mcall	7,,,
47
	mcall	7,,,
48
 
48
 
49
	pushd	[ebx-8]
49
	pushd	[ebx-8]
50
	mov	eax,0x00000003 ; base, inactive
50
	mov	eax,0x00000003 ; base, inactive
51
	call	find_bitmap
51
	call	find_bitmap
52
	pop	edx
52
	pop	edx
53
	mov	esi,wnd3.x+wnd3.width-1
53
	mov	esi,wnd3.x+wnd3.w-1
54
	sub	esi,edx
54
	sub	esi,edx
55
	shl	edx,16
55
	shl	edx,16
56
	add	edx,wnd3.x*65536+wnd3.y
56
	add	edx,wnd3.x*65536+wnd3.y
Line 71... Line 71...
71
	call	find_bitmap
71
	call	find_bitmap
72
	mov	edx,ecx
72
	mov	edx,ecx
73
	shr	edx,16
73
	shr	edx,16
74
	neg	edx
74
	neg	edx
75
	shl	edx,16
75
	shl	edx,16
76
	add	edx,(wnd3.x+wnd3.width)*65536+wnd3.y
76
	add	edx,(wnd3.x+wnd3.w)*65536+wnd3.y
77
	mcall	7
77
	mcall	7
Line 78... Line 78...
78
 
78
 
79
	mov	ebp,not_packed_area
79
	mov	ebp,not_packed_area
80
	mov	edi,[ebp+SKIN_HEADER.params]
80
	mov	edi,[ebp+SKIN_HEADER.params]
Line 91... Line 91...
91
	add ecx,0x10000000
91
	add ecx,0x10000000
92
	mcall	4,,,caption_text,caption_text.size
92
	mcall	4,,,caption_text,caption_text.size
93
;---------------------------------------------------------
93
;---------------------------------------------------------
94
	mov	edi,[ebp+SKIN_HEADER.params]
94
	mov	edi,[ebp+SKIN_HEADER.params]
95
	add	edi,ebp
95
	add	edi,ebp
96
	mpack	ebx,wnd4.x,wnd4.width
96
	mpack	ebx,wnd4.x,wnd4.w
97
	mpack	ecx,wnd4.y,wnd4.height
97
	mpack	ecx,wnd4.y,wnd4.height
98
	mov	edx,[edi+SKIN_PARAMS.colors.outer]
98
	mov	edx,[edi+SKIN_PARAMS.colors.outer]
99
	call	draw_framerect
99
	call	draw_framerect
100
	mpack	ebx,wnd4.x+4,wnd4.width-8
100
	mpack	ebx,wnd4.x+4,wnd4.w-8
101
	mpack	ecx,wnd4.y+4,wnd4.height-8
101
	mpack	ecx,wnd4.y+4,wnd4.height-8
102
	mov	edx,[edi+SKIN_PARAMS.colors.inner]
102
	mov	edx,[edi+SKIN_PARAMS.colors.inner]
103
	call	draw_framerect
103
	call	draw_framerect
104
	mcall	13,,,[edi+SKIN_PARAMS.colors.frame]
104
	mcall	13,,,[edi+SKIN_PARAMS.colors.frame]
105
	add	ecx,(wnd4.height-5)*65536
105
	add	ecx,(wnd4.height-5)*65536
106
	mcall
106
	mcall
107
	mcall	,,
107
	mcall	,,
108
	add	ebx,(wnd4.width-5)*65536
108
	add	ebx,(wnd4.w-5)*65536
109
	mcall
109
	mcall
110
	mcall	,,,dword[dtp.work]
110
	mcall	,,,dword[dtp.work]
-
 
111
	mov eax,[edi+SKIN_PARAMS.skin_height]
-
 
112
	shl eax,16
-
 
113
	sub eax,[edi+SKIN_PARAMS.skin_height]
-
 
114
	add ecx,eax
-
 
115
	mov edx,36+0x40000000
-
 
116
	mcall	8
Line 111... Line 117...
111
 
117
	
112
	mov	eax,0x00010001 ; left, inactive
118
	mov	eax,0x00010001 ; left, inactive
113
	call	find_bitmap
119
	call	find_bitmap
Line 114... Line 120...
114
	mcall	7,,,
120
	mcall	7,,,
115
 
121
 
116
	pushd	[ebx-8]
122
	pushd	[ebx-8]
117
	mov	eax,0x00010003 ; base, inactive
123
	mov	eax,0x00010003 ; base, inactive
118
	call	find_bitmap
124
	call	find_bitmap
119
	pop	edx
125
	pop	edx
120
	mov	esi,wnd4.x+wnd4.width-1
126
	mov	esi,wnd4.x+wnd4.w-1
121
	sub	esi,edx
127
	sub	esi,edx
122
	shl	edx,16
128
	shl	edx,16
123
	add	edx,wnd4.x*65536+wnd4.y
129
	add	edx,wnd4.x*65536+wnd4.y
Line 138... Line 144...
138
	call	find_bitmap
144
	call	find_bitmap
139
	mov	edx,ecx
145
	mov	edx,ecx
140
	shr	edx,16
146
	shr	edx,16
141
	neg	edx
147
	neg	edx
142
	shl	edx,16
148
	shl	edx,16
143
	add	edx,(wnd4.x+wnd4.width)*65536+wnd4.y
149
	add	edx,(wnd4.x+wnd4.w)*65536+wnd4.y
144
	mcall	7
150
	mcall	7
Line 145... Line 151...
145
 
151
 
146
	mov	ebp,not_packed_area
152
	mov	ebp,not_packed_area
147
	mov	edi,[ebp+SKIN_HEADER.params]
153
	mov	edi,[ebp+SKIN_HEADER.params]
148
	add	edi,ebp
154
	add	edi,ebp
149
	pop	eax
155
	pop	eax
150
	lea	ebx,[eax+wnd4.x*65536+wnd4.y]
156
	lea	ebx,[eax+wnd4.x*65536+wnd4.y]
151
	mov ecx,dword[dtp.grab_text]
157
	mov ecx,dword[dtp.grab_text]
152
	add ecx,0x10000000
158
	add ecx,0x10000000
-
 
159
	mcall	4,,,caption_text,caption_text.size
153
	mcall	4,,,caption_text,caption_text.size
160
	mcall	8, , ,35+0x40000000 ;button under caption
154
;----------------------------------------------------------------------
161
;----------------------------------------------------------------------
155
	mov	edi,[ebp+SKIN_HEADER.buttons]
162
	mov	edi,[ebp+SKIN_HEADER.buttons]
156
	add	edi,ebp
163
	add	edi,ebp
157
;--------------------------------------
164
;--------------------------------------
158
.lp1:
165
.lp1:
159
	cmp	dword[edi],0
166
	cmp	dword[edi],0
Line 160... Line 167...
160
	je	.lp2
167
	je	.lp2
161
 
168
 
162
	mov	ebx,dword[edi+SKIN_BUTTONS.left-2]
169
	mov	ebx,dword[edi+SKIN_BUTTONS.left-2]
163
	mov	bx,[edi+SKIN_BUTTONS.width]
170
	mov	bx,[edi+SKIN_BUTTONS.w]
164
	mov	ecx,dword[edi+SKIN_BUTTONS.top-2]
171
	mov	ecx,dword[edi+SKIN_BUTTONS.top-2]
165
	mov	cx,[edi+SKIN_BUTTONS.height]
172
	mov	cx,[edi+SKIN_BUTTONS.height]
166
	add	ebx,(wnd4.x+wnd4.width)*65536
173
	add	ebx,(wnd4.x+wnd4.w)*65536
167
	add	ecx,wnd4.y*65536
174
	add	ecx,wnd4.y*65536
168
	dec	ebx
175
	dec	ebx
169
	dec	ecx
176
	dec	ecx
Line 174... Line 181...
174
.lp2:
181
.lp2:
175
	mov	edi,[ebp+SKIN_HEADER.params]
182
	mov	edi,[ebp+SKIN_HEADER.params]
176
	add	edi,ebp
183
	add	edi,ebp
177
	mpack	ebx,wnd4.x+10,wnd4.y+10
184
	mpack	ebx,wnd4.x+10,wnd4.y+10
178
	add	bx,word[edi+SKIN_PARAMS.skin_height]
185
	add	bx,word[edi+SKIN_PARAMS.skin_height]
-
 
186
	mov ecx,[dtp.work_text]
-
 
187
	add ecx,0x10000000
179
	mcall	4,,[dtp.work_text],window_text,window_text.size
188
	mcall	4,,,window_text,window_text.size
Line 180... Line 189...
180
 
189
 
181
	mov	ecx,[edi+SKIN_PARAMS.skin_height]
190
	mov	ecx,[edi+SKIN_PARAMS.skin_height]
182
	shl	ecx,16
191
	shl	ecx,16
-
 
192
	add	ecx,(wnd4.y+8)*65536+18
183
	add	ecx,(wnd4.y+8)*65536+10
193
 
184
	mcall	13,
194
	mcall	13,
-
 
195
			(wnd4.x+window_text.size*8+20)>,,[dtp.work_graph]
-
 
196
	mov edx, 40+0x40000000 ; graf button
-
 
197
	mcall	8
-
 
198
	
-
 
199
	dec edx ; window text button
185
			(wnd4.x+window_text.size*6+20)>,,[dtp.work_graph]
200
	mcall	8, 
186
 
201
 
187
	add	ecx,25*65536+10
202
	add	ecx,35*65536+5
188
	mcall	8,
203
	mcall	8,
Line 189... Line 204...
189
			button_text.size*6+11>,,0,[dtp.work_button]
204
			button_text.size*8+15>,,37,[dtp.work_button]
190
 
205
 
191
	shr	ecx,16
206
	shr	ecx,16
-
 
207
	mov	bx,cx
-
 
208
	add	ebx,0x00060005
192
	mov	bx,cx
209
	mov ecx, [dtp.work_button_text]
193
	add	ebx,0x00060007
210
	add ecx, 0x10000000
194
	mcall	4,,[dtp.work_button_text],button_text,button_text.size
211
	mcall	4,,,button_text,button_text.size
195
	ret
212
	ret
196
;---------------------------------------------------------------------
213
;---------------------------------------------------------------------
197
find_bitmap:
214
find_bitmap: