rayzor
diff src/renderer.cc @ 14:a9a948809c6f
starting the renderer screen, plus misc stuff
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 13 Apr 2014 08:06:21 +0300 |
parents | 70e332156d02 |
children | be616b58df99 |
line diff
1.1 --- a/src/renderer.cc Sat Apr 12 23:37:55 2014 +0300 1.2 +++ b/src/renderer.cc Sun Apr 13 08:06:21 2014 +0300 1.3 @@ -1,10 +1,46 @@ 1.4 +#include <string.h> 1.5 #include "renderer.h" 1.6 +#include "rayzor.h" 1.7 +#include "keyb.h" 1.8 +#include "scrman.h" 1.9 + 1.10 +struct RendererImpl { 1.11 + bool in_progress; 1.12 + int cur_x, cur_y; // current pixel being rendered 1.13 + int cur_pix; // current pixel (linear) 1.14 +}; 1.15 1.16 Renderer::Renderer() 1.17 { 1.18 set_name("renderer"); 1.19 } 1.20 1.21 +bool Renderer::init() 1.22 +{ 1.23 + rend = new RendererImpl; 1.24 + memset(rend, 0, sizeof *rend); 1.25 + return true; 1.26 +} 1.27 + 1.28 +void Renderer::shutdown() 1.29 +{ 1.30 + if(rend) { 1.31 + delete rend; 1.32 + rend = 0; 1.33 + } 1.34 +} 1.35 + 1.36 void Renderer::draw() const 1.37 { 1.38 + memset(fb_pixels, 0, fb_width * fb_height * 4); 1.39 } 1.40 + 1.41 +void Renderer::handle_keyboard(int key, bool press) 1.42 +{ 1.43 + switch(key) { 1.44 + case KB_ESC: 1.45 + deactivate_screen(); 1.46 + break; 1.47 + 1.48 + } 1.49 +}