src/Graphics.hh
author nireco
Sun, 07 Dec 2008 18:23:18 +0000
changeset 248 e40ef56dc62c
parent 235 0a0c729365ee
child 266 ad72d0a0cc02
permissions -rw-r--r--
scrolling looks like it works
#ifndef GRAPHICS_HH
#define GRAPHICS_HH

#include "GraphicsPointer.hh"

#include "GameState.hh"
#include "Input.hh"
#include "Timer.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 : public CL_DisplayWindow {
private:
    Engine &engine;
    GameState &state;
    
    CL_SlotContainer slots;
    
    Timer update_timer;

    Input input;

    // current GUI input state
    GuiInput flags;
    
    // basic fonts
    CL_Font simple_font;

public:
    Graphics (Engine &engine, GameState &state);

    CL_Font& getSimpleFont (void) { return simple_font; }
    
private:
    void check_input (void);
    void do_redraw (void);
    
    void on_update (TimeMS tick_length);
    
};

#endif /* GRAPHICS_HH */