void display(void) { int i,k; numbers(); //-----This is the stuff involved with drawing the screen----// glClearColor (0,0,0,0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); client_render(tclient); glutSwapBuffers(); }
int main(int argc, char **argv) { init_log(L_INFO); if (!(state = client_setup())) { return -1; } uint8_t r = 0, g = 0, b = 0; long last_ms = 0; int rs; do { struct timespec spec; clock_gettime(CLOCK_MONOTONIC, &spec); long ms = round(spec.tv_nsec / 1.0e6); cairo_set_source_rgb(state->cairo, r, g, b); cairo_rectangle(state->cairo, 0, 0, 100, 100); cairo_fill(state->cairo); rs = client_render(state); if (ms - last_ms > 100) { r++; if (r == 0) { g++; if (g == 0) { b++; } } ms = last_ms; } } while (rs); client_teardown(state); return 0; }
/* -------------------------------------------------------------------------- * * Setzt den Videomodus * * -------------------------------------------------------------------------- */ void client_setmode(void) { SDL_Rect real_rect; SDL_Rect *best_rect; SDL_Surface *bg; if(client_config.fullscreen) { /* Im Vollbildmodus schauen wir welcher Hardware-Modus am passendsten ist */ if((best_rect = client_bestmode(client_config.width, client_config.height))) real_rect = *best_rect; else real_rect = *client_videomodes[0]; client_rect.w = client_config.width; client_rect.h = client_config.height; sgAlignRect(&real_rect, &client_rect, SG_ALIGN_LEFT|SG_ALIGN_TOP); } else { real_rect.x = 0; real_rect.y = 0; real_rect.w = client_config.width; real_rect.h = client_config.height; client_rect = real_rect; } /* Videomodus setzen */ client_screen = SDL_SetVideoMode(real_rect.w, real_rect.h, client_config.depth, SDL_HWSURFACE|(client_config.fullscreen ? SDL_FULLSCREEN : 0)); SDL_SetClipRect(client_screen, &client_rect); if(client_screen == NULL) { client_log(ERROR, "Kann Videomodus nicht setzen!"); client_shutdown(); } /* Hintergrund gleich sofort anzeigen */ if((bg = client_render())) { SDL_BlitSurface(bg, NULL, client_screen, NULL); SDL_FreeSurface(bg); client_flip(); } client_log(STATUS, "Video-Modus %ux%u @ %ubpp%s", client_screen->w, client_screen->h, client_screen->format->BitsPerPixel, (client_screen->flags & (SDL_HWSURFACE|SDL_HWACCEL)) ? " (Hardwarebeschleunigt)" : ""); client_debug(INFO, "Hardware R-Maske %08x", client_screen->format->Rmask); client_debug(INFO, "Hardware G-Maske %08x", client_screen->format->Gmask); client_debug(INFO, "Hardware B-Maske %08x", client_screen->format->Bmask); client_debug(INFO, "Client R-Maske %08x", RMASK); client_debug(INFO, "Client G-Maske %08x", GMASK); client_debug(INFO, "Client B-Maske %08x", BMASK); /* Bildschirm-Rechteck des ganzen Clients */ /* client_rect.x = client_rect.y = 0; client_rect.w = client_screen->w; client_rect.h = client_screen->h;*/ }