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 |