* Made copy constructor and assign public and implemented them.
* Added BBitmap(const BBitmap&, uint32 flags) constructor as found in Dano/Zeta. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19270 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
7022e7903a
commit
fdd0f4ce10
@ -38,6 +38,8 @@ class BBitmap : public BArchivable {
|
||||
screen_id screenID = B_MAIN_SCREEN_ID);
|
||||
BBitmap(BRect bounds, color_space colorSpace, bool acceptsViews = false,
|
||||
bool needsContiguous = false);
|
||||
BBitmap(const BBitmap& source, uint32 flags);
|
||||
BBitmap(const BBitmap& source);
|
||||
BBitmap(const BBitmap *source, bool acceptsViews = false,
|
||||
bool needsContiguous = false);
|
||||
virtual ~BBitmap();
|
||||
@ -87,6 +89,8 @@ class BBitmap : public BArchivable {
|
||||
void Unlock();
|
||||
bool IsLocked() const;
|
||||
|
||||
BBitmap& operator=(const BBitmap& source);
|
||||
|
||||
//----- Private or reserved -----------------------------------------//
|
||||
|
||||
virtual status_t Perform(perform_code d, void *arg);
|
||||
@ -100,9 +104,6 @@ class BBitmap : public BArchivable {
|
||||
virtual void _ReservedBitmap2();
|
||||
virtual void _ReservedBitmap3();
|
||||
|
||||
BBitmap(const BBitmap &);
|
||||
BBitmap &operator=(const BBitmap &);
|
||||
|
||||
int32 _ServerToken() const;
|
||||
void _InitObject(BRect bounds, color_space colorSpace, uint32 flags,
|
||||
int32 bytesPerRow, screen_id screenID);
|
||||
|
@ -212,7 +212,27 @@ BBitmap::BBitmap(const BBitmap *source, bool acceptsViews,
|
||||
}
|
||||
}
|
||||
|
||||
// destructor
|
||||
|
||||
BBitmap::BBitmap(const BBitmap& source, uint32 flags)
|
||||
{
|
||||
if (!source.IsValid())
|
||||
return;
|
||||
|
||||
_InitObject(source.Bounds(), source.ColorSpace(), flags,
|
||||
source.BytesPerRow(), B_MAIN_SCREEN_ID);
|
||||
|
||||
if (InitCheck() == B_OK)
|
||||
memcpy(Bits(), source.Bits(), min_c(BitsLength(), source.BitsLength()));
|
||||
}
|
||||
|
||||
|
||||
BBitmap::BBitmap(const BBitmap& source)
|
||||
{
|
||||
fBasePointer = NULL;
|
||||
*this = source;
|
||||
}
|
||||
|
||||
|
||||
/*! \brief Frees all resources associated with this object.
|
||||
*/
|
||||
BBitmap::~BBitmap()
|
||||
@ -373,7 +393,7 @@ BBitmap::InitCheck() const
|
||||
bool
|
||||
BBitmap::IsValid() const
|
||||
{
|
||||
return (InitCheck() == B_OK);
|
||||
return InitCheck() == B_OK;
|
||||
}
|
||||
|
||||
|
||||
@ -840,9 +860,25 @@ BBitmap::IsLocked() const
|
||||
return fWindow != NULL ? fWindow->IsLocked() : false;
|
||||
}
|
||||
|
||||
// Perform
|
||||
/*! \brief ???
|
||||
*/
|
||||
|
||||
BBitmap &
|
||||
BBitmap::operator=(const BBitmap& source)
|
||||
{
|
||||
_CleanUp();
|
||||
fInitError = B_NO_INIT;
|
||||
|
||||
if (!source.IsValid())
|
||||
return *this;
|
||||
|
||||
_InitObject(source.Bounds(), source.ColorSpace(), source.Flags(),
|
||||
source.BytesPerRow(), B_MAIN_SCREEN_ID);
|
||||
if (InitCheck() == B_OK)
|
||||
memcpy(Bits(), source.Bits(), min_c(BitsLength(), source.BitsLength()));
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
BBitmap::Perform(perform_code d, void *arg)
|
||||
{
|
||||
@ -854,21 +890,6 @@ void BBitmap::_ReservedBitmap1() {}
|
||||
void BBitmap::_ReservedBitmap2() {}
|
||||
void BBitmap::_ReservedBitmap3() {}
|
||||
|
||||
// copy constructor
|
||||
/*! \brief Privatized copy constructor to prevent usage.
|
||||
*/
|
||||
BBitmap::BBitmap(const BBitmap &)
|
||||
{
|
||||
}
|
||||
|
||||
// =
|
||||
/*! \brief Privatized assignment operator to prevent usage.
|
||||
*/
|
||||
BBitmap &
|
||||
BBitmap::operator=(const BBitmap &)
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
#if 0
|
||||
// get_shared_pointer
|
||||
|
Loading…
Reference in New Issue
Block a user