author | rubidium |
Sun, 03 Feb 2008 20:17:54 +0000 | |
branch | noai |
changeset 9724 | b39bc69bb2f2 |
parent 9723 | eee46cb39750 |
child 10429 | 1b99254f9607 |
permissions | -rw-r--r-- |
9631 | 1 |
/* $Id$ */ |
2 |
||
3 |
#ifndef VIDEO_VIDEO_DRIVER_HPP |
|
4 |
#define VIDEO_VIDEO_DRIVER_HPP |
|
5 |
||
6 |
#include "../driver.h" |
|
7 |
||
8 |
class VideoDriver: public Driver { |
|
9 |
public: |
|
10 |
virtual void MakeDirty(int left, int top, int width, int height) = 0; |
|
11 |
||
12 |
virtual void MainLoop() = 0; |
|
13 |
||
14 |
virtual bool ChangeResolution(int w, int h) = 0; |
|
15 |
||
9723
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9641
diff
changeset
|
16 |
virtual bool ToggleFullscreen(bool fullscreen) = 0; |
9631 | 17 |
}; |
18 |
||
19 |
class VideoDriverFactoryBase: public DriverFactoryBase { |
|
20 |
}; |
|
21 |
||
22 |
template <class T> |
|
23 |
class VideoDriverFactory: public VideoDriverFactoryBase { |
|
24 |
public: |
|
9641
855e32c08c9b
(svn r10533) [NoAI] -Sync with trunk r10460:r10532.
truelight
parents:
9631
diff
changeset
|
25 |
VideoDriverFactory() { this->RegisterDriver(((T *)this)->GetName(), Driver::DT_VIDEO, ((T *)this)->priority); } |
9631 | 26 |
|
27 |
/** |
|
28 |
* Get the long, human readable, name for the Driver-class. |
|
29 |
*/ |
|
30 |
const char *GetName(); |
|
31 |
}; |
|
32 |
||
33 |
extern VideoDriver *_video_driver; |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
34 |
extern char _ini_videodriver[32]; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
35 |
extern int _num_resolutions; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
36 |
extern uint16 _resolutions[32][2]; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
37 |
extern uint16 _cur_resolution[2]; |
9631 | 38 |
|
39 |
#endif /* VIDEO_VIDEO_DRIVER_HPP */ |