From 203661c9d07fa8b7a4e8a0741c01baea74a1900c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Mon, 27 Jun 2005 21:53:17 +0000 Subject: [PATCH] svn does not do what I want before I commit this... It's going to be renamed git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13296 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/ViewBitmapBuffer.cpp | 73 ++++++++++++++++++++ src/servers/app/drawing/ViewBitmapBuffer.h | 31 +++++++++ 2 files changed, 104 insertions(+) create mode 100644 src/servers/app/drawing/ViewBitmapBuffer.cpp create mode 100644 src/servers/app/drawing/ViewBitmapBuffer.h diff --git a/src/servers/app/drawing/ViewBitmapBuffer.cpp b/src/servers/app/drawing/ViewBitmapBuffer.cpp new file mode 100644 index 0000000000..ac7872ed5a --- /dev/null +++ b/src/servers/app/drawing/ViewBitmapBuffer.cpp @@ -0,0 +1,73 @@ +// ViewBitmapBuffer.h + +#include + +#include "ViewBitmapBuffer.h" + +// constructor +ViewBitmapBuffer::ViewBitmapBuffer(BBitmap* bitmap) + : fBitmap(bitmap) +{ +} + +// destructor +ViewBitmapBuffer::~ViewBitmapBuffer() +{ + delete fBitmap; +} + +// InitCheck +status_t +ViewBitmapBuffer::InitCheck() const +{ + status_t ret = B_NO_INIT; + if (fBitmap) + ret = fBitmap->InitCheck(); + return ret; +} + +// ColorSpace +color_space +ViewBitmapBuffer::ColorSpace() const +{ + if (InitCheck() >= B_OK) + return fBitmap->ColorSpace(); + return B_NO_COLOR_SPACE; +} + +// Bits +void* +ViewBitmapBuffer::Bits() const +{ + if (InitCheck() >= B_OK) + return fBitmap->Bits(); + return NULL; +} + +// BytesPerRow +uint32 +ViewBitmapBuffer::BytesPerRow() const +{ + if (InitCheck() >= B_OK) + return fBitmap->BytesPerRow(); + return 0; +} + +// Width +uint32 +ViewBitmapBuffer::Width() const +{ + if (InitCheck() >= B_OK) + return fBitmap->Bounds().IntegerWidth() + 1; + return 0; +} + +// Height +uint32 +ViewBitmapBuffer::Height() const +{ + if (InitCheck() >= B_OK) + return fBitmap->Bounds().IntegerHeight() + 1; + return 0; +} + diff --git a/src/servers/app/drawing/ViewBitmapBuffer.h b/src/servers/app/drawing/ViewBitmapBuffer.h new file mode 100644 index 0000000000..a46c817098 --- /dev/null +++ b/src/servers/app/drawing/ViewBitmapBuffer.h @@ -0,0 +1,31 @@ +// ViewBitmapBuffer.h + +#ifndef VIEW_BITMAP_BUFFER_H +#define VIEW_BITMAP_BUFFER_H + +#include "RenderingBuffer.h" + +class BBitmap; + +class ViewBitmapBuffer : public RenderingBuffer { + public: + ViewBitmapBuffer(BBitmap* bitmap); + virtual ~ViewBitmapBuffer(); + + 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; + + // ViewBitmapBuffer + const BBitmap* Bitmap() const + { return fBitmap; } + private: + + BBitmap* fBitmap; +}; + +#endif // VIEW_BITMAP_BUFFER_H