summaryrefslogtreecommitdiffstats
path: root/engine/include/flatland.hpp
blob: 592a629ec5d2e46bb2a7edc2b7703a9bd981bb86 (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