Rev 5776 | Rev 5884 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5784 | leency | 1 | #define MEMSIZE 0x2EE80 |
5730 | pavelyakov | 2 | |
3 | #include "../lib/font.h" |
||
5776 | leency | 4 | #include "../lib/gui.h" |
5730 | pavelyakov | 5 | |
5784 | leency | 6 | #define PANELH 30 |
7 | |||
5730 | pavelyakov | 8 | void main() |
9 | { |
||
5784 | leency | 10 | proc_info Form; |
5776 | leency | 11 | word i, y, btn; |
12 | char line[256], title[4196]; |
||
13 | font.no_bg_copy = true; |
||
14 | font.color = 0; |
||
15 | font.bg_color = 0xFFFFFF; |
||
16 | if (!param) strcpy(#param, "/sys/fonts/Tahoma.kf"); |
||
17 | font.load(#param); |
||
18 | strcpy(#title, "Kolibri font preview: "); |
||
19 | strcat(#title, #param); |
||
5730 | pavelyakov | 20 | loop() |
5776 | leency | 21 | { |
22 | switch(WaitEvent()) |
||
5730 | pavelyakov | 23 | { |
5776 | leency | 24 | case evButton: |
25 | btn = GetButtonID(); |
||
26 | if (btn==1) ExitProcess(); |
||
27 | if (btn==2) font.weight ^=1; |
||
28 | if (btn==3) font.italic ^=1; |
||
5784 | leency | 29 | if (btn==4) font.smooth ^=1; |
30 | goto _DRAW_WINDOW_CONTENT; |
||
5776 | leency | 31 | case evReDraw: |
5784 | leency | 32 | DefineAndDrawWindow(215,100,500,320,0x74,0xFFFFFF,#title); |
33 | GetProcessInfo(#Form, SelfInfo); |
||
34 | _DRAW_WINDOW_CONTENT: |
||
35 | DrawBar(0, 0, Form.cwidth, PANELH, 0xCCCccc); |
||
5776 | leency | 36 | CheckBox2(10, 8, 2, "Bold", font.weight); |
37 | CheckBox2(70, 8, 3, "Italic", font.italic); |
||
5784 | leency | 38 | CheckBox2(140, 8, 4, "Smooth", font.smooth); |
39 | font.buffer_size = free(font.buffer); |
||
5776 | leency | 40 | if (!font.data) |
41 | { |
||
5784 | leency | 42 | DrawBar(0, PANELH, Form.cwidth, Form.cheight - PANELH, 0xFFFfff); |
5776 | leency | 43 | WriteText(10, 50, 0x82, 0xFF00FF, "Font is not loaded."); |
5784 | leency | 44 | } |
45 | else for (i=10, y=5; i<22; i++, y+=font.height;) //not flexible, need to calculate font count and max line length |
||
5776 | leency | 46 | { |
47 | font.size.text = i; |
||
48 | sprintf(#line,"Размер шрифта/size font %d пикселей.",i); |
||
5784 | leency | 49 | font.prepare_buf(10,y,Form.cwidth,Form.cheight-PANELH, #line); |
5730 | pavelyakov | 50 | } |
5784 | leency | 51 | if (font.smooth) SmoothFont(font.buffer, font.size.width, font.size.height); |
52 | font.show(0, PANELH); |
||
5776 | leency | 53 | } |
54 | } |
||
55 | } |
||
5730 | pavelyakov | 56 | |
5776 | leency | 57 | void CheckBox2(dword x, y, id, text, byte value) { |
58 | CheckBox(x, y, 14, 14, id, text, system.color.work_graph, system.color.work_text, value); |
||
5730 | pavelyakov | 59 | }22;> |