Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.52 KB | None | 0 0
  1. #include "nyx/nyx.h"
  2.  
  3. #define NUM_LAYERS 16
  4.  
  5. #define GRID_W   16
  6. #define GRID_H   16
  7. #define STRIDE_X 256
  8. #define STRIDE_Y 256
  9. #define RECT_W   16
  10. #define RECT_H   16
  11.  
  12. #define OFFSET_X 0
  13. #define OFFSET_Y 0
  14.  
  15. #define DIMMING 2.0
  16.  
  17. void init_layers(void) {
  18.     int i;
  19.  
  20.     for(i=0; i<NUM_LAYERS; ++i)
  21.     {
  22.         nyx_set_pixel_size(i+1);
  23.         nyx_make_layer();
  24.     }
  25. }
  26.  
  27. void tic(void) {
  28.     if(nyx_key_pressed(NYX_KEY_RIGHT))
  29.         nyx_camera_pan(1, 0);
  30.     if(nyx_key_pressed(NYX_KEY_LEFT))
  31.         nyx_camera_pan(-1, 0);
  32.     if(nyx_key_pressed(NYX_KEY_UP))
  33.         nyx_camera_pan(0, -1);
  34.     if(nyx_key_pressed(NYX_KEY_DOWN))
  35.         nyx_camera_pan(0, 1);
  36. }
  37.  
  38. int handle_event(NYX_EVENT *event) {
  39.     if(event->type == NYX_EVENT_KEY_DOWN && event->keyboard.code == NYX_KEY_Q)
  40.     {
  41.         nyx_end();
  42.         return 1;
  43.     }
  44.     return 0;
  45. }
  46.  
  47. void render(void) {
  48.     int i;
  49.  
  50.     nyx_clear();
  51.     for(i=NUM_LAYERS-1; i>=0; --i)
  52.     {
  53.         int rx, ry;
  54.         const NYX_COLOR color = {i%nyx_num_ramps(), (nyx_num_values()-1) * (float)DIMMING / (DIMMING+i)};
  55.  
  56.         nyx_select_layer(i);
  57.         for(rx=0; rx<GRID_W; ++rx)
  58.             for(ry=0; ry<GRID_H; ++ry)
  59.                 nyx_draw_rect(rx*STRIDE_X + OFFSET_X, ry*STRIDE_Y + OFFSET_Y, RECT_W, RECT_H, color);
  60.     }
  61. }
  62.  
  63. int main(void) {
  64.     if(nyx_init())
  65.         return -1;
  66.     init_layers();
  67.     nyx_set_tic_handler(tic);
  68.     nyx_set_event_handler(handle_event);
  69.     nyx_set_renderer(render);
  70.     nyx_start();
  71.     return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement