1#ifndef BITMAP_DRAWING_ENGINE_H 2#define BITMAP_DRAWING_ENGINE_H 3 4#include "DrawingEngine.h" 5 6#include <AutoDeleter.h> 7#include <Referenceable.h> 8#include <Region.h> 9 10class BitmapHWInterface; 11class UtilityBitmap; 12 13class BitmapDrawingEngine : public DrawingEngine { 14public: 15 BitmapDrawingEngine( 16 color_space colorSpace = B_RGB32); 17virtual ~BitmapDrawingEngine(); 18 19#if DEBUG 20 virtual bool IsParallelAccessLocked() const; 21#endif 22 virtual bool IsExclusiveAccessLocked() const; 23 24 status_t SetSize(int32 newWidth, int32 newHeight); 25 UtilityBitmap* ExportToBitmap(int32 width, int32 height, 26 color_space space); 27 28private: 29 color_space fColorSpace; 30 ObjectDeleter<BitmapHWInterface> 31 fHWInterface; 32 BReference<UtilityBitmap> 33 fBitmap; 34 BRegion fClipping; 35}; 36 37#endif // BITMAP_DRAWING_ENGINE_H 38