From 4594032d1abe9c2089ff31b8c5ef477b329b2e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sat, 26 Mar 2005 22:26:42 +0000 Subject: [PATCH] got this added\? git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12057 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/BitmapBuffer.cpp | 73 ++++++++++++++++++++++++ src/servers/app/drawing/BitmapBuffer.h | 31 ++++++++++ 2 files changed, 104 insertions(+) create mode 100644 src/servers/app/drawing/BitmapBuffer.cpp create mode 100644 src/servers/app/drawing/BitmapBuffer.h diff --git a/src/servers/app/drawing/BitmapBuffer.cpp b/src/servers/app/drawing/BitmapBuffer.cpp new file mode 100644 index 0000000000..25e3103419 --- /dev/null +++ b/src/servers/app/drawing/BitmapBuffer.cpp @@ -0,0 +1,73 @@ +// BitmapBuffer.h + +#include + +#include "BitmapBuffer.h" + +// constructor +BitmapBuffer::BitmapBuffer(BBitmap* bitmap) + : fBitmap(bitmap) +{ +} + +// destructor +BitmapBuffer::~BitmapBuffer() +{ + delete fBitmap; +} + +// InitCheck +status_t +BitmapBuffer::InitCheck() const +{ + status_t ret = B_NO_INIT; + if (fBitmap) + ret = fBitmap->InitCheck(); + return ret; +} + +// ColorSpace +color_space +BitmapBuffer::ColorSpace() const +{ + if (InitCheck() >= B_OK) + return fBitmap->ColorSpace(); + return B_NO_COLOR_SPACE; +} + +// Bits +void* +BitmapBuffer::Bits() const +{ + if (InitCheck() >= B_OK) + return fBitmap->Bits(); + return NULL; +} + +// BytesPerRow +uint32 +BitmapBuffer::BytesPerRow() const +{ + if (InitCheck() >= B_OK) + return fBitmap->BytesPerRow(); + return 0; +} + +// Width +uint32 +BitmapBuffer::Width() const +{ + if (InitCheck() >= B_OK) + return fBitmap->Bounds().IntegerWidth() + 1; + return 0; +} + +// Height +uint32 +BitmapBuffer::Height() const +{ + if (InitCheck() >= B_OK) + return fBitmap->Bounds().IntegerHeight() + 1; + return 0; +} + diff --git a/src/servers/app/drawing/BitmapBuffer.h b/src/servers/app/drawing/BitmapBuffer.h new file mode 100644 index 0000000000..a90af10bbd --- /dev/null +++ b/src/servers/app/drawing/BitmapBuffer.h @@ -0,0 +1,31 @@ +// BitmapBuffer.h + +#ifndef BITMAP_BUFFER_H +#define BITMAP_BUFFER_H + +#include "RenderingBuffer.h" + +class BBitmap; + +class BitmapBuffer : public RenderingBuffer { + public: + BitmapBuffer(BBitmap* bitmap); + virtual ~BitmapBuffer(); + + virtual status_t InitCheck() const; + + virtual color_space ColorSpace() const; + virtual void* Bits() const; + virtual uint32 BytesPerRow() const; + virtual uint32 Width() const; + virtual uint32 Height() const; + + // BitmapBuffer + const BBitmap* Bitmap() const + { return fBitmap; } + private: + + BBitmap* fBitmap; +}; + +#endif // BITMAP_BUFFER_H