src/proto2/Graphics.hh
author terom
Tue, 18 Nov 2008 22:58:50 +0000
branchno-netsession
changeset 35 e21cfda0edde
parent 25 af75a1894a32
child 41 ca80cd67785d
permissions -rw-r--r--
Merge from at r31:36
#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;
    
    public:
        Graphics (Engine &engine, GameState &state);

    private:
        void check_input (void);
        void do_redraw (void);

        void on_update (void);

};

#endif /* GRAPHICS_HH */