#include #include int main () { SDL_Init(SDL_INIT_VIDEO); SDL_Surface *screen = SDL_SetVideoMode(400, 300, 32, SDL_SWSURFACE); if (SDL_MUSTLOCK(screen)) { SDL_LockSurface(screen); } cairo_surface_t *cairosurf = cairo_image_surface_create_for_data ( screen->pixels, CAIRO_FORMAT_ARGB32, screen->w, screen->h, screen->pitch ); cairo_t *cr = cairo_create(cairosurf); cairo_rectangle(cr, 10, 10, 40, 40); cairo_set_source_rgb(cr, 255, 0, 0); cairo_fill(cr); if (SDL_MUSTLOCK(screen)) { SDL_UnlockSurface(screen); } SDL_Flip(screen); SDL_Delay(2000); SDL_Quit(); return 0; }