static void dview_draw_size(DView *dv) { rectangle r; dview_get_rect(dv, RECT_DVIEW_SIZE, &r); dview_draw_outlined_box(dv, RECT_DVIEW_SIZE, 0, 0, rect_get_width(&r),rect_get_height(&r), MAKE_ARGB(0xff, 0xff, 0xff, 0x00)); }
static void dview_draw_size(DView *dv) { rectangle r; dview_get_rect(dv, RECT_DVIEW_SIZE, r); dview_draw_outlined_box(dv, RECT_DVIEW_SIZE, 0, 0, r.width(),r.height(), rgb_t(0xff, 0xff, 0xff, 0x00)); }
static void dview_draw_vsb(DView *dv) { int vt; int ts; //int sz = SLIDER_SIZE; int sz; rectangle r; adjustment *sb = &dv->vsb; dview_get_rect(dv, RECT_DVIEW_VSB, &r); dview_draw_outlined_box(dv, RECT_DVIEW_VSB, 0, rect_get_height(&r) - HSB_HEIGHT, VSB_WIDTH, HSB_HEIGHT, MAKE_ARGB(0xff, 0xff, 0x00, 0x00)); dview_draw_outlined_box(dv, RECT_DVIEW_VSB, 0, 0, VSB_WIDTH, HSB_HEIGHT, MAKE_ARGB(0xff, 0xff, 0x00, 0x00)); ts = (r.max_y - r.min_y + 1) - 2 * HSB_HEIGHT; sz = (ts * (sb->page_size)) / (sb->upper - sb->lower); ts = ts - sz; vt = (ts * (sb->value - sb->lower)) / (sb->upper - sb->lower - sb->page_size) + sz / 2 + HSB_HEIGHT; dview_draw_outlined_box(dv, RECT_DVIEW_VSB, 0, vt - sz / 2, VSB_WIDTH, sz, MAKE_ARGB(0xff, 0xff, 0x00, 0x00)); }
static void dview_draw_hsb(DView *dv) { int vt; int ts; //int sz = SLIDER_SIZE; int sz; rectangle r; adjustment *sb = &dv->hsb; dview_get_rect(dv, RECT_DVIEW_HSB, &r); dview_draw_outlined_box(dv, RECT_DVIEW_HSB, 0, 0, VSB_WIDTH,HSB_HEIGHT, MAKE_ARGB(0xff, 0xff, 0x00, 0x00)); dview_draw_outlined_box(dv, RECT_DVIEW_HSB, rect_get_width(&r) - VSB_WIDTH, 0, VSB_WIDTH, HSB_HEIGHT, MAKE_ARGB(0xff, 0xff, 0x00, 0x00)); ts = (r.max_x - r.min_x + 1) - 2 * VSB_WIDTH; sz = (ts * (sb->page_size)) / (sb->upper - sb->lower); ts = ts - sz; vt = (ts * (sb->value - sb->lower)) / (sb->upper - sb->lower - sb->page_size) + sz / 2 + r.min_x + VSB_WIDTH; dview_draw_outlined_box(dv, RECT_DVIEW_HSB, vt - sz / 2, 0, sz, HSB_HEIGHT, MAKE_ARGB(0xff, 0xff, 0x00, 0x00)); }
static void dview_draw_title(DView *dv) { int i; rgb_t col = MAKE_ARGB(0xff,0x00,0x00,0xff); rectangle r; dview_get_rect(dv, RECT_DVIEW_TITLE, &r); if (dv == focus_view) col = MAKE_ARGB(0xff,0x00,0x7f,0x00); dview_draw_outlined_box(dv, RECT_DVIEW_TITLE, 0, 0, rect_get_width(&dv->bounds), TITLE_HEIGHT, col); if (!dv->title) return; for (i=0; i<strlen(dv->title); i++) { dview_draw_char(dv, RECT_DVIEW_TITLE, i * debug_font_width + BORDER_XTHICKNESS, BORDER_YTHICKNESS, debug_font_height, //r.max_y - 2 * BORDER_YTHICKNESS, MAKE_ARGB(0xff,0xff,0xff,0xff), (UINT16) dv->title[i] ); } }