summaryrefslogtreecommitdiffstats
path: root/engine/include/flatland.hpp
blob: 5d3cfbfe70684297d288f5ef44f1c5b1275f65ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef __FLATLAND_H__
#define __FLATLAND_H__

namespace flat {

class FlatWindow;

struct flat_status
{

    flat_status(unsigned char video = 1,
                unsigned char audio = 1,
                unsigned char timer = 1,
                unsigned char events = 1,
                unsigned char joystick = 0,
                unsigned char controller = 0,
                unsigned char haptic = 0,
                unsigned char error = 0,
                unsigned char running = 0,
                unsigned char loop = 0)

        : video(video), audio(audio), timer(timer), events(events),
          joystick(joystick), controller(controller), haptic(haptic),
          error(error), running(running), loop(loop) {}

    unsigned char video;
    unsigned char audio;
    unsigned char timer;
    unsigned char events;
    unsigned char joystick;
    unsigned char controller;
    unsigned char haptic;
    unsigned char error;
    unsigned char running;
    unsigned char loop;
};

int init_flatland(FlatWindow*, const flat_status&, float fps = 60);
void quit();

namespace core {
    
    class job;
    class task;
    class channel;
}

/* Engine channels */

core::channel& core_channel();

/* Main job access */

core::job& main_job();

/* Window and status accessors */

FlatWindow * getFlatWindow();

flat_status flatland_status();

/* Window and status modifiers */

//void load_flatland_status(const flat_status&);

}

#endif