本文整理汇总了C++中draw_background_locked函数的典型用法代码示例。如果您正苦于以下问题:C++ draw_background_locked函数的具体用法?C++ draw_background_locked怎么用?C++ draw_background_locked使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了draw_background_locked函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: textview_redraw
static int textview_redraw(struct textview *tv)
{
int rc = 0;
char buf[512];
//char *ptr;
const char *string;
int row, len;
int x, y, s;
int line;
unsigned char r,g,b,a;
pthread_mutex_lock(&gUpdateMutex);
draw_background_locked(gCurrentIcon);
/* background color */
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
/* title text */
if (tv->m_title) {
/* title background color */
gr_color(51, 52, 255, 160);
gr_fill(0, 0, gr_fb_width(), 2 * CHAR_HEIGHT);
set_gr_color(tv->m_title->color);
gr_text(0, 1 * ((CHAR_HEIGHT >> 1) + CHAR_HEIGHT) - 1, tv->m_title->string);
}
开发者ID:LuckJC,项目名称:pro-mk,代码行数:28,代码来源:miniui.c
示例2: draw_background_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with updateMutex locked.
void ScreenRecoveryUI::draw_screen_locked() {
if (!show_text) {
draw_background_locked(currentIcon);
draw_progress_locked();
} else {
gr_color(0, 0, 0, 255);
gr_clear();
int y = 0;
if (show_menu) {
char recovery_fingerprint[PROPERTY_VALUE_MAX];
property_get("ro.bootimage.build.fingerprint", recovery_fingerprint, "");
SetColor(INFO);
DrawTextLine(&y, "Android Recovery", true);
for (auto& chunk : android::base::Split(recovery_fingerprint, ":")) {
DrawTextLine(&y, chunk.c_str(), false);
}
DrawTextLines(&y, HasThreeButtons() ? REGULAR_HELP : LONG_PRESS_HELP);
SetColor(HEADER);
DrawTextLines(&y, menu_headers_);
SetColor(MENU);
DrawHorizontalRule(&y);
y += 4;
for (int i = 0; i < menu_items; ++i) {
if (i == menu_sel) {
// Draw the highlight bar.
SetColor(IsLongPress() ? MENU_SEL_BG_ACTIVE : MENU_SEL_BG);
gr_fill(0, y - 2, gr_fb_width(), y + char_height + 2);
// Bold white text for the selected item.
SetColor(MENU_SEL_FG);
gr_text(4, y, menu_[i], true);
SetColor(MENU);
} else {
gr_text(4, y, menu_[i], false);
}
y += char_height + 4;
}
DrawHorizontalRule(&y);
}
// display from the bottom up, until we hit the top of the
// screen, the bottom of the menu, or we've displayed the
// entire text buffer.
SetColor(LOG);
int row = (text_top_ + text_rows_ - 1) % text_rows_;
size_t count = 0;
for (int ty = gr_fb_height() - char_height;
ty >= y && count < text_rows_;
ty -= char_height, ++count) {
gr_text(0, ty, text_[row], false);
--row;
if (row < 0) row = text_rows_ - 1;
}
}
}
开发者ID:CanaryOS,项目名称:android_bootable_recovery,代码行数:60,代码来源:screen_ui.cpp
示例3: draw_background_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with updateMutex locked.
void ScreenRecoveryUI::draw_screen_locked()
{
if (!show_text) {
draw_background_locked(currentIcon);
draw_progress_locked();
// MStar Android Patch Begin
draw_top_title_locked();
draw_tip_title_locked(currentTip);
draw_exit_recovery_tip_title_locked(currentExitRecoveryTip);
// MStar Android Patch End
} else {
gr_color(0, 0, 0, 255);
gr_clear();
int y = 0;
int i = 0;
if (show_menu) {
SetColor(HEADER);
for (; i < menu_top + menu_items; ++i) {
if (i == menu_top) SetColor(MENU);
if (i == menu_top + menu_sel) {
// draw the highlight bar
SetColor(MENU_SEL_BG);
gr_fill(0, y-2, gr_fb_width(), y+char_height+2);
// white text of selected item
SetColor(MENU_SEL_FG);
if (menu[i][0]) gr_text(4, y, menu[i], 1);
SetColor(MENU);
} else {
if (menu[i][0]) gr_text(4, y, menu[i], i < menu_top);
}
y += char_height+4;
}
SetColor(MENU);
y += 4;
gr_fill(0, y, gr_fb_width(), y+2);
y += 4;
++i;
}
SetColor(LOG);
// display from the bottom up, until we hit the top of the
// screen, the bottom of the menu, or we've displayed the
// entire text buffer.
int ty;
int row = (text_top+text_rows-1) % text_rows;
for (int ty = gr_fb_height() - char_height, count = 0;
ty > y+2 && count < text_rows;
ty -= char_height, ++count) {
gr_text(4, ty, text[row], 0);
--row;
if (row < 0) row = text_rows-1;
}
}
}
开发者ID:FrankEos,项目名称:Android,代码行数:60,代码来源:screen_ui.cpp
示例4: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
draw_background_locked(gCurrentIcon);
if (show_text) {
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int i = 0, j = 0;
int k = menu_top + 1; //counter for bottom horizontal text line location
if (show_menu) {
//menu line item selection highlight draws
gr_color(255, 255, 255, 255);
gr_fill(0, (menu_top + menu_sel - menu_show_start+1) * CHAR_HEIGHT,
gr_fb_width(), CHAR_HEIGHT+1);
//draw semi-static headers
for (i = 0; i < menu_top; ++i) {
gr_color(200, 200, 200, 200);
draw_text_line(i, menu[i]);
//LOGI("Semi-static headers internal counter i: %i\n", i);
}
//adjust counter for current position of selection and menu display starting point
if (menu_items - menu_show_start + menu_top >= text_rows){
j = text_rows - menu_top;
//LOGI("j = text_rows - mneu_top and j = %i\n", j);
} else {
j = menu_items - menu_show_start;
//LOGI("j = mneu_items - menu_show_start and j = %i\n", j);
}
//LOGI("outside draw menu items for loop and i goes until limit. limit-menu_show_start + menu_top + j = %i\n", menu_show_start + menu_top + j);
//draw menu items dynamically based on current menu starting position, menu selection point and headers
for (i = menu_show_start + menu_top; i < (menu_show_start + menu_top + j); ++i) {
//LOGI("inside draw menu items for loop and i = %i\n", i);
if (i == menu_top + menu_sel) {
gr_color(200, 200, 200, 200);
//LOGI("draw_text_line -menu_item_when_highlighted_color- at i + 1= %i\n", i+1);
draw_text_line(i - menu_show_start +1, menu[i]);
} else {
gr_color(200, 200, 200, 200);
//LOGI("draw_text_line -menu_item_color- at i + 1= %i\n", i+1);
draw_text_line(i - menu_show_start +1, menu[i]);
}
//LOGI("inside draw menu items for loop and k = %i\n", k);
k++;
}
}
k++; //keep ui_print below menu items display
gr_color(200, 200, 200, 200); //called by at least ui_print
for (; k < text_rows; ++k) {
draw_text_line(k, text[(k+text_top) % text_rows]);
}
}
}
开发者ID:Hashcode,项目名称:android_device_safestrap-common,代码行数:58,代码来源:ui.c
示例5: draw_background_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with updateMutex locked.
void ScreenRecoveryUI::draw_screen_locked()
{
draw_background_locked(currentIcon);
draw_progress_locked();
if (show_text) {
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int i = 0;
if (show_menu) {
#ifndef VENDOR_EDIT
//[email protected], 2012/06/11, Modify for recovery font color
gr_color(64, 96, 255, 255);
#else /* VENDOR_EDIT */
gr_color(41, 198, 255, 255);
#endif /* VENDOR_EDIT */
gr_fill(0, (menu_top+menu_sel) * CHAR_HEIGHT,
gr_fb_width(), (menu_top+menu_sel+1)*CHAR_HEIGHT+1);
for (; i < menu_top + menu_items; ++i) {
if (i == menu_top + menu_sel) {
#ifndef VENDOR_EDIT
//[email protected], 2012/06/11, Modify for recovery font color
gr_color(255, 140, 0, 255);
draw_text_line(i, menu[i]);
gr_color(64, 96, 255, 255);
#else /* VENDOR_EDIT */
gr_color(255, 255, 255, 255);
draw_focus_text_line(i, menu[i]);
gr_color(255, 255, 60, 255);
#endif /* VENDOR_EDIT */
} else {
#ifndef VENDOR_EDIT
//[email protected], 2012/06/11, Modify for recovery font color
gr_color(255, 140, 0, 255);
#else /* VENDOR_EDIT */
gr_color(255, 230, 120, 255);
#endif /* VENDOR_EDIT */
draw_text_line(i, menu[i]);
}
}
gr_fill(0, i*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), i*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
++i;
}
gr_color(240, 255, 240, 255); //wschen 2012-07-11
for (; i < text_rows; ++i) {
draw_text_line(i, text[(i+text_top) % text_rows]);
}
}
}
开发者ID:Jiangyi,项目名称:12055,代码行数:55,代码来源:screen_ui.cpp
示例6: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
if (!ui_has_initialized) return;
draw_background_locked(gCurrentIcon);
draw_progress_locked();
if (show_text) {
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int i = 0;
int j = 0;
int row = 0; // current row that we are drawing on
if (show_menu) {
gr_color(MENU_TEXT_COLOR);
gr_fill(0, (menu_top + menu_sel - menu_show_start) * CHAR_HEIGHT,
gr_fb_width(), (menu_top + menu_sel - menu_show_start + 1)*CHAR_HEIGHT+1);
gr_color(HEADER_TEXT_COLOR);
for (i = 0; i < menu_top; ++i) {
draw_text_line(i, menu[i]);
row++;
}
if (menu_items - menu_show_start + menu_top >= MAX_ROWS)
j = MAX_ROWS - menu_top;
else
j = menu_items - menu_show_start;
gr_color(MENU_TEXT_COLOR);
for (i = menu_show_start + menu_top; i < (menu_show_start + menu_top + j); ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
draw_text_line(i - menu_show_start , menu[i]);
gr_color(MENU_TEXT_COLOR);
} else {
gr_color(MENU_TEXT_COLOR);
draw_text_line(i - menu_show_start, menu[i]);
}
row++;
}
gr_fill(0, row*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), row*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
}
gr_color(NORMAL_TEXT_COLOR);
for (; row < text_rows; ++row) {
draw_text_line(row, text[(row+text_top) % text_rows]);
}
}
}
开发者ID:eugene373,项目名称:Vibrant-recovery-2.2,代码行数:53,代码来源:ui.c
示例7: draw_background_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with updateMutex locked.
void ScreenRecoveryUI::draw_screen_locked()
{
draw_background_locked(currentIcon);
if (DialogShowing()) {
draw_dialog();
return;
}
SetColor(MENU);
if (show_text) {
if (currentIcon != ERASING && currentIcon != INSTALLING_UPDATE)
draw_header_icon();
if (currentIcon == ERASING || currentIcon == INSTALLING_UPDATE || currentIcon == VIEWING_LOG) {
int y = currentIcon == INSTALLING_UPDATE ? gr_fb_height() / 4 : header_height + 4;
SetColor(LOG);
int cx, cy;
gr_set_font("log");
gr_font_size(&cx, &cy);
// display from the bottom up, until we hit the top of the
// screen or we've displayed the entire text buffer.
int row = (text_first_row+log_text_rows-1) % log_text_rows;
for (int ty = gr_fb_height() - cy, count = 0;
ty > y+2 && count < log_text_rows;
ty -= (cy+2), ++count) {
gr_text(4, ty, text[row], 0);
--row;
if (row < 0) row = log_text_rows-1;
}
return;
}
if (show_menu) {
gr_set_font("menu");
int nr_items = menu_items - menu_show_start;
if (nr_items > max_menu_rows)
nr_items = max_menu_rows;
for (int i = 0; i < nr_items; ++i) {
draw_menu_item(text_first_row + 3*i, menu[menu_show_start+i],
((menu_show_start+i) == menu_sel));
}
}
}
}
开发者ID:daddy366,项目名称:anarchy-bootable,代码行数:51,代码来源:screen_ui.cpp
示例8: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
draw_background_locked(gCurrentIcon);
if (show_text) {
/* background color */
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
/* title background color */
gr_color(51, 52, 255, 160);
gr_fill(0, 0, gr_fb_width(), CHAR_HEIGHT);
/* title text */
set_gr_color(COLOR_YELLOW);
draw_menu_text(0, menu[0]);
int i = 1;
if (show_menu) {
gr_color(64, 96, 255, 160);
gr_fill(0, (menu_top+menu_sel) * CHAR_HEIGHT,
gr_fb_width(), (menu_top+menu_sel+1)*CHAR_HEIGHT+1);
for (; i < menu_top + menu_items; ++i) {
if (i == menu_top + menu_sel) {
set_gr_color(COLOR_YELLOW);
draw_menu_text(i, menu[i]);
gr_color(64, 96, 255, 160);
} else {
gr_color(120, 120, 255, 160);
draw_menu_text(i, menu[i]);
gr_color(64, 96, 255, 160);
}
gr_fill(0, i * CHAR_HEIGHT + CHAR_HEIGHT/2-1,
gr_fb_width(), 1);
}
gr_fill(0, i*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), i*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
++i;
}
/* printed text color */
set_gr_color(COLOR_YELLOW);
int j = 0;
for (; i < text_rows; ++i)
draw_menu_text(i, text[j++]);
}
}
开发者ID:LuckJC,项目名称:pro-mk,代码行数:50,代码来源:miniui.c
示例9: pthread_mutex_lock
char *ui_copy_image(int icon, int *width, int *height, int *bpp) {
pthread_mutex_lock(&gUpdateMutex);
draw_background_locked(icon);
*width = gr_fb_width();
*height = gr_fb_height();
*bpp = sizeof(gr_pixel) * 8;
int size = *width * *height * sizeof(gr_pixel);
char *ret = malloc(size);
if (ret == NULL) {
LOGE("Can't allocate %d bytes for image\n", size);
} else {
memcpy(ret, gr_fb_data(), size);
}
pthread_mutex_unlock(&gUpdateMutex);
return ret;
}
开发者ID:Android-Butter,项目名称:butter_bootable_recovery,代码行数:16,代码来源:ui.c
示例10: show_slash_draw_screen_locked
static void show_slash_draw_screen_locked(const char * msg)
{
draw_background_locked(gCurrentIcon);
// background color
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
// printed text color
set_gr_color(COLOR_YELLOW);
if (msg[0] != '\0') {
//gr_text_scale(1, (1)*CHAR_HEIGHT-1, msg, 2); //will use this in future
gr_text(1, (1)*CHAR_HEIGHT-1, msg);
}
}
开发者ID:LuckJC,项目名称:pro-mk,代码行数:18,代码来源:miniui.c
示例11: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
int cRv = 54;
int cGv = 74;
int cBv = 255;
draw_background_locked(gCurrentIcon);
draw_progress_locked();
if (show_text) {
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int i = 0;
if (show_menu) {
gr_color(cRv,cGv,cBv,255);
gr_fill(0, (menu_top+menu_sel) * CHAR_HEIGHT,
gr_fb_width(), (menu_top+menu_sel+1)*CHAR_HEIGHT+1);
for (; i < menu_top + menu_items; ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
draw_text_line(i, menu[i]);
gr_color(cRv,cGv,cBv,255);
} else {
draw_text_line(i, menu[i]);
}
}
gr_fill(0, i*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), i*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
++i;
}
TEXTCOLOR
for (; i < text_rows; ++i) {
draw_text_line(i, text[(i+text_top) % text_rows]);
}
}
}
开发者ID:teamprestigeww,项目名称:android_bootable_recovery,代码行数:42,代码来源:ui.c
示例12: draw_background_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with updateMutex locked.
void ScreenRecoveryUI::draw_screen_locked()
{
draw_background_locked(currentIcon);
draw_progress_locked();
if (show_text) {
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int i = 0;
if (show_menu) {
gr_color(64, 96, 255, 255);
gr_fill(0, (menu_top+menu_sel) * CHAR_HEIGHT,
gr_fb_width(), (menu_top+menu_sel+1)*CHAR_HEIGHT+1);
for (; i < menu_top + menu_items; ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
draw_text_line(i, menu[i]);
gr_color(64, 96, 255, 255);
} else {
draw_text_line(i, menu[i]);
}
}
gr_fill(0, i*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), i*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
++i;
}
gr_color(255, 255, 0, 255);
for (; i < text_rows; ++i) {
draw_text_line(i, text[(i+text_top) % text_rows]);
}
}
}
开发者ID:PhungXuanAnh,项目名称:mza-v3.0-bsp,代码行数:38,代码来源:screen_ui.cpp
示例13: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void) {
if (!ui_has_initialized)
return;
draw_background_locked(gCurrentIcon);
draw_progress_locked();
if (show_text) {
int total_rows = (gr_fb_height() - virtualkey_h) / CHAR_HEIGHT;
int i = 0;
int j = 0;
int row = 0; // current row that we are drawing on
if (show_menu) {
int batt_level = 0;
char batt_text[40];
batt_level = get_batt_stats();
/*struct tm *current;
time_t now;
now = time(NULL); // add 2 hours
current = localtime(&now);
sprintf(batt_text, "[%d%% %02D:%02D]", batt_level, current->tm_hour, current->tm_min);
if (now == NULL)*/
sprintf(batt_text, " [%d%%]", batt_level);
gr_color(menuTextColor[0], menuTextColor[1], menuTextColor[2], menuTextColor[3]);
//gr_color(0, 255, 0, 255);
if (batt_level < 21)
gr_color(255, 0, 0, 255);
draw_text_line(0, batt_text, RIGHT_ALIGN);
gr_color(menuTextColor[0], menuTextColor[1], menuTextColor[2], menuTextColor[3]);
gr_fill(0, (menu_top + menu_sel - menu_show_start) * CHAR_HEIGHT,
gr_fb_width(), (menu_top + menu_sel - menu_show_start + 1)*CHAR_HEIGHT+1);
gr_color(HEADER_TEXT_COLOR);
for (i = 0; i < menu_top; ++i) {
draw_text_line(i, menu[i], LEFT_ALIGN);
row++;
}
if (menu_items - menu_show_start + menu_top >= max_menu_rows)
j = max_menu_rows - menu_top;
else
j = menu_items - menu_show_start;
gr_color(menuTextColor[0], menuTextColor[1], menuTextColor[2], menuTextColor[3]);
for (i = menu_show_start + menu_top; i < (menu_show_start + menu_top + j); ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
draw_text_line(i - menu_show_start , menu[i], LEFT_ALIGN);
gr_color(menuTextColor[0], menuTextColor[1], menuTextColor[2], menuTextColor[3]);
} else {
gr_color(menuTextColor[0], menuTextColor[1], menuTextColor[2], menuTextColor[3]);
draw_text_line(i - menu_show_start, menu[i], LEFT_ALIGN);
}
row++;
if (row >= max_menu_rows)
break;
}
gr_fill(0, row*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), row*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
}
gr_color(NORMAL_TEXT_COLOR);
int cur_row = text_row;
int available_rows = total_rows - row - 1;
int start_row = row + 1;
if (available_rows < MAX_ROWS)
cur_row = (cur_row + (MAX_ROWS - available_rows)) % MAX_ROWS;
else
start_row = total_rows - MAX_ROWS;
int r;
for (r = 0; r < (available_rows < MAX_ROWS ? available_rows : MAX_ROWS); r++) {
draw_text_line(start_row + r, text[(cur_row + r) % MAX_ROWS], LEFT_ALIGN);
}
}
#ifdef USE_VIRTUAL_KEY
draw_virtualkeys_locked();
#endif
}
开发者ID:qinzuoze,项目名称:Cwm_6051_recovery-changyu,代码行数:85,代码来源:ui_touch.c
示例14: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
if (!ui_has_initialized) return;
draw_background_locked(gCurrentIcon);
draw_progress_locked();
if (show_text) {
// don't "disable" the background anymore with this...
// gr_color(0, 0, 0, 160);
// gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int total_rows = gr_fb_height() / CHAR_HEIGHT;
int i = 0;
int j = 0;
int row = 0; // current row that we are drawing on
if (show_menu) {
#ifndef BOARD_TOUCH_RECOVERY
gr_color(MENU_TEXT_COLOR);
gr_fill(0, (menu_top + menu_sel - menu_show_start) * CHAR_HEIGHT,
gr_fb_width(), (menu_top + menu_sel - menu_show_start + 1)*CHAR_HEIGHT+1);
gr_color(HEADER_TEXT_COLOR);
for (i = 0; i < menu_top; ++i) {
draw_text_line(i, menu[i]);
row++;
}
if (menu_items - menu_show_start + menu_top >= max_menu_rows)
j = max_menu_rows - menu_top;
else
j = menu_items - menu_show_start;
gr_color(MENU_TEXT_COLOR);
for (i = menu_show_start + menu_top; i < (menu_show_start + menu_top + j); ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
draw_text_line(i - menu_show_start , menu[i]);
gr_color(MENU_TEXT_COLOR);
} else {
gr_color(MENU_TEXT_COLOR);
draw_text_line(i - menu_show_start, menu[i]);
}
row++;
if (row >= max_menu_rows)
break;
}
gr_fill(0, row*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), row*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
#else
row = draw_touch_menu(menu, menu_items, menu_top, menu_sel, menu_show_start);
#endif
}
gr_color(NORMAL_TEXT_COLOR);
int cur_row = text_row;
int available_rows = total_rows - row - 1;
int start_row = row + 1;
if (available_rows < MAX_ROWS)
cur_row = (cur_row + (MAX_ROWS - available_rows)) % MAX_ROWS;
else
start_row = total_rows - MAX_ROWS;
int r;
for (r = 0; r < (available_rows < MAX_ROWS ? available_rows : MAX_ROWS); r++) {
draw_text_line(start_row + r, text[(cur_row + r) % MAX_ROWS]);
}
}
}
开发者ID:Android-Butter,项目名称:butter_bootable_recovery,代码行数:71,代码来源:ui.c
示例15: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
if (!ui_has_initialized) return;
draw_background_locked(gCurrentIcon);
draw_progress_locked();
if (show_text) {
// don't "disable" the background anymore with this...
// gr_color(0, 0, 0, 160);
// gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int total_rows = gr_fb_height() / CHAR_HEIGHT;
int i = 0;
int j = 0;
int row = 0; // current row that we are drawing on
if (show_menu) {
#ifndef BOARD_TOUCH_RECOVERY
gr_color(MENU_TEXT_COLOR);
int batt_level = 0;
batt_level = get_batt_stats();
if(batt_level < 20) {
gr_color(255, 0, 0, 255);
}
struct tm *current;
time_t now;
now = time(NULL) + (3600 * 8); // add 8 hours
current = localtime(&now);
char batt_text[40];
sprintf(batt_text, "[%d%% %02D:%02D]", batt_level, current->tm_hour, current->tm_min);
if (now == NULL) { // just in case
sprintf(batt_text, "[%d%%]", batt_level);
}
gr_color(MENU_TEXT_COLOR);
draw_text_line(0, batt_text, RIGHT_ALIGN);
gr_fill(0, (menu_top + menu_sel - menu_show_start) * CHAR_HEIGHT,
gr_fb_width(), (menu_top + menu_sel - menu_show_start + 1)*CHAR_HEIGHT+1);
gr_color(HEADER_TEXT_COLOR);
for (i = 0; i < menu_top; ++i) {
// draw_text_line(i, menu[i]);
draw_text_line(i, menu[i], LEFT_ALIGN);
row++;
}
if (menu_items - menu_show_start + menu_top >= max_menu_rows)
j = max_menu_rows - menu_top;
else
j = menu_items - menu_show_start;
gr_color(MENU_TEXT_COLOR);
for (i = menu_show_start + menu_top; i < (menu_show_start + menu_top + j); ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
// draw_text_line(i - menu_show_start , menu[i]);
draw_text_line(i - menu_show_start , menu[i], LEFT_ALIGN);
gr_color(MENU_TEXT_COLOR);
} else {
gr_color(MENU_TEXT_COLOR);
// draw_text_line(i - menu_show_start, menu[i]);
draw_text_line(i - menu_show_start, menu[i], LEFT_ALIGN);
}
row++;
if (row >= max_menu_rows)
break;
}
gr_fill(0, row*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), row*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
#else
row = draw_touch_menu(menu, menu_items, menu_top, menu_sel, menu_show_start);
#endif
}
gr_color(NORMAL_TEXT_COLOR);
int cur_row = text_row;
int available_rows = total_rows - row - 1;
int start_row = row + 1;
if (available_rows < MAX_ROWS)
cur_row = (cur_row + (MAX_ROWS - available_rows)) % MAX_ROWS;
else
start_row = total_rows - MAX_ROWS;
int r;
for (r = 0; r < (available_rows < MAX_ROWS ? available_rows : MAX_ROWS); r++) {
// draw_text_line(start_row + r, text[(cur_row + r) % MAX_ROWS]);
draw_text_line(start_row + r, text[(cur_row + r) % MAX_ROWS], LEFT_ALIGN);
}
}
}
开发者ID:KingRan,项目名称:CWM_Recovery_v6037_cn,代码行数:97,代码来源:ui.c
示例16: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
if (!ui_has_initialized) return;
draw_background_locked(gCurrentIcon);
draw_progress_locked();
if (show_text) {
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int total_rows = gr_fb_height() / CHAR_HEIGHT;
int i = 0;
int j = 0;
int offset = 0; // offset of separating bar under menus
int row = 0; // current row that we are drawing on
if (show_menu) {
gr_color(MENU_TEXT_COLOR);
gr_fill(0, (menu_top + menu_sel - menu_show_start) * CHAR_HEIGHT,
gr_fb_width(), (menu_top + menu_sel - menu_show_start + 1)*CHAR_HEIGHT+1);
gr_color(HEADER_TEXT_COLOR);
for (i = 0; i < menu_top; ++i) {
draw_text_line(i, menu[i]);
row++;
}
if (menu_items - menu_show_start + menu_top >= max_menu_rows)
j = max_menu_rows - menu_top;
else
j = menu_items - menu_show_start;
gr_color(MENU_TEXT_COLOR);
for (i = menu_show_start + menu_top; i < (menu_show_start + menu_top + j); ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
draw_text_line(i - menu_show_start , menu[i]);
gr_color(MENU_TEXT_COLOR);
} else {
gr_color(MENU_TEXT_COLOR);
draw_text_line(i - menu_show_start, menu[i]);
}
row++;
if (row >= max_menu_rows)
break;
}
if (menu_items <= max_menu_rows)
offset = 1;
gr_fill(0, (row-offset)*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), (row-offset)*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
}
gr_color(NORMAL_TEXT_COLOR);
int cur_row = text_row;
int available_rows = total_rows - row - 1;
int start_row = row + 1;
if (available_rows < MAX_ROWS)
cur_row = (cur_row + (MAX_ROWS - available_rows)) % MAX_ROWS;
else
start_row = total_rows - MAX_ROWS;
int r;
for (r = 0; r < (available_rows < MAX_ROWS ? available_rows : MAX_ROWS); r++) {
draw_text_line(start_row + r, text[(cur_row + r) % MAX_ROWS]);
}
}
}
开发者ID:spanner3003,项目名称:android_bootable_recovery,代码行数:70,代码来源:ui.c
示例17: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
if (!ui_has_initialized) return;
//In this case MENU_SELECT icon has maximum possible height.
int menu_max_height = gr_get_height(gMenuIcon[MENU_SELECT]);
struct { int x; int y; } MENU_ICON[] = {
{ gr_fb_width() - menu_max_height, 7*gr_fb_height()/8 },
{ gr_fb_width() - menu_max_height, 5*gr_fb_height()/8 },
{ gr_fb_width() - menu_max_height, 3*gr_fb_height()/8 },
{ gr_fb_width() - menu_max_height, 1*gr_fb_height()/8 },
};
draw_background_locked(gCurrentIcon);
draw_progress_locked();
if (show_text) {
gr_color(0, 0, 0, 160);
gr_fill(0, 0, gr_fb_width(), gr_fb_height());
int i = 0;
int j = 0;
int row = 0; // current row that we are drawing on
if (show_menu) {
draw_icon_locked(gMenuIcon[MENU_BACK], MENU_ICON[MENU_BACK].x, MENU_ICON[MENU_BACK].y );
draw_icon_locked(gMenuIcon[MENU_DOWN], MENU_ICON[MENU_DOWN].x, MENU_ICON[MENU_DOWN].y);
draw_icon_locked(gMenuIcon[MENU_UP], MENU_ICON[MENU_UP].x, MENU_ICON[MENU_UP].y );
draw_icon_locked(gMenuIcon[MENU_SELECT], MENU_ICON[MENU_SELECT].x, MENU_ICON[MENU_SELECT].y );
gr_color(MENU_TEXT_COLOR);
gr_fill(0, (menu_top + menu_sel - menu_show_start) * CHAR_HEIGHT,
gr_fb_width()-menu_max_height*2, (menu_top + menu_sel - menu_show_start + 1)*CHAR_HEIGHT+1);
gr_color(HEADER_TEXT_COLOR);
for (i = 0; i < menu_top; ++i) {
draw_text_line(i, menu[i]);
row++;
}
if (menu_items - menu_show_start + menu_top >= MAX_ROWS)
j = MAX_ROWS - menu_top;
else
j = menu_items - menu_show_start;
gr_color(MENU_TEXT_COLOR);
for (i = menu_show_start + menu_top; i < (menu_show_start + menu_top + j); ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
draw_text_line(i - menu_show_start , menu[i]);
gr_color(MENU_TEXT_COLOR);
} else {
gr_color(MENU_TEXT_COLOR);
draw_text_line(i - menu_show_start, menu[i]);
}
row++;
}
gr_fill(0, row*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width()-menu_max_height*2, row*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
}
gr_color(NORMAL_TEXT_COLOR);
for (; row < text_rows; ++row) {
draw_text_line(row, text[(row+text_top) % text_rows]);
}
}
}
开发者ID:DooMLoRD,项目名称:CWM-Recovery-Modded-Kindle-Fire,代码行数:68,代码来源:ui.c
示例18: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
static void draw_screen_locked(void)
{
if (!ui_has_initialized) return;
draw_background_locked(gCurrentIcon);
draw_progress_locked();
if (show_text) {
// don't "disable" the background anymore with this...
// gr_color(0, 0, 0, 160);
// gr_fill(0, 0, gr_fb_width(), gr_fb_height());
gr_surface surface = gVirtualKeys;
int total_rows = (gr_fb_height() / CHAR_HEIGHT) - (gr_get_height(surface) / CHAR_HEIGHT) - 1;
int i = 0;
int j = 0;
int offset = 0; // offset of separating bar under menus
int row = 0; // current row that we are drawing on
if (show_menu) {
gr_color(MENU_TEXT_COLOR);
int batt_level = 0;
batt_level = get_batt_stats();
if (batt_level < 21) {
gr_color(255, 0, 0, 255);
}
char batt_text[40];
sprintf(batt_text, "[%d%%]", batt_level);
draw_text_line(0, batt_text, RIGHT_ALIGN);
gr_color(MENU_TEXT_COLOR);
gr_fill(0, (menu_top + menu_sel - menu_show_start) * CHAR_HEIGHT,
gr_fb_width(), (menu_top + menu_sel - menu_show_start + 1)*CHAR_HEIGHT+1);
gr_color(HEADER_TEXT_COLOR);
for (i = 0; i < menu_top; ++i) {
draw_text_line(i, menu[i], LEFT_ALIGN);
row++;
}
if (menu_items - menu_show_start + menu_top >= max_menu_rows)
j = max_menu_rows - menu_top;
else
j = menu_items - menu_show_start;
gr_color(MENU_TEXT_COLOR);
for (i = menu_show_start + menu_top; i < (menu_show_start + menu_top + j); ++i) {
if (i == menu_top + menu_sel) {
gr_color(255, 255, 255, 255);
draw_text_line(i - menu_show_start , menu[i], LEFT_ALIGN);
gr_color(MENU_TEXT_COLOR);
} else {
gr_color(MENU_TEXT_COLOR);
draw_text_line(i - menu_show_start, menu[i], LEFT_ALIGN);
}
row++;
if (row >= max_menu_rows)
break;
}
if (menu_items <= max_menu_rows)
offset = 0;
gr_fill(0, (row-offset)*CHAR_HEIGHT+CHAR_HEIGHT/2-1,
gr_fb_width(), (row-offset)*CHAR_HEIGHT+CHAR_HEIGHT/2+1);
}
gr_color(NORMAL_TEXT_COLOR);
int cur_row = text_row;
int available_rows = total_rows - row - 1;
int start_row = row + 1;
if (available_rows < MAX_ROWS)
cur_row = (cur_row + (MAX_ROWS - available_rows)) % MAX_ROWS;
else
start_row = total_rows - MAX_ROWS;
int r;
for (r = 0; r < (available_rows < MAX_ROWS ? available_rows : MAX_ROWS); r++) {
draw_text_line(start_row + r, text[(cur_row + r) % MAX_ROWS], LEFT_ALIGN);
}
}
draw_virtualkeys_locked(); //added to draw the virtual keys
}
开发者ID:Dm47021,项目名称:cwm6-dualboot-test,代码行数:83,代码来源:ui.c
示例19: draw_screen_locked
// Redraw everything on the screen. Does not flip pages.
// Should only be called with gUpdateMutex locked.
void draw_screen_locked(void)
{
if (!ui_has_initialized) return;
#ifdef BUILD_IN_LANDSCAPE
//In this case MENU_SELECT icon has maximum possible height.
int menu_max_height = gr_get_height(gMenuIcon[MENU_SELECT]);
struct { int x; int y; } MENU_ICON[] = {
{ gr_fb_width() - menu_max_height, 7*gr_fb_height()/8 },
{ gr_fb_width() - menu_max_height, 5*gr_fb_height()/8 },
{ gr_fb_width() - menu_max_height, 3*gr_fb_height()/8 },
{ gr_fb_width() - menu_max_height, 1*gr_fb_height()/8 },
#else
//ToDo: Following structure should be global
struct { int x; int y; int xL; int xR; } MENU_ICON[] = {
{ get_menu_icon_info(MENU_BACK,MENU_ICON_X), get_menu_icon_info(MENU_BACK,MENU_ICON_Y), get_menu_icon_info(MENU_BACK,MENU_ICON_XL), get_menu_icon_info(MENU_BACK,MENU_ICON_XR) },
{ get_menu_icon_info(MENU_DOWN,MENU_ICON_X), get_menu_icon_info(MENU_DOWN,MENU_ICON_Y), get_menu_icon_info(MENU_DOWN,MENU_ICON_XL), get_menu_icon_info(MENU_DOWN,MENU_ICON_XR) },
{ get_menu_icon_info(MENU_UP,MENU_ICON_X), get_menu_icon_info(MENU_UP,MENU_ICON_Y), get_menu_icon_info(MENU_UP,MENU_ICON_XL), get_menu_icon_info(MENU_UP,MENU_ICON_XR) },
{ get_menu_icon_info(MENU_SELECT,MENU_ICON_X),
|
请发表评论