void DrawToolbarButton(char image_id, int x) { DefineButton(x+1, 7, TOOLBAR_ICON_WIDTH-2, TOOLBAR_ICON_HEIGHT-2, 10+image_id + BT_HIDE, 0); img_draw stdcall(skin.image, x, 6, TOOLBAR_ICON_WIDTH, TOOLBAR_ICON_HEIGHT, 0, image_id*TOOLBAR_ICON_HEIGHT); } void DrawScroller() { scroll.max_area = list.count; scroll.cur_area = list.visible; scroll.position = list.first; scroll.all_redraw = 0; scroll.start_x = list.x + list.w; scroll.start_y = list.y; scroll.size_y = list.h; scroll.start_x = list.x + list.w; scrollbar_v_draw(#scroll); } dword MakePageWithHistory() { int i; static dword history_page; if (history_page) free(history_page); history_page = malloc(history.items.data_size+256); strcat(history_page, "History\n

History

\n"); strcat(history_page, "

Visited pages


\n"); for (i=0; i"); strcat(history_page, history.items.get(i)); strcat(history_page, "
\n"); } return history_page; } char char_width[255]; void get_label_symbols_size() { int i; kfont.changeSIZE(); for (i=0; i<256; i++) char_width[i] = kfont.symbol_size(i); } int get_label_len(dword _text) { int len=0; byte ch; loop () { ch = ESBYTE[_text]; if (!ch) return len; len += char_width[ch]; _text++; } } enum { STEP_1_DOWNLOAD_PAGE = 0, STEP_2_COUNT_PAGE_HEIGHT = 35, STEP_3_DRAW_PAGE_INTO_BUFFER = 60, STEP_4_SMOOTH_FONT = 88, STEP_5_STOP = 100, }; void DrawProgress(int percent) { int progress_width; if (percent<100) { progress_width = address_box.width+5*percent/100; DrawBar(address_box.left-3, address_box.top+16, progress_width, 2, 0x72B7EA); } else { progress_width = address_box.width+5; DrawBar(address_box.left-3, address_box.top+16, progress_width, 2, 0xFFFfff); } }