author | KUDr |
Fri, 20 Apr 2007 19:43:06 +0000 | |
changeset 6513 | 454347ca3dfb |
parent 6248 | e4a2ed7e5613 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
6179
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
5941
diff
changeset
|
3 |
/** @file hal.h Hardware Abstraction Layer declarations */ |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
5941
diff
changeset
|
4 |
|
0 | 5 |
#ifndef HAL_H |
6 |
#define HAL_H |
|
7 |
||
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
8 |
struct HalCommonDriver { |
1301
bf64ba5b6774
(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); |
6247 | 10 |
void (*stop)(); |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
11 |
}; |
0 | 12 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
13 |
struct HalVideoDriver { |
1301
bf64ba5b6774
(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); |
6247 | 15 |
void (*stop)(); |
0 | 16 |
void (*make_dirty)(int left, int top, int width, int height); |
6247 | 17 |
void (*main_loop)(); |
0 | 18 |
bool (*change_resolution)(int w, int h); |
1829
e90fe433fa7d
(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); |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
20 |
}; |
0 | 21 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
22 |
struct HalSoundDriver { |
1301
bf64ba5b6774
(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); |
6247 | 24 |
void (*stop)(); |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
25 |
}; |
0 | 26 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
27 |
struct HalMusicDriver { |
1301
bf64ba5b6774
(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); |
6247 | 29 |
void (*stop)(); |
0 | 30 |
|
31 |
void (*play_song)(const char *filename); |
|
6247 | 32 |
void (*stop_song)(); |
33 |
bool (*is_song_playing)(); |
|
0 | 34 |
void (*set_volume)(byte vol); |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
35 |
}; |
0 | 36 |
|
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
37 |
extern HalMusicDriver *_music_driver; |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
38 |
extern HalSoundDriver *_sound_driver; |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
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 */ |