Subversion Repositories Kolibri OS

Rev

Rev 5997 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5997 Rev 6021
Line 7... Line 7...
7
 
7
 
8
#ifndef INCLUDE_FS_H
8
#ifndef INCLUDE_FS_H
9
#include "../lib/obj/fs.h"
9
#include "../lib/obj/fs.h"
Line -... Line 10...
-
 
10
#endif
-
 
11
 
-
 
12
#include "../lib/patterns/rgb.h"
10
#endif
13
 
Line 11... Line 14...
11
 
14
 
12
#define DEFAULT_FONT "/sys/fonts/Tahoma.kf"
15
#define DEFAULT_FONT "/sys/fonts/Tahoma.kf"
13
 
16
 
Line 209... Line 212...
209
 
212
 
210
inline fastcall dword b24(EBX) { return DSDWORD[EBX] << 8; }
213
inline fastcall dword b24(EBX) { return DSDWORD[EBX] << 8; }
211
:void LABEL::apply_smooth()
214
:void LABEL::apply_smooth()
212
{
215
{
-
 
216
	dword i,line_w,to;
213
	dword i,line_w,to;
217
	rgb.DwordToRgb(ShadowPixel(background,2)); //get shadowed pixel
214
	line_w = size.width * 3;
218
	line_w = size.width * 3;
215
	to = size.height - 1 * line_w + raw - 3;
219
	to = size.height - 1 * line_w + raw - 3;
216
	for(i=raw; i < to; i+=3)
220
	for(i=raw; i < to; i+=3)
217
	{
221
	{
-
 
222
		if(i-raw%line_w +3 == line_w) continue;
-
 
223
		// pixels position, where b - black, w - write
-
 
224
		// bw
218
		if(i-raw%line_w +3 == line_w) continue;
225
		// wb
219
		if(b24(i)==0x000000) && (b24(i+3)!=0x000000) && (b24(i+line_w)!=0x000000) && (b24(i+3+line_w)==0x000000)
226
		if(b24(i)==0x000000) && (b24(i+3)!=0x000000) && (b24(i+line_w)!=0x000000) && (b24(i+3+line_w)==0x000000)
220
		{
227
		{
-
 
228
			ESBYTE[i+3] = rgb.b;
-
 
229
			ESBYTE[i+4] = rgb.g;
221
			ShadowImage(i+3, 1, 1, 2);
230
			ESBYTE[i+5] = rgb.r;
-
 
231
			ESBYTE[i+line_w  ] = rgb.b;
-
 
232
			ESBYTE[i+line_w+1] = rgb.g;
-
 
233
			ESBYTE[i+line_w+2] = rgb.r;
-
 
234
			// // I don't know why but underneath code works slower then beneath
-
 
235
			// DSDWORD[i] = DSDWORD[i] & 0xFF000000 | dark_background;
222
			ShadowImage(i+line_w, 1, 1, 2);
236
			// DSDWORD[i+line_w] = DSDWORD[i+3+line_w] & 0xFF000000 | dark_background;			
-
 
237
		}
-
 
238
		// wb
223
		}
239
		// bw
224
		else if(b24(i)!=0x000000) && (b24(i+3)==0x000000) && (b24(i+line_w)==0x000000) && (b24(i+3+line_w)!=0x000000)
240
		else if(b24(i)!=0x000000) && (b24(i+3)==0x000000) && (b24(i+line_w)==0x000000) && (b24(i+3+line_w)!=0x000000)
-
 
241
		{
-
 
242
			ESBYTE[i  ] = rgb.b;
-
 
243
			ESBYTE[i+1] = rgb.g;
-
 
244
			ESBYTE[i+2] = rgb.r;
225
		{
245
			ESBYTE[i+line_w+3] = rgb.b;
226
			ShadowImage(i, 1, 1, 2);
246
			ESBYTE[i+line_w+4] = rgb.g;
-
 
247
			ESBYTE[i+line_w+5] = rgb.r;
-
 
248
			// // I don't know why but underneath code works slower then beneath
-
 
249
			// DSDWORD[i] = DSDWORD[i] & 0xFF000000 | dark_background;
227
			ShadowImage(i+3+line_w, 1, 1, 2);
250
			// DSDWORD[i+3+line_w] = DSDWORD[i+3+line_w] & 0xFF000000 | dark_background;
228
		}
251
		}
229
	}
252
	}
Line 230... Line 253...
230
}
253
}
Line 279... Line 302...
279
{
302
{
280
	dword new_raw_size;
303
	dword new_raw_size;
281
	IF(!text1)return;
304
	IF(!text1)return;
282
	IF(size.pt)IF(!changeSIZE())return;
305
	IF(size.pt)IF(!changeSIZE())return;
Line -... Line 306...
-
 
306
	
283
	
307
	if (size.pt != fontSizePoints) {
284
	size.pt = fontSizePoints;
308
		size.pt = fontSizePoints;
285
	getsize(text1);
309
		getsize(text1);
-
 
310
		y -= size.offset_y;
286
	y -= size.offset_y;
311
	}
287
	color = _color;
312
	color = _color;
Line 288... Line 313...
288
	background = _background;
313
	background = _background;
289
 
314