src/proto2/Graphics.hh
author saiam
Fri, 28 Nov 2008 22:26:23 +0000
changeset 128 890ac82cdcc0
parent 86 ed31ece6f340
child 138 cc326b64ae20
permissions -rw-r--r--
Documenting more, cleaning variables. This code needs some serious
rewriting. (And we havent too many features either)
#ifndef GRAPHICS_HH
#define GRAPHICS_HH

// XXX: forward-declare for Engine
class Graphics;

#include "GameState.hh"
#include "Engine.hh"

#include <ClanLib/core.h>
#include <ClanLib/gl.h>
#include <ClanLib/display.h>

const std::string GRAPHICS_WINDOW_TITLE = "Kisna Glista";
const uint32_t GRAPHICS_RESOLUTION_WIDTH = 800;
const uint32_t GRAPHICS_RESOLUTION_HEIGHT = 600;
const uint16_t GRAPHICS_UPDATE_INTERVAL_MS = 20;

class Graphics {
private:
    Engine &engine;
    GameState &state;
    
    CL_SlotContainer slots;
    
    CL_Timer update_timer;
    
    CL_DisplayWindow win;
    CL_InputDevice &keyboard;
    
    CL_Surface terrain;
    
public:
    Graphics (Engine &engine, GameState &state);
    
private:
    void check_input (void);
    void do_redraw (void);
    
    void on_update (void);
    
};

#endif /* GRAPHICS_HH */