1/* 2 * Copyright 2005 Michael Lotz <mmlr@mlotz.ch> 3 * All rights reserved. Distributed under the terms of the MIT license. 4 */ 5#ifndef ACCELERANT_BUFFER_H 6#define ACCELERANT_BUFFER_H 7 8#include <Accelerant.h> 9#include "RenderingBuffer.h" 10 11class AccelerantBuffer : public RenderingBuffer { 12public: 13 AccelerantBuffer(); 14 AccelerantBuffer(const display_mode& mode, 15 const frame_buffer_config& config); 16 AccelerantBuffer(const AccelerantBuffer& other, 17 bool offscreenBuffer = false); 18 virtual ~AccelerantBuffer(); 19 20 virtual status_t InitCheck() const; 21 virtual bool IsGraphicsMemory() const { return true; /* TODO! */ } 22 23 virtual color_space ColorSpace() const; 24 virtual void* Bits() const; 25 virtual uint32 BytesPerRow() const; 26 virtual uint32 Width() const; 27 virtual uint32 Height() const; 28 29 void SetDisplayMode(const display_mode& mode); 30 void SetFrameBufferConfig( 31 const frame_buffer_config& config); 32 void SetOffscreenBuffer(bool offscreenBuffer); 33 34private: 35 display_mode fDisplayMode; 36 frame_buffer_config fFrameBufferConfig; 37 38 bool fDisplayModeSet : 1; 39 bool fFrameBufferConfigSet : 1; 40 bool fIsOffscreenBuffer : 1; 41}; 42 43#endif // ACCELERANT_BUFFER_H 44