40,6 → 40,9 |
}tview_t; |
|
int init_tview(tview_t *txv, int width, int height, char *text, int size); |
void txv_set_size(tview_t *txv, int txw, int txh); |
void txv_set_font_size(tview_t *txv, int size); |
|
int txv_scroll_up(tview_t *txv); |
int txv_scroll_down(tview_t *txv); |
|
49,7 → 52,7 |
void draw_window(void) |
{ |
BeginDraw(); |
DrawWindow(0,0,0,0,NULL,0,0x74); |
DrawWindow(0,0,0,0,NULL,0,0x73); |
EndDraw(); |
} |
|
59,6 → 62,8 |
{ |
ufile_t uf; |
oskey_t key; |
int clw = 640; |
int clh = 480; |
|
__asm__ __volatile__( |
"int $0x40" |
75,11 → 80,11 |
init_pixlib(0); |
init_fontlib(); |
|
init_tview(&txv, 480, 600, uf.data, uf.size); |
init_tview(&txv, clw, clh, uf.data, uf.size); |
|
BeginDraw(); |
DrawWindow(10, 40, txv.w+TYPE_3_BORDER_WIDTH*2, |
txv.h+TYPE_3_BORDER_WIDTH+get_skin_height(), "Text example", 0x000000, 0x74); |
DrawWindow(10, 40, clw+TYPE_3_BORDER_WIDTH*2, |
clh+TYPE_3_BORDER_WIDTH+get_skin_height(), "Text example", 0x000000, 0x73); |
blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |
|
EndDraw(); |
93,16 → 98,50 |
switch (get_os_event()) |
{ |
case 1: |
{ |
char proc_info[1024]; |
int winx, winy, winw, winh; |
int txw, txh; |
|
get_proc_info(proc_info); |
|
winx = *(uint32_t*)(proc_info+34); |
winy = *(uint32_t*)(proc_info+38); |
winw = *(uint32_t*)(proc_info+42)+1; |
winh = *(uint32_t*)(proc_info+46)+1; |
|
txw = winw - TYPE_3_BORDER_WIDTH*2; |
txh = winh - TYPE_3_BORDER_WIDTH - get_skin_height(); |
|
if( (txw != clw) || |
(txh != clh) ) |
{ |
txv_set_size(&txv, txw, txh); |
clw = txw; |
clh = txh; |
}; |
|
draw_window(); |
blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |
break; |
} |
case 2: |
key = get_key(); |
printf("key %d\n", key.code); |
switch(key.code) |
{ |
case 27: |
return; |
|
case 45: |
txv_set_font_size(&txv, txv.font->height-3); |
blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |
break; |
|
case 61: |
txv_set_font_size(&txv, txv.font->height+1); |
blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |
break; |
case 177: |
if( txv_scroll_up(&txv) ) |
blit_bitmap(&txv.bitmap, TYPE_3_BORDER_WIDTH, get_skin_height(), txv.w, txv.h, 0, 0); |