summaryrefslogtreecommitdiffstats
path: root/src/viewport.c
blob: 5f7805fa2bfbaed5b5bc4e88d2d84f664bebff8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <SDL.h>
#include "viewport.h"
#include "logging.h"

struct viewport *
init_viewport(Uint16 width, Uint16 height, int bpp)
{
	struct viewport *vp;

	vp = malloc(sizeof(*vp));
	if (vp == NULL) {
		err(1, "Failed to allocate viewport");
	}

	vp->x = 0;
	vp->y = 0;
	vp->w= width;
	vp->h= height;

	debug("Setting video mode...");
	vp->screen = SDL_SetVideoMode(width, height, bpp,
			SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_HWPALETTE);
	if (vp->screen == NULL) {
		err(1, "Failed to set video mode (%s)", SDL_GetError());
	}

	return vp;
}