Esempio n. 1
0
static void video_mode_cancel(UNUSED void*ign)
{
	if (video_revert_driver) {
		video_setup(video_revert_driver);
		video_startup();
	}
	video_fullscreen(video_revert_fs);
	palette_apply();
	font_init();
	config_set_page();
	status.flags |= NEED_UPDATE;
}
Esempio n. 2
0
static void update_palette(void)
{
        int n;

        for (n = 0; n < 16; n++) {
                current_palette[n][0] = widgets_palette[3 * n].d.thumbbar.value;
                current_palette[n][1] = widgets_palette[3 * n + 1].d.thumbbar.value;
                current_palette[n][2] = widgets_palette[3 * n + 2].d.thumbbar.value;
        }
        selected_palette = current_palette_index = -1;
        palette_apply();
        status.flags |= NEED_UPDATE;
}
Esempio n. 3
0
void RenderThread::doRow(int row)
{
    gf_a(row >= 0);
    gf_a(row < img->real_height);

    fractal_do_row(img->finfo.xmin, img->finfo.xmax,
        fractal_calc_y(row, img->finfo.ymax, img->finfo.xmin,
            img->finfo.xmax, img->real_width),
        img->real_width, img->depth, img->finfo.type,
        img->finfo.u.julia.c_re, img->finfo.u.julia.c_im,
        &img->color_in, &img->color_out,
        &img->raw_data[row * img->real_width]);

    if (img->aa_factor == 1) {
        palette_apply(img, 0, row, img->real_width, 1);
    }

    img->signalRowCompleted(row);
}
Esempio n. 4
0
static void change_video_settings(void)
{
	const char *new_video_driver;
	int new_fs_flag;

	if (widgets_config[11].d.togglebutton.state) {
		new_video_driver = "sdl";
	} else if (widgets_config[12].d.togglebutton.state) {
		new_video_driver = "yuv";
	} else if (widgets_config[13].d.togglebutton.state) {
		new_video_driver = "gl";
	} else if (widgets_config[14].d.togglebutton.state) {
		new_video_driver = "directdraw";
	} else {
		new_video_driver = "sdl";
	}

	if (widgets_config[9].d.togglebutton.state) {
		new_fs_flag = 1;
	} else {
		new_fs_flag = 0;
	}

	if (!strcasecmp(new_video_driver, video_driver_name())
	&& new_fs_flag == video_is_fullscreen()) {
		return;
	}

	video_change_dialog();
	if (strcasecmp(new_video_driver, video_driver_name())) {
		video_setup(new_video_driver);
		video_startup();
	}
	if (new_fs_flag != video_is_fullscreen())
		video_fullscreen(new_fs_flag);
	palette_apply();
	font_init();
}
Esempio n. 5
0
static int palette_list_handle_key_on_list(struct key_event * k)
{
        int new_palette = selected_palette;
        const int focus_offsets[] = { 0, 1, 1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10, 10, 11, 12 };

        if (k->mouse == MOUSE_CLICK) {
                if (k->state == KEY_PRESS)
                        return 0;
                if (k->x < 56 || k->y < 27 || k->y > 46 || k->x > 76) return 0;
                new_palette = (k->y - 28);
                if (new_palette == selected_palette) {
                        // alright
                        if (selected_palette == -1) return 1;
                        palette_load_preset(selected_palette);
                        palette_apply();
                        update_thumbbars();
                        status.flags |= NEED_UPDATE;
                        return 1;
                }
        } else {
                if (k->state == KEY_RELEASE)
                        return 0;
                if (k->mouse == MOUSE_SCROLL_UP)
                        new_palette -= MOUSE_SCROLL_LINES;
                else if (k->mouse == MOUSE_SCROLL_DOWN)
                        new_palette += MOUSE_SCROLL_LINES;
        }

        switch (k->sym) {
        case SDLK_UP:
                if (!NO_MODIFIER(k->mod))
                        return 0;
                if (--new_palette < -1) {
                        change_focus_to(47);
                        return 1;
                }
                break;
        case SDLK_DOWN:
                if (!NO_MODIFIER(k->mod))
                        return 0;
                new_palette++;
                break;
        case SDLK_HOME:
                if (!NO_MODIFIER(k->mod))
                        return 0;
                new_palette = 0;
                break;
        case SDLK_PAGEUP:
                if (!NO_MODIFIER(k->mod))
                        return 0;
                if (new_palette == -1) {
                        change_focus_to(45);
                        return 1;
                }
                new_palette -= 16;
                break;
        case SDLK_END:
                if (!NO_MODIFIER(k->mod))
                        return 0;
                new_palette = max_palette - 1;
                break;
        case SDLK_PAGEDOWN:
                if (!NO_MODIFIER(k->mod))
                        return 0;
                new_palette += 16;
                break;
        case SDLK_RETURN:
                if (!NO_MODIFIER(k->mod))
                        return 0;
                if (selected_palette == -1) return 1;
                palette_load_preset(selected_palette);
                palette_apply();
                update_thumbbars();
                status.flags |= NEED_UPDATE;
                return 1;
        case SDLK_RIGHT:
        case SDLK_TAB:
                if (k->mod & KMOD_SHIFT) {
                        change_focus_to(focus_offsets[selected_palette+1] + 29);
                        return 1;
                }
                if (!NO_MODIFIER(k->mod))
                        return 0;
                change_focus_to(focus_offsets[selected_palette+1] + 8);
                return 1;
        case SDLK_LEFT:
                if (!NO_MODIFIER(k->mod))
                        return 0;
                change_focus_to(focus_offsets[selected_palette+1] + 29);
                return 1;
        default:
                if (k->mouse == MOUSE_NONE)
                        return 0;
        }

        if (new_palette < -1) new_palette = -1;
        else if (new_palette >= (max_palette-1)) new_palette = (max_palette-1);
        if (new_palette != selected_palette) {
                selected_palette = new_palette;
                status.flags |= NEED_UPDATE;
        }

        return 1;
}