Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "nyx/nyx.h"
- #define NUM_LAYERS 16
- #define GRID_W 16
- #define GRID_H 16
- #define STRIDE_X 256
- #define STRIDE_Y 256
- #define RECT_W 16
- #define RECT_H 16
- #define OFFSET_X 0
- #define OFFSET_Y 0
- #define DIMMING 2.0
- void init_layers(void) {
- int i;
- for(i=0; i<NUM_LAYERS; ++i)
- {
- nyx_set_pixel_size(i+1);
- nyx_make_layer();
- }
- }
- void tic(void) {
- if(nyx_key_pressed(NYX_KEY_RIGHT))
- nyx_camera_pan(1, 0);
- if(nyx_key_pressed(NYX_KEY_LEFT))
- nyx_camera_pan(-1, 0);
- if(nyx_key_pressed(NYX_KEY_UP))
- nyx_camera_pan(0, -1);
- if(nyx_key_pressed(NYX_KEY_DOWN))
- nyx_camera_pan(0, 1);
- }
- int handle_event(NYX_EVENT *event) {
- if(event->type == NYX_EVENT_KEY_DOWN && event->keyboard.code == NYX_KEY_Q)
- {
- nyx_end();
- return 1;
- }
- return 0;
- }
- void render(void) {
- int i;
- nyx_clear();
- for(i=NUM_LAYERS-1; i>=0; --i)
- {
- int rx, ry;
- const NYX_COLOR color = {i%nyx_num_ramps(), (nyx_num_values()-1) * (float)DIMMING / (DIMMING+i)};
- nyx_select_layer(i);
- for(rx=0; rx<GRID_W; ++rx)
- for(ry=0; ry<GRID_H; ++ry)
- nyx_draw_rect(rx*STRIDE_X + OFFSET_X, ry*STRIDE_Y + OFFSET_Y, RECT_W, RECT_H, color);
- }
- }
- int main(void) {
- if(nyx_init())
- return -1;
- init_layers();
- nyx_set_tic_handler(tic);
- nyx_set_event_handler(handle_event);
- nyx_set_renderer(render);
- nyx_start();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement