1#ifndef D_WINDOW_BUFFER_H
2#define D_WINDOW_BUFFER_H
3
4
5#include "RenderingBuffer.h"
6
7#include <Accelerant.h>
8#include <DirectWindow.h>
9
10
11class DWindowBuffer : public RenderingBuffer {
12public:
13								DWindowBuffer();
14	virtual						~DWindowBuffer();
15
16	virtual	status_t			InitCheck() const;
17
18	virtual	color_space			ColorSpace() const;
19	virtual	void*				Bits() const;
20	virtual	uint32				BytesPerRow() const;
21	virtual	uint32				Width() const;
22	virtual	uint32				Height() const;
23
24	virtual	bool				IsGraphicsMemory() const { return true; /* TODO! */ }
25
26			void				SetTo(direct_buffer_info* info);
27
28			void				SetTo(frame_buffer_config* config,
29									  uint32 x, uint32 y,
30									  uint32 width, uint32 height,
31									  color_space format);
32
33			BRegion&			WindowClipping()
34									{ return fWindowClipping; }
35private:
36			uint8*				fBits;
37			uint32				fWidth;
38			uint32				fHeight;
39			uint32				fBytesPerRow;
40			color_space			fFormat;
41
42			BRegion				fWindowClipping;
43};
44
45#endif // D_WINDOW_BUFFER_H
46