/* * Copyright 2005 Michael Lotz * All rights reserved. Distributed under the terms of the MIT license. */ #ifndef ACCELERANT_BUFFER_H #define ACCELERANT_BUFFER_H #include #include "RenderingBuffer.h" class AccelerantBuffer : public RenderingBuffer { public: AccelerantBuffer(); AccelerantBuffer(const display_mode& mode, const frame_buffer_config& config); AccelerantBuffer(const AccelerantBuffer& other, bool offscreenBuffer = false); virtual ~AccelerantBuffer(); virtual status_t InitCheck() const; virtual bool IsGraphicsMemory() const { return true; /* TODO! */ } virtual color_space ColorSpace() const; virtual void* Bits() const; virtual uint32 BytesPerRow() const; virtual uint32 Width() const; virtual uint32 Height() const; void SetDisplayMode(const display_mode& mode); void SetFrameBufferConfig( const frame_buffer_config& config); void SetOffscreenBuffer(bool offscreenBuffer); private: display_mode fDisplayMode; frame_buffer_config fFrameBufferConfig; bool fDisplayModeSet : 1; bool fFrameBufferConfigSet : 1; bool fIsOffscreenBuffer : 1; }; #endif // ACCELERANT_BUFFER_H