Rev 5024 | Rev 6865 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5024 | Rev 5025 | ||
---|---|---|---|
Line 38... | Line 38... | ||
38 | int w; |
38 | int w; |
39 | int h; |
39 | int h; |
40 | }tview_t; |
40 | }tview_t; |
Line 41... | Line 41... | ||
41 | 41 | ||
- | 42 | int init_tview(tview_t *txv, int width, int height, char *text, int size); |
|
- | 43 | void txv_set_size(tview_t *txv, int txw, int txh); |
|
- | 44 | void txv_set_font_size(tview_t *txv, int size); |
|
42 | int init_tview(tview_t *txv, int width, int height, char *text, int size); |
45 | |
43 | int txv_scroll_up(tview_t *txv); |
46 | int txv_scroll_up(tview_t *txv); |
Line 44... | Line 47... | ||
44 | int txv_scroll_down(tview_t *txv); |
47 | int txv_scroll_down(tview_t *txv); |
45 | 48 | ||
Line 46... | Line 49... | ||
46 | void* init_fontlib(); |
49 | void* init_fontlib(); |
47 | int draw_text_ext(bitmap_t *winbitmap, FT_Face face, char *text, int len, rect_t *rc, int color); |
50 | int draw_text_ext(bitmap_t *winbitmap, FT_Face face, char *text, int len, rect_t *rc, int color); |
48 | 51 | ||
49 | void draw_window(void) |
52 | void draw_window(void) |
50 | { |
53 | { |
51 | BeginDraw(); |
54 | BeginDraw(); |
Line 52... | Line 55... | ||
52 | DrawWindow(0,0,0,0,NULL,0,0x74); |
55 | DrawWindow(0,0,0,0,NULL,0,0x73); |
Line 53... | Line 56... | ||
53 | EndDraw(); |
56 | EndDraw(); |
54 | } |
57 | } |
55 | 58 | ||
56 | tview_t txv; |
59 | tview_t txv; |
- | 60 | ||
- | 61 | int main(int argc, char *argv[]) |
|
Line 57... | Line 62... | ||
57 | 62 | { |
|
58 | int main(int argc, char *argv[]) |
63 | ufile_t uf; |
59 | { |
64 | oskey_t key; |
Line 73... | Line 78... | ||
73 | return 0; |
78 | return 0; |
Line 74... | Line 79... | ||
74 | 79 | ||
75 | init_pixlib(0); |
80 | init_pixlib(0); |
Line 76... | Line 81... | ||
76 | init_fontlib(); |
81 | init_fontlib(); |
Line 77... | Line 82... | ||
77 | 82 | ||
78 | init_tview(&txv, 480, 600, uf.data, uf.size); |
83 | init_tview(&txv, clw, clh, uf.data, uf.size); |
79 | 84 | ||
80 | BeginDraw(); |
85 | BeginDraw(); |
Line 81... | Line 86... | ||
81 | DrawWindow(10, 40, txv.w+TYPE_3_BORDER_WIDTH*2, |
86 | DrawWindow(10, 40, clw+TYPE_3_BORDER_WIDTH*2, |
Line 82... | Line 87... | ||
82 | txv.h+TYPE_3_BORDER_WIDTH+get_skin_height(), "Text example", 0x000000, 0x74); |
87 | clh+TYPE_3_BORDER_WIDTH+get_skin_height(), "Text example", 0x000000, 0x73); |
Line 91... | Line 96... | ||
91 | pos_t pos; |
96 | pos_t pos; |
Line 92... | Line 97... | ||
92 | 97 | ||
93 | switch (get_os_event()) |
98 | switch (get_os_event()) |
94 | { |
99 | { |
- | 100 | case 1: |
|
- | 101 | { |
|
- | 102 | char proc_info[1024]; |
|
- | 103 | int winx, winy, winw, winh; |
|
- | 104 | int txw, txh; |
|
- | 105 | ||
- | 106 | get_proc_info(proc_info); |
|
- | 107 | ||
- | 108 | winx = *(uint32_t*)(proc_info+34); |
|
- | 109 | winy = *(uint32_t*)(proc_info+38); |
|
- | 110 | winw = *(uint32_t*)(proc_info+42)+1; |
|
- | 111 | winh = *(uint32_t*)(proc_info+46)+1; |
|
- | 112 | ||
- | 113 | txw = winw - TYPE_3_BORDER_WIDTH*2; |
|
- | 114 | txh = winh - TYPE_3_BORDER_WIDTH - get_skin_height(); |
|
- | 115 | ||
- | 116 | if( (txw != clw) || |
|
- | 117 | (txh != clh) ) |
|
- | 118 | { |
|
- | 119 | txv_set_size(&txv, txw, txh); |
|
- | 120 | clw = txw; |
|
- | 121 | clh = txh; |
|
- | 122 | }; |
|
95 | case 1: |
123 | |
96 | draw_window(); |
124 | draw_window(); |
97 | blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |
125 | blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |
- | 126 | break; |
|
98 | break; |
127 | } |
99 | case 2: |
128 | case 2: |
- | 129 | key = get_key(); |
|
100 | key = get_key(); |
130 | printf("key %d\n", key.code); |
101 | switch(key.code) |
131 | switch(key.code) |
102 | { |
132 | { |
103 | case 27: |
133 | case 27: |
Line -... | Line 134... | ||
- | 134 | return; |
|
- | 135 | ||
- | 136 | case 45: |
|
- | 137 | txv_set_font_size(&txv, txv.font->height-3); |
|
- | 138 | blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |
|
- | 139 | break; |
|
- | 140 | ||
- | 141 | case 61: |
|
- | 142 | txv_set_font_size(&txv, txv.font->height+1); |
|
104 | return; |
143 | blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |
105 | 144 | break; |
|
106 | case 177: |
145 | case 177: |
107 | if( txv_scroll_up(&txv) ) |
146 | if( txv_scroll_up(&txv) ) |