src/proto2/Graphics.hh
author terom
Thu, 20 Nov 2008 23:45:33 +0000
branchno-netsession
changeset 41 ca80cd67785d
parent 35 e21cfda0edde
permissions -rw-r--r--
merge r64 through r88 from trunk
#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 */