static void draw_row_callback(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *context) { if(cell_index->row == CHECKBOX_WINDOW_NUM_ROWS) { // Submit item menu_cell_basic_draw(ctx, cell_layer, "Submit", NULL, NULL); } else { // Choice item static char s_buff[16]; snprintf(s_buff, sizeof(s_buff), "Choice %d", (int)cell_index->row); menu_cell_basic_draw(ctx, cell_layer, s_buff, NULL, NULL); // Selected? GBitmap *ptr = tick_black_bitmap; if(menu_cell_layer_is_highlighted(cell_layer)) { graphics_context_set_stroke_color(ctx, GColorWhite); ptr = tick_white_bitmap; } GRect bounds = layer_get_bounds(cell_layer); GRect bitmap_bounds = gbitmap_get_bounds(ptr); // Draw checkbox GRect r = GRect( bounds.size.w - (2 * CHECKBOX_WINDOW_BOX_SIZE), (bounds.size.h / 2) - (CHECKBOX_WINDOW_BOX_SIZE / 2), CHECKBOX_WINDOW_BOX_SIZE, CHECKBOX_WINDOW_BOX_SIZE); graphics_draw_rect(ctx, r); if(s_selections[cell_index->row]) { graphics_context_set_compositing_mode(ctx, GCompOpSet); graphics_draw_bitmap_in_rect(ctx, ptr, GRect(r.origin.x, r.origin.y - 3, bitmap_bounds.size.w, bitmap_bounds.size.h)); } } }
void menu_home_draw_row(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *callback_context){ if(!rooms_loaded || rooms_loaded <= cell_index->row){ menu_cell_basic_draw(ctx, cell_layer, "Loading...", NULL, NULL); return; } menu_cell_basic_draw(ctx, cell_layer, &(rooms[cell_index->row].name[0]), NULL, NULL); }
static void main_menu_row_draw_cb(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { // Determine which section we're going to draw in switch (cell_index->section) { case 0: // Use the row to specify which item we'll draw switch (cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "Manual entry", "Add new glucose value", NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Results history", "View last values", NULL); break; case 2: menu_cell_basic_draw(ctx, cell_layer, "Alerts", "Set thresholds alerts", NULL); break; case 3: menu_cell_basic_draw(ctx, cell_layer, "Settings", "Customize SugarStrap", NULL); break; } break; } }
static void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { // Determine which section we're going to draw in static char int2str[20]; switch (cell_index->section) { case 0: // Use the row to specify which item we'll draw //cell_index->row snprintf(int2str, sizeof(int2str), "Page %d", book_list[cell_index->row].page_number); menu_cell_basic_draw(ctx, cell_layer, book_list[cell_index->row].name, int2str, NULL); break; case 1: switch (cell_index->row) { case 0: // There is title draw for something more simple than a basic menu item if (edit_mode_name){ menu_cell_basic_draw(ctx, cell_layer, "Edit", "Names", NULL); } else { menu_cell_basic_draw(ctx, cell_layer, "Edit", "Page No.", NULL); } break; } break; case 2: switch(cell_index->row){ case 0: menu_cell_basic_draw(ctx, cell_layer, "Clear", "Entry ...", NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Clear", "All", NULL); break; } } }
static void snacks_draw_row_callback(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data){ //render a section to draw insude switch(cell_index->section){ case 0: //then figure out the row we're going to draw switch(cell_index->row){ case 0: //Breakfast menu_cell_basic_draw(ctx,cell_layer,snacks[0],"",NULL); break; case 1: //Lunch menu_cell_basic_draw(ctx,cell_layer,snacks[1],"",NULL); break; case 2: //Dinner menu_cell_basic_draw(ctx,cell_layer,snacks[2],"",NULL); break; case 3: //Snacks menu_cell_basic_draw(ctx,cell_layer,snacks[3],"",NULL); break; } break; } }
static void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { switch (cell_index->section) { default: switch (cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, _("Checkin"), NULL, NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, _("Share"), NULL, NULL); GRect bounds = layer_get_bounds(cell_layer); char* alligators = ">>"; GFont font = fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD); graphics_draw_text(ctx, alligators, font, GRect(bounds.size.w - PBL_IF_ROUND_ELSE(45, 35), (bounds.size.h/2) - 18, 30, bounds.size.h), GTextOverflowModeWordWrap, GTextAlignmentRight, NULL); break; case 2: menu_cell_basic_draw(ctx, cell_layer, _("Private Checkin"), NULL, NULL); break; } break; } }
static void draw_row_callback(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *context) { static char title[16]; int i = (int)cell_index->row; if (i == SETTINGS_CHECKBOX_NUM_ROWS) { menu_cell_basic_draw(ctx, cell_layer, SETTINGS_CHECKBOX_SUBMIT_HINT, NULL, NULL); } else { snprintf(title, sizeof(title), "%s", MenuItem[i]); menu_cell_basic_draw(ctx, cell_layer, title, NULL, NULL); // Selected? GBitmap *ptr = s_tick_black_bitmap; if(menu_cell_layer_is_highlighted(cell_layer)) { graphics_context_set_stroke_color(ctx, GColorWhite); ptr = s_tick_white_bitmap; } GRect bounds = layer_get_bounds(cell_layer); GRect bitmap_bounds = gbitmap_get_bounds(ptr); // Draw checkbox GRect r = GRect( bounds.size.w - (2 * SETTINGS_CHECKBOX_BOX_SIZE), (bounds.size.h / 2) - (SETTINGS_CHECKBOX_BOX_SIZE / 2), SETTINGS_CHECKBOX_BOX_SIZE, SETTINGS_CHECKBOX_BOX_SIZE); graphics_draw_rect(ctx, r); if(MenuSelection[cell_index->row]) { graphics_context_set_compositing_mode(ctx, GCompOpSet); graphics_draw_bitmap_in_rect(ctx, ptr, GRect(r.origin.x, r.origin.y - 3, bitmap_bounds.size.w, bitmap_bounds.size.h)); } } }
static void main_menu_draw_row_callback(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *callback_context){ int data_index; static char todo_buf[80]; static char time_buf[80]; struct tm *tm_time; if(cell_index->section == 0){ if(cell_index->row == 0) menu_cell_basic_draw(ctx, cell_layer, "Create", NULL, NULL); else{ // TODO: show icon/highlight if event missing if(recent_event_data.have_missing_event) menu_cell_basic_draw(ctx, cell_layer, "Recent Events", "You might have missed some events", NULL); else menu_cell_basic_draw(ctx, cell_layer, "Recent Events", NULL, NULL); } } else{ data_index = reminder_data.sorted_index[cell_index->row]; tm_time = localtime(&(reminder_data.wakeup_data[data_index].time)); if(clock_is_24h_style()) strftime(time_buf, sizeof(time_buf), "%H:%M", tm_time); else strftime(time_buf, sizeof(time_buf), "%I:%M %p", tm_time); snprintf(todo_buf, sizeof(todo_buf), "%s", reminder_data.wakeup_data[data_index].todo); menu_cell_basic_draw(ctx, cell_layer, time_buf, todo_buf, NULL); } }
static void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { int index = cell_index->row; if (nrbyStps_scrollIndex == index) { if (nrbyStps_scrollOffset == 0) { strcpy(nrbyStps_scrollTmp, busStops[index].stopDescription); } int txtWidth = textWidth(nrbyStps_scrollTmp); if (txtWidth > MAX_VISIBLE) { int charIndex = 0; int maxLen = strlen(busStops[index].stopDescription); for (int i=nrbyStps_scrollOffset; i<maxLen; i++) { nrbyStps_scrollTmp[charIndex++] = busStops[index].stopDescription[i]; } nrbyStps_scrollTmp[charIndex] = '\0'; nrbyStps_scrollingStillRequired = true; if (nrbyStps_scrollIndex == index) { light_enable_interaction(); } } menu_cell_basic_draw(ctx, cell_layer, nrbyStps_scrollTmp, busStops[index].stopDetails, NULL); } else { menu_cell_basic_draw(ctx, cell_layer, busStops[index].stopDescription, busStops[index].stopDetails, NULL); } }
static void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { switch (cell_index->section) { case 0: switch (cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "Calendarios", "Mostrar turnos", NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "FPP", "Calculadora", NULL); break; } break; case 1: switch (cell_index->row) { case 0: if (loading==0) { char version[20]; persist_read_string(80, version, sizeof(version)); menu_cell_basic_draw(ctx, cell_layer, "Actualizar datos", version, NULL); } else menu_cell_basic_draw(ctx, cell_layer, "Actualizando...", "Por favor, espera.", NULL); break; } } }
/* * This is the menu item draw callback where you specify what each item should look like */ static void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { #ifdef PBL_COLOR graphics_context_set_compositing_mode(ctx, GCompOpSet); #endif // Pick up names from the array except for the one instance where we fiddle with it int16_t index = cell_index->row + menu_slide; const char *subtitle = menu_def[index].subtitle; const char *title = menu_def[index].title; GBitmap *icon = menu_def[index].state == NULL ? NULL : menu_icons[*(menu_def[index].state)]; if ((menu_def[index].feature & FEATURE_WAKEUP) == FEATURE_WAKEUP && auto_reset_state == 1 && original_auto_reset_state == 1) { snprintf(menu_text, sizeof(menu_text), MENU_AUTO_RESET_DES_ON, twenty_four_to_twelve(get_config_data()->autohr), get_config_data()->automin, am_pm_text(get_config_data()->autohr)); subtitle = menu_text; } else if ((menu_def[index].feature & FEATURE_SMART_ALARM) == FEATURE_SMART_ALARM) { copy_alarm_time_range_into_field(menu_text, sizeof(menu_text)); subtitle = menu_text; } #ifndef PBL_ROUND menu_cell_basic_draw(ctx, cell_layer, title, subtitle, icon); #else menu_cell_basic_draw(ctx, cell_layer, title, subtitle, NULL); if (icon != NULL && menu_layer_get_selected_index(menu_layer).row == cell_index->row) { graphics_draw_bitmap_in_rect(ctx, icon, GRect(10, 7, 24, 28)); } #endif }
void credits_draw_row(GContext *ctx, const Layer *cell_layer, MenuIndex *index, void *data){ switch(index->row){ case 0: menu_cell_basic_draw(ctx, cell_layer, "Front-End Dev", "Mathew Reiss", NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Back-End Dev", "Neal Patel", NULL); break; case 2: menu_cell_basic_draw(ctx, cell_layer, "Logo, Name, etc.", APP_CREDIT, NULL); break; case 3: menu_cell_basic_draw(ctx, cell_layer, "Injury Report", "Fantasy Football Nerd", NULL); break; } }
// This is the menu item draw callback where you specify what each item should look like void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { char subtitle[20]; char tmp[10]; // Determine which section we're going to draw in switch (cell_index->section) { case 0: if (s_live.nb > 0) { if (cell_index->row < s_live.nb) { if (s_live.sorted_friends[cell_index->row]->distance < 1000) { snprintf(subtitle, sizeof(subtitle), "%dm", (int) s_live.sorted_friends[cell_index->row]->distance ); } else { snprintf(subtitle, sizeof(subtitle), "%ld.%ldkm", s_live.sorted_friends[cell_index->row]->distance / 1000, s_live.sorted_friends[cell_index->row]->distance % 1000 / 100 ); } snprintf(subtitle, sizeof(subtitle), "%s %u°", subtitle, s_live.sorted_friends[cell_index->row]->bearing ); if (s_live.sorted_friends[cell_index->row]->lastviewed < 60) { snprintf(subtitle, sizeof(subtitle), "%s %d\"", subtitle, s_live.sorted_friends[cell_index->row]->lastviewed ); } else { snprintf(subtitle, sizeof(subtitle), "%s %d'%d\"", subtitle, s_live.sorted_friends[cell_index->row]->lastviewed/60, s_live.sorted_friends[cell_index->row]->lastviewed%60 ); } snprintf(s_live.sorted_friends[cell_index->row]->subtitle, sizeof(s_live.sorted_friends[cell_index->row]->subtitle), "%s", subtitle ); menu_cell_basic_draw(ctx, cell_layer, s_live.sorted_friends[cell_index->row]->name, s_live.sorted_friends[cell_index->row]->subtitle, NULL); } else { //menu_cell_basic_draw(ctx, cell_layer, "2", "subtitle", NULL); } } else { switch (cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "Setup account", "in android app", NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Or join the beta", "pebblebike.com/live", NULL); break; } } } }
static void draw_row_callback(GContext *ctx, Layer *cell_layer, MenuIndex *cell_index, void *context) { switch(cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "The Classic", NULL, s_icon_bitmap_menu_1); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "The Charger", NULL, s_icon_bitmap_menu_2); break; case 2: menu_cell_basic_draw(ctx, cell_layer, "The Inverted", NULL, s_icon_bitmap_menu_3); break; case 3: menu_cell_basic_draw(ctx, cell_layer, "The Bold", NULL, s_icon_bitmap_menu_4); break; case 4: menu_cell_basic_draw(ctx, cell_layer, "The Weaver", NULL, s_icon_bitmap_menu_5); break; case 5: menu_cell_basic_draw(ctx, cell_layer, "The Iced", NULL, s_icon_bitmap_menu_6); break; case 6: menu_cell_basic_draw(ctx, cell_layer, "The Charlene", NULL, s_icon_bitmap_menu_7); break; case 7: menu_cell_basic_draw(ctx, cell_layer, "The Jay", NULL, s_icon_bitmap_menu_8); break; case 8: menu_cell_basic_draw(ctx, cell_layer, "The Collective", NULL, s_icon_bitmap_menu_9); break; default: break; } }
static void draw_row_callback(GContext *ctx, Layer *cell_layer, MenuIndex *cell_index, void *callback_context) { switch(cell_index->row){ case 0: menu_cell_basic_draw(ctx, cell_layer, "Yes", NULL, NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "No", NULL, NULL); break; } }
/** * TODO: documentation. */ void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { // Determine which section we're going to draw in int row = cell_index->row; int section = cell_index->section; // Use the values of row and section to determine which item we'll draw int index = (NUM_STOPS-1)*section + row; if (viewMode == VIEW_MODE_NAMES) menu_cell_basic_draw(ctx, cell_layer, stopArray[index].name, stopArray[index].time, NULL); else if (viewMode == VIEW_MODE_CODES) menu_cell_basic_draw(ctx, cell_layer, stopArray[index].code, stopArray[index].time, NULL); }
void emergency_conf_draw_row_callback(GContext *ctx, Layer *cell_layer, MenuIndex *cell_index, void *callback_context) { switch(cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "False Alarm", NULL, NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Call 911 For Sure", "Send GPS to Police", NULL); break; } }
// The row names static void draw_row_callback(GContext *ctx, Layer *cell_layer, MenuIndex *cell_index, void *context) { switch(cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "Change Settings", NULL, NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Select Types", NULL, NULL); break; default: break; } }
void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { Menu* menu = data; MenuIndex selected_item = menu_layer_get_selected_index(menu->layer); if(menu->id == 0 && cell_index->section == 0) menu_cell_basic_draw(ctx, cell_layer, "Nearby Stations", "", NULL); else { if(selected_item.row == cell_index->row && text_scroll >= 0) menu_cell_basic_draw(ctx, cell_layer, menu->row[cell_index->row]->title+((uint)text_scroll*sizeof(char)), menu->row[cell_index->row]->subtitle, NULL); else menu_cell_basic_draw(ctx, cell_layer, menu->row[cell_index->row]->title, menu->row[cell_index->row]->subtitle, NULL); } }
static void menu_draw_row_callback(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *callback_context) { switch(cell_index->row) { case 0: { menu_cell_basic_draw(ctx, cell_layer, "Skip", NULL, gbitmap_create_with_resource(RESOURCE_ID_MENU_SKIP_ICON)); break; } case 1: { menu_cell_basic_draw(ctx, cell_layer, "Report", NULL, gbitmap_create_with_resource(RESOURCE_ID_MENU_REPORT_ICON)); break; } } }
static void draw_row_callback(GContext* ctx, Layer *cell_layer, MenuIndex *cell_index, void *data) { Device* device; const int index = cell_index->row; if ((device = get_device_at_index(index)) == NULL) { return; } if (device->type == TYPE_PHRASE) { menu_cell_basic_draw(ctx, cell_layer, device->label, NULL, phrase_icon); } else { menu_cell_basic_draw(ctx, cell_layer, device->label, NULL, switch_icons[device->state]); } }
static void draw_row_callback(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *context) { snprintf(s_text[0], sizeof(s_text[0]), "%d", game->numOfPlayers); snprintf(s_text[1], sizeof(s_text[1]), "%d", game->goalNumber); if (game->isDoubleIn) strcpy(s_text[2], "Yes"); else strcpy(s_text[2], "No"); if (game->isDoubleOut) strcpy(s_text[3], "Yes"); else strcpy(s_text[3], "No"); switch(cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "Number of players", s_text[0], NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Game type", "x01", NULL); break; case 2: menu_cell_basic_draw(ctx, cell_layer, "Starts from", s_text[1], NULL); break; case 3: menu_cell_basic_draw(ctx, cell_layer, "Double in", s_text[2], NULL); break; case 4: menu_cell_basic_draw(ctx, cell_layer, "Double out", s_text[3], NULL); break; case 5: menu_cell_basic_draw(ctx, cell_layer, "Usage help", NULL, NULL); break; case 6: menu_cell_basic_draw(ctx, cell_layer, "Start game", NULL, NULL); break; case 7: menu_cell_basic_draw(ctx, cell_layer, "Continue game", NULL, NULL); break; default: break; } }
static void dashboard_menu_draw_row_callback(GContext *ctx, Layer *cell_layer, MenuIndex *cell_index, void *context) { switch(cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "Top", NULL, NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Middle", NULL, NULL); break; case 2: menu_cell_basic_draw(ctx, cell_layer, "Bottom", NULL, NULL); break; default: break; } }
void draw_row_callback(GContext *ctx, Layer *cell_layer, MenuIndex *cell_index, void *context) { switch(cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "Buy", NULL, NULL); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Ignore", NULL, NULL); break; case 2: menu_cell_basic_draw(ctx, cell_layer, "Sell", NULL, NULL); break; default: break; } }
void menu_group_draw_row(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *callback_context){ if(!devices_loaded || devices_loaded <= cell_index->row){ menu_cell_basic_draw(ctx, cell_layer, "Loading...", NULL, NULL); return; } GBitmap* icon; if(devices[cell_index->row].type == DEVICE_LIGHT){ icon = &icon_light_on.bmp; }else if(devices[cell_index->row].type == DEVICE_LOCK){ icon = &icon_lock_off.bmp; }else{ icon = NULL; } menu_cell_basic_draw(ctx, cell_layer, &(devices[cell_index->row].name[0]), NULL, icon); }
void home_draw_row(GContext *ctx, const Layer *cell_layer, MenuIndex *index, void *data){ if(index->row == 0) menu_cell_basic_draw(ctx, cell_layer, "Current Matchup", home_matchup_subtitle, NULL); else if(index->row == 1) menu_cell_basic_draw(ctx, cell_layer, "League Standings", home_league_subtitle, NULL); else if(index->row == 2) menu_cell_basic_draw(ctx, cell_layer, "My Team", home_team_subtitle, NULL); else{ #ifdef PBL_COLOR graphics_context_set_text_color(ctx, GColorWhite); #endif menu_cell_basic_draw(ctx, cell_layer, "Credits", NULL, NULL); #ifdef PBL_COLOR if(pre_draft) graphics_context_set_text_color(ctx, GColorLightGray); #endif } }
static void menu_draw_row_callback(GContext *ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { switch (cell_index->row) { case 0: menu_cell_basic_draw(ctx, cell_layer, "My Itinerary", NULL, calendar_icon); break; case 1: menu_cell_basic_draw(ctx, cell_layer, "Wait Times", NULL, clock_icon); break; case 2: menu_cell_basic_draw(ctx, cell_layer, "Entertainment", NULL, entertainment_icon); break; case 3: menu_cell_basic_draw(ctx, cell_layer, "About", NULL, info_icon); } }
static void category_menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *callback_context) { switch(cell_index->row) { case 0: // Info Sessions menu_cell_basic_draw(ctx, cell_layer, "Info Sessions", "CECA", NULL); break; case 1: // Lunch Menus menu_cell_basic_draw(ctx, cell_layer, "Lunch Menus", "UW Food Services", NULL); break; case 2: // Dinner Menus menu_cell_basic_draw(ctx, cell_layer, "Dinner Menus", "UW Food Services", NULL); break; } }
static void tl_draw_row_cb(GContext *ctx, const Layer *cell_layer, MenuIndex *idx, void *context) { char *title; if(tl_max_count == 0) // empty list title = "No tasklists! Please create one from phone/PC"; else if(idx->row >= tl_count) // no such item (yet?) title = "<...>"; else if(tl_items[idx->row].title) title = tl_items[idx->row].title; else title = "<OOM>"; #ifdef PBL_COLOR if(!menu_layer_is_index_selected(mlTasklists, idx) && idx->row == ts_current_if_complete()) { graphics_context_set_fill_color(ctx, GColorPastelYellow); GRect bounds = layer_get_bounds(cell_layer); graphics_fill_rect(ctx, bounds, 0, GCornerNone); } #endif #ifdef PBL_ROUND // this uses smaller font but properly centers text menu_cell_basic_draw(ctx, cell_layer, title, NULL, NULL); #else // this doesn't center text but uses bigger font which is good menu_cell_title_draw(ctx, cell_layer, title); #endif }
static void menu_draw_row_callback(GContext* ctx, const Layer *cell_layer, MenuIndex *cell_index, void *data) { char* text; GBitmap* icon; int16_t index = cell_index->row; if (index == 0) { text = "Call History"; icon = callHistoryIcon; } else if (index == 1) { text = "All contacts"; icon = contactsIcon; } else { text = groupNames[index - 2]; icon = contactGroupIcon; } graphics_context_set_compositing_mode(ctx, PNG_COMPOSITING_MODE); menu_cell_basic_draw(ctx, cell_layer, text, NULL, icon); }