author | bjarni |
Sun, 11 Mar 2007 16:31:18 +0000 | |
branch | cpp_gui |
changeset 6298 | c30fe89622df |
parent 6285 | 187e3ef04cc9 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
6285
187e3ef04cc9
(svn r9004) [cpp_gui] -Sync with trunk (r8900..r9003)
KUDr
parents:
6192
diff
changeset
|
3 |
/** @file hal.h Hardware Abstraction Layer declarations */ |
187e3ef04cc9
(svn r9004) [cpp_gui] -Sync with trunk (r8900..r9003)
KUDr
parents:
6192
diff
changeset
|
4 |
|
0 | 5 |
#ifndef HAL_H |
6 |
#define HAL_H |
|
7 |
||
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
8 |
struct HalCommonDriver { |
1301
313804601383
(svn r1805) Teach the driver layer a few things about const correctness
tron
parents:
1093
diff
changeset
|
9 |
const char *(*start)(const char * const *parm); |
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
10 |
void (*stop)(); |
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
11 |
}; |
0 | 12 |
|
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
13 |
struct HalVideoDriver { |
1301
313804601383
(svn r1805) Teach the driver layer a few things about const correctness
tron
parents:
1093
diff
changeset
|
14 |
const char *(*start)(const char * const *parm); |
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
15 |
void (*stop)(); |
0 | 16 |
void (*make_dirty)(int left, int top, int width, int height); |
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
17 |
void (*main_loop)(); |
0 | 18 |
bool (*change_resolution)(int w, int h); |
1829
0b6de3b4458a
(svn r2334) - Fix (regression): moved togglefullscreen into the video-driver, now windows works, dedicated works and sdl works. Also reverted the change to the makefile.
Darkvater
parents:
1596
diff
changeset
|
19 |
void (*toggle_fullscreen)(bool fullscreen); |
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
20 |
}; |
0 | 21 |
|
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
22 |
struct HalSoundDriver { |
1301
313804601383
(svn r1805) Teach the driver layer a few things about const correctness
tron
parents:
1093
diff
changeset
|
23 |
const char *(*start)(const char * const *parm); |
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
24 |
void (*stop)(); |
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
25 |
}; |
0 | 26 |
|
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
27 |
struct HalMusicDriver { |
1301
313804601383
(svn r1805) Teach the driver layer a few things about const correctness
tron
parents:
1093
diff
changeset
|
28 |
const char *(*start)(const char * const *parm); |
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
29 |
void (*stop)(); |
0 | 30 |
|
31 |
void (*play_song)(const char *filename); |
|
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
32 |
void (*stop_song)(); |
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
33 |
bool (*is_song_playing)(); |
0 | 34 |
void (*set_volume)(byte vol); |
6298
c30fe89622df
(svn r9119) [cpp_gui] -Sync with trunk (r9003:9100)
bjarni
parents:
6285
diff
changeset
|
35 |
}; |
0 | 36 |
|
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
37 |
extern HalMusicDriver *_music_driver; |
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
38 |
extern HalSoundDriver *_sound_driver; |
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
39 |
extern HalVideoDriver *_video_driver; |
0 | 40 |
|
41 |
enum DriverType { |
|
42 |
VIDEO_DRIVER = 0, |
|
43 |
SOUND_DRIVER = 1, |
|
44 |
MUSIC_DRIVER = 2, |
|
45 |
}; |
|
46 |
||
47 |
#endif /* HAL_H */ |