From 231a5ea2506c4a870b99b8597b4b5fbec69c9fee Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Tue, 7 Jul 2015 11:16:48 -0400 Subject: [PATCH 1/2] protect against crash in ios simulator (presumably because display is off) --- menu/drivers/glui.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/menu/drivers/glui.c b/menu/drivers/glui.c index 7b6b7d50e4..2eeb2c66f3 100644 --- a/menu/drivers/glui.c +++ b/menu/drivers/glui.c @@ -650,7 +650,7 @@ static bool glui_load_image(void *data, menu_image_type_t type) static float glui_get_scroll(void) { - int half; + int half = 0; unsigned width, height; glui_handle_t *glui = NULL; menu_handle_t *menu = menu_driver_get_ptr(); @@ -662,7 +662,8 @@ static float glui_get_scroll(void) video_driver_get_size(&width, &height); glui = (glui_handle_t*)menu->userdata; - half = (height / glui->line_height) / 2; + if (glui->line_height) + half = (height / glui->line_height) / 2; if (nav->selection_ptr < (unsigned)half) return 0; From 2b3ff002bdab5c970694d5b46893fb258e665328 Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Tue, 7 Jul 2015 11:16:58 -0400 Subject: [PATCH 2/2] add menu transition animations --- ui/drivers/cocoa/cocoatouch_menu.m | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/ui/drivers/cocoa/cocoatouch_menu.m b/ui/drivers/cocoa/cocoatouch_menu.m index d83ad45c23..b0b35ca21e 100644 --- a/ui/drivers/cocoa/cocoatouch_menu.m +++ b/ui/drivers/cocoa/cocoatouch_menu.m @@ -630,7 +630,30 @@ didSelectRowAtIndexPath:(NSIndexPath *)indexPath - (void)reloadData { [self willReloadData]; - [[self tableView] reloadData]; + + // Here are two options: + + // Option 1. This is like how setting app works, but not exactly. + // There is a typedef for the 'withRowAnimation' that has lots of + // options, just Google UITableViewRowAnimation + + [self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] + withRowAnimation:UITableViewRowAnimationAutomatic]; + + // Optione 2. This is a "bigger" transistion, but doesn't look as + // much like Settings. It has more options. Just Google + // UIViewAnimationOptionTransition + + /* + [UIView transitionWithView:self.tableView + duration:0.35f + options:UIViewAnimationOptionTransitionCurlUp + animations:^(void) + { + [self.tableView reloadData]; + } + completion: nil]; + */ } @end