1823d2b88SStephan Aßmus /* 2823d2b88SStephan Aßmus * Copyright 2013, Stephan Aßmus <superstippi@gmx.de>. 3823d2b88SStephan Aßmus * All rights reserved. Distributed under the terms of the MIT License. 4823d2b88SStephan Aßmus */ 5823d2b88SStephan Aßmus #ifndef BITMAP_VIEW_H 6823d2b88SStephan Aßmus #define BITMAP_VIEW_H 7823d2b88SStephan Aßmus 8823d2b88SStephan Aßmus 9*2a36368bSMichael Lotz #include "SharedBitmap.h" 10*2a36368bSMichael Lotz 11823d2b88SStephan Aßmus #include <View.h> 12823d2b88SStephan Aßmus 13823d2b88SStephan Aßmus 14823d2b88SStephan Aßmus class BitmapView : public BView { 15823d2b88SStephan Aßmus public: 16823d2b88SStephan Aßmus BitmapView(const char* name); 17823d2b88SStephan Aßmus 18823d2b88SStephan Aßmus virtual ~BitmapView(); 19823d2b88SStephan Aßmus 20823d2b88SStephan Aßmus virtual void AttachedToWindow(); 21823d2b88SStephan Aßmus virtual void Draw(BRect updateRect); 22823d2b88SStephan Aßmus 23823d2b88SStephan Aßmus virtual BSize MinSize(); 24823d2b88SStephan Aßmus virtual BSize PreferredSize(); 25823d2b88SStephan Aßmus virtual BSize MaxSize(); 26823d2b88SStephan Aßmus 27*2a36368bSMichael Lotz void SetBitmap(SharedBitmap* bitmap, 28*2a36368bSMichael Lotz SharedBitmap::Size bitmapSize 29*2a36368bSMichael Lotz = SharedBitmap::SIZE_ANY); 30*2a36368bSMichael Lotz void UnsetBitmap(); 31823d2b88SStephan Aßmus void SetScaleBitmap(bool scaleBitmap); 32823d2b88SStephan Aßmus 33823d2b88SStephan Aßmus protected: 34823d2b88SStephan Aßmus virtual void DrawBackground(BRect& bounds, 35823d2b88SStephan Aßmus BRect updateRect); 36823d2b88SStephan Aßmus 37823d2b88SStephan Aßmus private: 38*2a36368bSMichael Lotz BitmapRef fReference; 39*2a36368bSMichael Lotz SharedBitmap::Size fBitmapSize; 40823d2b88SStephan Aßmus const BBitmap* fBitmap; 41823d2b88SStephan Aßmus bool fScaleBitmap; 42823d2b88SStephan Aßmus }; 43823d2b88SStephan Aßmus 44823d2b88SStephan Aßmus 45823d2b88SStephan Aßmus #endif // BITMAP_VIEW_H 46