void meh_simple_popup_render(struct App* app, Screen* screen) { SimplePopupData* data = meh_simple_popup_get_data(screen); g_assert(data != NULL); /* render the background screen */ gboolean* flip = g_new(gboolean, 1); *flip = FALSE; meh_message_send(app, data->src_screen, MEH_MSG_RENDER, flip); /* render the popup screen */ meh_widget_rect_render(app->window, data->hover_widget); /* title */ meh_widget_text_render(app->window, data->title_widget); meh_widget_rect_render(app->window, data->selection_widget); /* render the action */ for (int i = 0; i < g_queue_get_length(data->actions); i++) { SimplePopupAction* action = g_queue_peek_nth(data->actions, i); meh_widget_text_render(app->window, action->widget); } meh_window_render(app->window); }
void meh_screen_popup_render(struct App* app, Screen* screen) { PopupData* data = meh_screen_popup_get_data(screen); g_assert(data != NULL); /* render the background screen */ gboolean* flip = g_new(gboolean, 1); *flip = FALSE; meh_message_send(app, data->src_screen, MEH_MSG_RENDER, flip); /* render the popup screen */ meh_widget_rect_render(app->window, data->hover_widget); meh_widget_rect_render(app->window, data->background_widget); if (data->background_widget->y.ended) { /* title */ meh_widget_rect_render(app->window, data->title_bg_widget); meh_widget_text_render(app->window, data->title_widget); meh_widget_rect_render(app->window, data->selection_widget); meh_widget_text_render(app->window, data->favorite_widget); } meh_window_render(app->window); }
/* * meh_screen_popup_update udpates the content of the popup screen. */ int meh_screen_popup_update(struct App* app, Screen* screen) { /* Animate the fading rect. */ meh_screen_update_transitions(screen); PopupData* data = meh_screen_popup_get_data(screen); /* update the src screen */ meh_message_send(app, data->src_screen, MEH_MSG_UPDATE, NULL); return 0; }
/* * meh_screen_popup_update udpates the content of the popup screen. */ int meh_screen_popup_update(struct App* app, Screen* screen) { /* Animate the fading rect. */ meh_screen_update_transitions(screen); PopupData* data = meh_screen_popup_get_data(screen); /* update the src screen */ meh_message_send(app, data->src_screen, MEH_MSG_UPDATE, NULL); /* quit the screen at the end of the exit animation. */ if (data->quitting && data->background_widget->y.ended) { meh_app_set_current_screen(app, data->src_screen, TRUE); meh_screen_destroy(screen); } return 0; }
/* * meh_screen_launch_update udpates the content of the launch screen. */ int meh_screen_launch_update(struct App* app, Screen* screen) { /* Animate the fading rect. */ meh_screen_update_transitions(screen); LaunchData* data = meh_screen_launch_get_data(screen); g_assert(data != NULL); /* update the src screen */ meh_message_send(app, data->src_screen, MEH_MSG_UPDATE, NULL); if (data->fade_widget->a.ended == TRUE) { /* it's time to start the executable and to switch back to the src screen */ meh_app_start_executable(app, data->platform, data->executable); meh_app_set_current_screen(app, data->src_screen, TRUE); meh_screen_destroy(screen); /* destroy the launch screen */ } return 0; }
void meh_screen_launch_render(struct App* app, Screen* screen) { LaunchData* data = meh_screen_launch_get_data(screen); g_assert(data != NULL); gboolean* flip = g_new(gboolean, 1); *flip = FALSE; /* render the dest screen behind the fade widget */ meh_message_send(app, data->src_screen, MEH_MSG_RENDER, flip); if (data->zoom_logo == TRUE) { /* render the cover */ meh_widget_image_render(app->window, data->image_widget); } /* render the fade widget */ meh_widget_rect_render(app->window, data->fade_widget); meh_window_render(app->window); }
void meh_main_popup_render(struct App* app, Screen* screen) { MainPopupData* data = meh_main_popup_get_data(screen); g_assert(data != NULL); /* render the background screen */ gboolean* flip = g_new(gboolean, 1); *flip = FALSE; meh_message_send(app, data->src_screen, MEH_MSG_RENDER, flip); /* render the popup screen */ meh_widget_rect_render(app->window, data->hover_widget); /* title */ meh_widget_text_render(app->window, data->title_widget); meh_widget_rect_render(app->window, data->selection_widget); meh_widget_text_render(app->window, data->random_widget); meh_widget_text_render(app->window, data->close_widget); meh_widget_text_render(app->window, data->shutdown_widget); meh_window_render(app->window); }