コード例 #1
0
ファイル: simple_popup.c プロジェクト: duiz/mehstation
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);
}
コード例 #2
0
ファイル: popup.c プロジェクト: MrTraan/mehstation
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);
}
コード例 #3
0
ファイル: popup.c プロジェクト: gale320/mehstation
/*
 * 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;
}
コード例 #4
0
ファイル: popup.c プロジェクト: MrTraan/mehstation
/*
 * 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;
}
コード例 #5
0
ファイル: launch.c プロジェクト: gale320/mehstation
/*
 * 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;
}
コード例 #6
0
ファイル: launch.c プロジェクト: gale320/mehstation
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);
}
コード例 #7
0
ファイル: main_popup.c プロジェクト: gale320/mehstation
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);
}