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 10 class BitmapHWInterface; 11 class UtilityBitmap; 12 13 class BitmapDrawingEngine : public DrawingEngine { 14 public: 15 BitmapDrawingEngine( 16 color_space colorSpace = B_RGB32); 17 virtual ~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 28 private: 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