1// BitmapView.cpp 2 3#include <stdio.h> 4 5#include <Bitmap.h> 6 7#include "BitmapView.h" 8 9// constructor 10BitmapView::BitmapView(BRect frame, const char* name, 11 BBitmap* bitmap) 12 : BView(frame, name, B_FOLLOW_NONE, B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE), 13 fBitmap(bitmap) 14{ 15 SetViewColor(B_TRANSPARENT_32_BIT); 16 SetHighColor(255, 0, 0, 255); 17} 18 19// destructor 20BitmapView::~BitmapView() 21{ 22 delete fBitmap; 23} 24 25// Draw 26void 27BitmapView::Draw(BRect updateRect) 28{ 29 if (fBitmap) { 30 if (fBitmap->ColorSpace() == B_RGBA32) { 31 // draw the bitmap with pixel alpha 32 // against a red background 33 FillRect(updateRect); 34 SetDrawingMode(B_OP_ALPHA); 35 SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_OVERLAY); 36 } 37 DrawBitmap(fBitmap, Bounds().LeftTop()); 38 } 39} 40 41// MouseDown 42void 43BitmapView::MouseDown(BPoint where) 44{ 45} 46 47// MouseUp 48void 49BitmapView::MouseUp(BPoint where) 50{ 51} 52 53// MouseMoved 54void 55BitmapView::MouseMoved(BPoint where, uint32 transit, 56 const BMessage* dragMessage) 57{ 58} 59