Exemple #1
0
/* update screen window */
void crtc_update_window(void)
{
    if (!crtc.initialized) {
        return;
    }

    crtc.raster.display_ystart = CRTC_SCREEN_BORDERHEIGHT;
    crtc.raster.display_ystop = crtc.screen_height
                                - 2 * CRTC_SCREEN_BORDERHEIGHT;
    crtc.raster.display_xstart = CRTC_SCREEN_BORDERWIDTH;
    crtc.raster.display_xstop = crtc.screen_width
                                - 2 * CRTC_SCREEN_BORDERWIDTH;

    crtc_update_renderer();

    raster_set_geometry(&crtc.raster,
                        crtc.screen_width, crtc.screen_height,
                        crtc.screen_width, crtc.screen_height,
                        crtc.screen_width - 2 * CRTC_SCREEN_BORDERWIDTH,
                        crtc.screen_height - 2 * CRTC_SCREEN_BORDERHEIGHT,
                        CRTC_SCREEN_TEXTCOLS(), CRTC_SCREEN_TEXTLINES(),
                        0, 0,
                        0,
                        CRTC_SCREEN_BORDERHEIGHT,
                        crtc.screen_height - 2 * CRTC_SCREEN_BORDERHEIGHT,
                        0, 0);

    crtc.raster.geometry->pixel_aspect_ratio = crtc_get_pixel_aspect();
    crtc.raster.viewport->crt_type = crtc_get_crt_type();
}
Exemple #2
0
static int set_stretch(int val, void *param)
{
    DBG(("set_stretch"));
    crtc_stretchy = val;
    crtc_update_renderer();
    resources_touch("CrtcDoubleSize");
    return 0;
}
Exemple #3
0
int crtc_resources_init(void)
{
    video_chip_cap.dsize_allowed = ARCHDEP_CRTC_DSIZE;
    video_chip_cap.dsize_default = 0;
    video_chip_cap.dsize_limit_width = 800; /* 2 times the 80cols screen */
    video_chip_cap.dsize_limit_height = 700; /* 4 times the 80cols screen */
    video_chip_cap.dscan_allowed = ARCHDEP_CRTC_DSCAN;
    video_chip_cap.hwscale_allowed = ARCHDEP_CRTC_HWSCALE;
    video_chip_cap.external_palette_name = "green";
    video_chip_cap.double_buffering_allowed = ARCHDEP_CRTC_DBUF;
    fullscreen_capability(&(video_chip_cap.fullscreen));

    if (raster_resources_chip_init("Crtc", &crtc.raster, &video_chip_cap) < 0) {
        return -1;
    }
    crtc.video_chip_cap = &video_chip_cap;
    crtc_update_renderer();

    return resources_register_int(resources_int);
}