diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 69 |
1 files changed, 69 insertions, 0 deletions
@@ -0,0 +1,69 @@ +#include "lzr.h" +#include "cfg.h" +#include "input.h" +#include <math.h> +#include <stdio.h> + +#define PAGES 8 + +int main(int argc, char **argv) +{ + (void)argc, (void)argv; + if (LZR_Init(cfg)) + return LZR_Quit(), 1; + int pages[PAGES] = { + LZR_IMAGE("res/0.bmp"), + LZR_IMAGE("res/1.bmp"), + LZR_IMAGE("res/2.bmp"), + LZR_IMAGE("res/3.bmp"), + LZR_IMAGE("res/4.bmp"), + LZR_IMAGE("res/5.bmp"), + LZR_IMAGE("res/6.bmp"), + LZR_IMAGE("res/7.bmp"), + }; + for (int i = 0; i < PAGES; i++) + if (pages[i] < 0) + return LZR_Quit(), 1; + LZR_ImageDrawSettings stg = { + .ix = 0, + .iy = 0, + .width = -1, + .height = -1, + .scale_x = 1.0, + .scale_y = 1.0, + .angle = 0.0, + .center = false, + .flip_h = false, + .flip_v = false + }; + int page = 0; + while (!LZR_ShouldQuit()) { + const float color = 1.0 - fabs(sin((float)LZR_GetTick() / 16)); + LZR_CycleEvents(); + input_update(); + if (input_pressed(K_LEFT) && page > 0) + page -= 1; + if (input_pressed(K_RIGHT) && page < 4) + page += 1; + LZR_DrawBegin(); + //LZR_DrawSetColor(color, 1.0 - color, color); + LZR_DrawSetColor(0, 0, 0); + LZR_DrawClear(); + LZR_DrawSetColor(1.0 - color, color, 1.0 - color); + if (page > 0) + LZR_DrawImageEx(pages[page * 2 - 1], + 0, + (CFG_DHEIGHT - 595) / 2, + stg); + if (page < 4) + LZR_DrawImageEx(pages[page * 2], + CFG_DWIDTH - 421, + (CFG_DHEIGHT - 595) / 2, + stg); + //LZR_DrawSetColor(color, 1.0 - color, color); + LZR_DrawSetColor(0, 0, 0); + LZR_DrawEnd(); + } + LZR_Quit(); + return 0; +} |