static int get_browser_height(){ #ifndef TOUCH_SCREEN if (!is_screen_wide()) return ADJ_SCALE(240); #endif return ADJ_SCALE(155); }
void ssd_dialog_allign_focus(void){ SsdSize size; int height; int min; SsdWidget title; title = ssd_widget_get (RoadMapDialogCurrent->container, "title_bar"); if (title) min = title->cached_size.height; else min = 0; #ifndef TOUCH_SCREEN if (!is_screen_wide()) min += roadmap_bar_top_height(); if( SSD_TAB_CONTROL & RoadMapDialogCurrent->container->flags) min += ssd_tabcontrol_get_height(); #endif #ifdef TOUCH_SCREEN height = roadmap_canvas_height(); #else height = roadmap_canvas_height() - roadmap_bar_bottom_height(); #endif if (RoadMapDialogCurrent->in_focus && RoadMapDialogCurrent->scroll_container){ if ((RoadMapDialogCurrent->in_focus->position.y == -1) || (RoadMapDialogCurrent->in_focus->position.x == -1 )){ RoadMapDialogCurrent->in_focus->position.y = 0; RoadMapDialogCurrent->scroll_container->offset_y +=20; } ssd_widget_get_size(RoadMapDialogCurrent->in_focus, &size, NULL); if (( RoadMapDialogCurrent->in_focus->position.y == 0) || ((size.height + RoadMapDialogCurrent->in_focus->position.y) > height)){ while (( RoadMapDialogCurrent->in_focus->position.y == 0) || ((size.height + RoadMapDialogCurrent->in_focus->position.y) > height)) { ssd_widget_set_offset(RoadMapDialogCurrent->scroll_container, 0, RoadMapDialogCurrent->scroll_container->offset_y-20); ssd_dialog_draw(); } while (RoadMapDialogCurrent->in_focus->position.y < min){ ssd_widget_set_offset(RoadMapDialogCurrent->scroll_container, 0, RoadMapDialogCurrent->scroll_container->offset_y+20); ssd_dialog_draw(); } } else{ while (RoadMapDialogCurrent->in_focus->position.y < min){ ssd_widget_set_offset(RoadMapDialogCurrent->scroll_container, 0, RoadMapDialogCurrent->scroll_container->offset_y+20); ssd_dialog_draw(); } } } }
static void draw_dialog (SsdDialog dialog) { if (!dialog) { return; } else { RoadMapGuiRect rect; rect.minx = 0; #ifndef TOUCH_SCREEN if (is_screen_wide()) rect.miny = 1; else rect.miny = roadmap_bar_top_height()+1; rect.maxx = roadmap_canvas_width() -1; #else rect.miny = 1; rect.maxx = roadmap_canvas_width() -1; #endif #ifdef TOUCH_SCREEN rect.maxy = roadmap_canvas_height() - 1; #else rect.maxy = roadmap_canvas_height() - 1 - roadmap_bar_bottom_height() ; #endif ssd_widget_reset_cache (dialog->container); ssd_widget_draw (dialog->container, &rect, 0); if ((dialog->container->flags & SSD_CONTAINER_TITLE) && (dialog->scroll_container != NULL) && (dialog->scroll_container->offset_y < 0)){ SsdWidget title; SsdSize size; title = ssd_widget_get (dialog->container, "title_bar"); ssd_widget_get_size(title, &size, NULL); #ifndef TOUCH_SCREEN if (!is_screen_wide()){ rect.miny = roadmap_bar_top_height(); } else{ rect.miny = 0; } #else rect.miny = 1; #endif rect.maxy = rect.miny + size.height-1 ; title->draw(title, &rect, 0); rect.miny +=1; ssd_widget_draw(title->children, &rect, 0); } #ifndef TOUCH_SCREEN roadmap_bar_draw_bottom_bar(TRUE); if ((dialog->container->flags & SSD_CONTAINER_TITLE) && (dialog->scroll_container != NULL) && (dialog->scroll_container->offset_y < 0)) if (!is_screen_wide()) roadmap_bar_draw_top_bar(TRUE); #endif ssd_dialog_sort_tab_order( dialog); ssd_dialog_sort_tab_order_by_gui_position(); } }