skia2/xcode/sampleapp_sdl/skia_sdl_main.cpp
reed@android.com 44a6312cf6 call notifyPixelsChanged() when the pages are flipped in pageflippixelref
update samples



git-svn-id: http://skia.googlecode.com/svn/trunk@192 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-30 02:40:28 +00:00

72 lines
1.6 KiB
C++

/* Simple program: Create a blank window, wait for keypress, quit.
Please see the SDL documentation for details on using the SDL API:
/Developer/Documentation/SDL/docs.html
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "SDL.h"
#include "SkApplication.h"
#include "SkWindow.h"
#define WINDOW_WIDTH 800
#define WINDOW_HEIGHT 600
#define USE_GL false
int main(int argc, char *argv[]) {
Uint32 initflags = SDL_INIT_VIDEO | SDL_INIT_TIMER;
SDL_Surface *screen;
Uint8 video_bpp = 32;
Uint32 videoflags = SDL_HWSURFACE;
SDL_Event event;
/* Initialize the SDL library */
if ( SDL_Init(initflags) < 0 ) {
fprintf(stderr, "Couldn't initialize SDL: %s\n",
SDL_GetError());
exit(1);
}
if (USE_GL) {
videoflags |= SDL_OPENGL;
SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 8 );
SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 8 );
SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 8 );
SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
}
/* Set 640x480 video mode */
screen=SDL_SetVideoMode(WINDOW_WIDTH, WINDOW_HEIGHT, video_bpp, videoflags);
if (screen == NULL) {
fprintf(stderr, "Couldn't set video mode: %s\n", SDL_GetError());
SDL_Quit();
exit(2);
}
application_init();
SkOSWindow* skwin = create_sk_window(screen);
for (;;) {
SDL_WaitEvent(&event);
switch (event.type) {
case SDL_QUIT:
goto QUIT;
default:
skwin->handleSDLEvent(event);
break;
}
}
QUIT:
application_term();
/* Clean up the SDL library */
SDL_Quit();
return(0);
}