made room for a new meaning of BitmapBuffer, it will be used for a RenderingBuffer class that wraps arround a ServerBitmap. BBitmapBuffer on the other side is handy as well and wraps arround a BBitmap, as BitmapBuffer did before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13297 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
203661c9d0
commit
063f418c53
|
@ -24,6 +24,7 @@ if ( $(TARGET_PLATFORM) = haiku ) {
|
|||
VIEW_DRIVER_SOURCES =
|
||||
AccelerantBuffer.cpp
|
||||
AccelerantHWInterface.cpp
|
||||
BitmapBuffer.cpp
|
||||
DisplayDriverPainter.cpp
|
||||
HWInterface.cpp
|
||||
MallocBuffer.cpp
|
||||
|
@ -32,6 +33,7 @@ if ( $(TARGET_PLATFORM) = haiku ) {
|
|||
} else {
|
||||
VIEW_DRIVER_SOURCES =
|
||||
fake_input_server.cpp
|
||||
BBitmapBuffer.cpp
|
||||
BitmapBuffer.cpp
|
||||
AccelerantBuffer.cpp
|
||||
AccelerantHWInterface.cpp
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
// BBitmapBuffer.h
|
||||
|
||||
#include <Bitmap.h>
|
||||
|
||||
#include "BBitmapBuffer.h"
|
||||
|
||||
// constructor
|
||||
BBitmapBuffer::BBitmapBuffer(BBitmap* bitmap)
|
||||
: fBitmap(bitmap)
|
||||
{
|
||||
}
|
||||
|
||||
// destructor
|
||||
BBitmapBuffer::~BBitmapBuffer()
|
||||
{
|
||||
delete fBitmap;
|
||||
}
|
||||
|
||||
// InitCheck
|
||||
status_t
|
||||
BBitmapBuffer::InitCheck() const
|
||||
{
|
||||
status_t ret = B_NO_INIT;
|
||||
if (fBitmap)
|
||||
ret = fBitmap->InitCheck();
|
||||
return ret;
|
||||
}
|
||||
|
||||
// ColorSpace
|
||||
color_space
|
||||
BBitmapBuffer::ColorSpace() const
|
||||
{
|
||||
if (InitCheck() >= B_OK)
|
||||
return fBitmap->ColorSpace();
|
||||
return B_NO_COLOR_SPACE;
|
||||
}
|
||||
|
||||
// Bits
|
||||
void*
|
||||
BBitmapBuffer::Bits() const
|
||||
{
|
||||
if (InitCheck() >= B_OK)
|
||||
return fBitmap->Bits();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// BytesPerRow
|
||||
uint32
|
||||
BBitmapBuffer::BytesPerRow() const
|
||||
{
|
||||
if (InitCheck() >= B_OK)
|
||||
return fBitmap->BytesPerRow();
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Width
|
||||
uint32
|
||||
BBitmapBuffer::Width() const
|
||||
{
|
||||
if (InitCheck() >= B_OK)
|
||||
return fBitmap->Bounds().IntegerWidth() + 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Height
|
||||
uint32
|
||||
BBitmapBuffer::Height() const
|
||||
{
|
||||
if (InitCheck() >= B_OK)
|
||||
return fBitmap->Bounds().IntegerHeight() + 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
// BBitmapBuffer.h
|
||||
|
||||
#ifndef B_BITMAP_BUFFER_H
|
||||
#define B_BITMAP_BUFFER_H
|
||||
|
||||
#include "RenderingBuffer.h"
|
||||
|
||||
class BBitmap;
|
||||
|
||||
class BBitmapBuffer : public RenderingBuffer {
|
||||
public:
|
||||
BBitmapBuffer(BBitmap* bitmap);
|
||||
virtual ~BBitmapBuffer();
|
||||
|
||||
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;
|
||||
|
||||
// BBitmapBuffer
|
||||
const BBitmap* Bitmap() const
|
||||
{ return fBitmap; }
|
||||
private:
|
||||
|
||||
BBitmap* fBitmap;
|
||||
};
|
||||
|
||||
#endif // B_BITMAP_BUFFER_H
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#include "fake_input_server.h"
|
||||
|
||||
#include "BitmapBuffer.h"
|
||||
#include "BBitmapBuffer.h"
|
||||
#include "PortLink.h"
|
||||
#include "ServerConfig.h"
|
||||
#include "ServerCursor.h"
|
||||
|
@ -472,7 +472,7 @@ ViewHWInterface::SetMode(const display_mode &mode)
|
|||
doubleBuffered = true;
|
||||
|
||||
BBitmap* frontBitmap = new BBitmap(frame, 0, (color_space)fDisplayMode.space);
|
||||
fFrontBuffer = new BitmapBuffer(frontBitmap);
|
||||
fFrontBuffer = new BBitmapBuffer(frontBitmap);
|
||||
|
||||
status_t err = fFrontBuffer->InitCheck();
|
||||
if (err < B_OK) {
|
||||
|
@ -486,7 +486,7 @@ ViewHWInterface::SetMode(const display_mode &mode)
|
|||
// since we override IsDoubleBuffered(), the drawing buffer
|
||||
// is in effect also always B_RGBA32.
|
||||
BBitmap* backBitmap = new BBitmap(frame, 0, B_RGBA32);
|
||||
fBackBuffer = new BitmapBuffer(backBitmap);
|
||||
fBackBuffer = new BBitmapBuffer(backBitmap);
|
||||
|
||||
err = fBackBuffer->InitCheck();
|
||||
if (err < B_OK) {
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include "HWInterface.h"
|
||||
|
||||
class BBitmap;
|
||||
class BitmapBuffer;
|
||||
class BBitmapBuffer;
|
||||
class CardWindow;
|
||||
class UpdateQueue;
|
||||
|
||||
|
@ -57,8 +57,8 @@ class ViewHWInterface : public HWInterface {
|
|||
virtual status_t Invalidate(const BRect& frame);
|
||||
|
||||
private:
|
||||
BitmapBuffer* fBackBuffer;
|
||||
BitmapBuffer* fFrontBuffer;
|
||||
BBitmapBuffer* fBackBuffer;
|
||||
BBitmapBuffer* fFrontBuffer;
|
||||
|
||||
CardWindow* fWindow;
|
||||
|
||||
|
|
Loading…
Reference in New Issue