Advertisement
Guest User

Untitled

a guest
Feb 17th, 2013
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <allegro5/allegro.h>
  4. #include <allegro5/allegro_image.h>
  5.  
  6. ALLEGRO_DISPLAY *display = NULL;
  7. const int SCREEN_W = 640,
  8.         SCREEN_H = 480;
  9.  
  10. void quit(bool condition, const char* quitMessage) {
  11.     if (condition) {
  12.         fprintf(stderr, quitMessage);
  13.         al_destroy_display(display);
  14.         exit(-1);
  15.     }
  16. }
  17.  
  18. int main(int argc, char **argv) {
  19.  
  20.     ALLEGRO_EVENT_QUEUE *event_queue = NULL;
  21.     ALLEGRO_BITMAP *tile = NULL;
  22.     ALLEGRO_BITMAP *tilebmp = NULL;
  23.  
  24.     quit(!al_init(),
  25.             "failed to initialize allegro!\n");
  26.     quit(!(display = al_create_display(SCREEN_W, SCREEN_H)),
  27.             "failed to create display!\n");
  28.     quit(!(event_queue = al_create_event_queue()),
  29.             "failed to create event_queue!\n");
  30.     quit(!al_init_image_addon(),
  31.             "failed to initialize image addon!\n");
  32.     quit(!(tile = al_load_bitmap("resources\\tile.png")),
  33.             "failed to load image!\n");
  34.     quit(!(tilebmp = al_load_bitmap("resources\\tile.bmp")),
  35.             "failed to load image!\n");
  36.  
  37.     al_register_event_source(event_queue, al_get_display_event_source(display));
  38.  
  39.     al_clear_to_color(al_map_rgb(255,255,255));
  40.     al_flip_display();
  41.  
  42.     while(1) {
  43.         ALLEGRO_EVENT ev;
  44.         ALLEGRO_TIMEOUT timeout;
  45.         al_init_timeout(&timeout, 0.06);
  46.  
  47.         bool get_event = al_wait_for_event_until(event_queue, &ev, &timeout);
  48.  
  49.         if (get_event && ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE) {
  50.         break;
  51.         }
  52.  
  53.         al_clear_to_color(al_map_rgb(255,255,255));
  54.         al_draw_bitmap(tile,32,32,0);
  55.         al_draw_bitmap(tilebmp,128,32,0);
  56.         al_flip_display();
  57.     }
  58.  
  59.     al_destroy_display(display);
  60.     al_destroy_event_queue(event_queue);
  61.  
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement