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 std::unique_ptr< LowLevelGraphicsContext > | createLowLevelContext ()=0 |
Creates a context that will draw into this image. | |
virtual Ptr | clone ()=0 |
Creates a copy of this image. | |
virtual std::unique_ptr< ImageType > | createType () const =0 |
Creates an instance of the type of this image. | |
virtual void | initialiseBitmapData (Image::BitmapData &, int x, int y, Image::BitmapData::ReadWriteMode)=0 |
Initialises a BitmapData object. | |
virtual int | getSharedCount () const noexcept |
Returns the number of Image objects which are currently referring to the same internal shared image data. | |
virtual void | applyGaussianBlurEffect (float radius, Image &result) |
Applies a native blur effect to this image, if available. | |
virtual void | applySingleChannelBoxBlurEffect (int radius, Image &result) |
Applies a native blur effect to this image, if available. | |
void | sendDataChangeMessage () |
Public Member Functions inherited from ReferenceCountedObject | |
void | incReferenceCount () noexcept |
Increments the object's reference count. | |
void | decReferenceCount () noexcept |
Decreases the object's reference count. | |
bool | decReferenceCountWithoutDeleting () noexcept |
Decreases the object's reference count. | |
int | getReferenceCount () const noexcept |
Returns the object's current reference count. | |
Public Attributes | |
const Image::PixelFormat | pixelFormat |
The pixel format of the image data. | |
const int | width |
const int | height |
NamedValueSet | userData |
User-defined settings that are attached to this image. | |
ListenerList< Listener > | listeners |
Additional Inherited Members | |
Protected Member Functions inherited from ReferenceCountedObject | |
ReferenceCountedObject ()=default | |
Creates the reference-counted object (with an initial ref count of zero). | |
ReferenceCountedObject (const ReferenceCountedObject &) noexcept | |
Copying from another object does not affect this one's reference-count. | |
ReferenceCountedObject (ReferenceCountedObject &&) noexcept | |
Copying from another object does not affect this one's reference-count. | |
ReferenceCountedObject & | operator= (const ReferenceCountedObject &) noexcept |
Copying from another object does not affect this one's reference-count. | |
ReferenceCountedObject & | operator= (ReferenceCountedObject &&) noexcept |
Copying from another object does not affect this one's reference-count. | |
virtual | ~ReferenceCountedObject () |
Destructor. | |
void | resetReferenceCount () noexcept |
Resets the reference count to zero without deleting the object. | |
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.
ImagePixelData::ImagePixelData | ( | Image::PixelFormat | , |
int | width, | ||
int | height ) |
|
override |
|
pure virtual |
Creates a context that will draw into this image.
|
pure virtual |
Creates a copy of this image.
|
pure virtual |
Creates an instance of the type of this image.
|
pure virtual |
Initialises a BitmapData object.
|
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.
|
virtual |
Applies a native blur effect to this image, if available.
This blur applies to all channels of the input image. It may be more expensive to calculate than a box blur, but should produce higher-quality results.
Implementations should attempt to re-use the storage provided in the result out-parameter when possible.
If native blurs are unsupported, or if creating a blur fails for any other reason, the result out-parameter will be reset to an invalid image.
|
virtual |
Applies a native blur effect to this image, if available.
This is intended for blurring single-channel images, which is useful when rendering drop shadows. This is implemented as several box-blurs in series. The results should be visually similar to a Gaussian blur, but less accurate.
Implementations should attempt to re-use the storage provided in the result out-parameter when possible.
If native blurs are unsupported, or if creating a blur fails for any other reason, the result out-parameter will be reset to an invalid image.
void ImagePixelData::sendDataChangeMessage | ( | ) |
const Image::PixelFormat ImagePixelData::pixelFormat |
The pixel format of the image data.
const int ImagePixelData::width |
const int ImagePixelData::height |
NamedValueSet ImagePixelData::userData |
User-defined settings that are attached to this image.
ListenerList<Listener> ImagePixelData::listeners |