This is a base class for holding image data in implementation-specific ways. More...
#include <juce_Image.h>
Classes | |
struct | Listener |
Used to receive callbacks for image data changes. More... | |
Public Types | |
using | Ptr = ReferenceCountedObjectPtr< ImagePixelData > |
Public Member Functions | |
ImagePixelData (Image::PixelFormat, int width, int height) | |
~ImagePixelData () override | |
virtual Ptr | clone ()=0 |
Creates a copy of this image. More... | |
virtual std::unique_ptr< LowLevelGraphicsContext > | createLowLevelContext ()=0 |
Creates a context that will draw into this image. More... | |
virtual std::unique_ptr< ImageType > | createType () const =0 |
Creates an instance of the type of this image. More... | |
void | decReferenceCount () noexcept |
Decreases the object's reference count. More... | |
bool | decReferenceCountWithoutDeleting () noexcept |
Decreases the object's reference count. More... | |
int | getReferenceCount () const noexcept |
Returns the object's current reference count. More... | |
virtual int | getSharedCount () const noexcept |
Returns the number of Image objects which are currently referring to the same internal shared image data. More... | |
void | incReferenceCount () noexcept |
Increments the object's reference count. More... | |
virtual void | initialiseBitmapData (Image::BitmapData &, int x, int y, Image::BitmapData::ReadWriteMode)=0 |
Initialises a BitmapData object. More... | |
void | sendDataChangeMessage () |
Public Attributes | |
const int | height |
ListenerList< Listener > | listeners |
const Image::PixelFormat | pixelFormat |
The pixel format of the image data. More... | |
NamedValueSet | userData |
User-defined settings that are attached to this image. More... | |
const int | width |
Protected Member Functions | |
void | resetReferenceCount () noexcept |
Resets the reference count to zero without deleting the object. More... | |
Private Attributes | |
Atomic< int > | refCount { 0 } |
This is a base class for holding image data in implementation-specific ways.
You may never need to use this class directly - it's used internally by the Image class to store the actual image data. To access pixel data directly, you should use Image::BitmapData rather than this class.
ImagePixelData objects are created indirectly, by subclasses of ImageType.
@tags{Graphics}
juce::ImagePixelData::ImagePixelData | ( | Image::PixelFormat | , |
int | width, | ||
int | height | ||
) |
|
override |
|
pure virtual |
Creates a copy of this image.
|
pure virtual |
Creates a context that will draw into this image.
|
pure virtual |
Creates an instance of the type of this image.
|
inlinenoexceptinherited |
Decreases the object's reference count.
If the count gets to zero, the object will be deleted.
References jassert.
|
inlinenoexceptinherited |
Decreases the object's reference count.
If the count gets to zero, the object will not be deleted, but this method will return true, allowing the caller to take care of deletion.
References jassert.
|
inlinenoexceptinherited |
Returns the object's current reference count.
|
virtualnoexcept |
Returns the number of Image objects which are currently referring to the same internal shared image data.
This is different to the reference count as an instance of ImagePixelData can internally depend on another ImagePixelData via it's member variables.
|
inlinenoexceptinherited |
Increments the object's reference count.
This is done automatically by the smart pointer, but is public just in case it's needed for nefarious purposes.
Referenced by juce::ReferenceCountedObjectPtr< juce::ReferenceCountedObject >::operator=().
|
pure virtual |
Initialises a BitmapData object.
|
inlineprotectednoexceptinherited |
Resets the reference count to zero without deleting the object.
You should probably never need to use this!
void juce::ImagePixelData::sendDataChangeMessage | ( | ) |
const int juce::ImagePixelData::height |
ListenerList<Listener> juce::ImagePixelData::listeners |
const Image::PixelFormat juce::ImagePixelData::pixelFormat |
The pixel format of the image data.
NamedValueSet juce::ImagePixelData::userData |
User-defined settings that are attached to this image.
const int juce::ImagePixelData::width |