JUCE  v5.1.1-3-g1a0b28c73
JUCE API
ImagePixelData Class Referenceabstract

This is a base class for holding image data in implementation-specific ways. More...

#include <juce_Image.h>

Inheritance diagram for ImagePixelData:
Collaboration diagram for ImagePixelData:

Classes

struct  Listener
 

Public Types

typedef ReferenceCountedObjectPtr< ImagePixelDataPtr
 

Public Member Functions

 ImagePixelData (Image::PixelFormat, int width, int height)
 
 ~ImagePixelData ()
 
virtual Ptr clone ()=0
 Creates a copy of this image. More...
 
virtual LowLevelGraphicsContextcreateLowLevelContext ()=0
 Creates a context that will draw into this image. More...
 
virtual ImageTypecreateType () 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< Listenerlisteners
 
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...
 

Detailed Description

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.

See also
Image, ImageType

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ ImagePixelData()

ImagePixelData::ImagePixelData ( Image::PixelFormat  ,
int  width,
int  height 
)

◆ ~ImagePixelData()

ImagePixelData::~ImagePixelData ( )

Member Function Documentation

◆ clone()

virtual Ptr ImagePixelData::clone ( )
pure virtual

Creates a copy of this image.

◆ createLowLevelContext()

virtual LowLevelGraphicsContext* ImagePixelData::createLowLevelContext ( )
pure virtual

Creates a context that will draw into this image.

◆ createType()

virtual ImageType* ImagePixelData::createType ( ) const
pure virtual

Creates an instance of the type of this image.

◆ decReferenceCount()

void ReferenceCountedObject::decReferenceCount ( )
inlinenoexceptinherited

Decreases the object's reference count.

If the count gets to zero, the object will be deleted.

References jassert.

◆ decReferenceCountWithoutDeleting()

bool ReferenceCountedObject::decReferenceCountWithoutDeleting ( )
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.

◆ getReferenceCount()

int ReferenceCountedObject::getReferenceCount ( ) const
inlinenoexceptinherited

Returns the object's current reference count.

◆ getSharedCount()

virtual int ImagePixelData::getSharedCount ( ) const
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.

◆ incReferenceCount()

void ReferenceCountedObject::incReferenceCount ( )
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.

◆ initialiseBitmapData()

virtual void ImagePixelData::initialiseBitmapData ( Image::BitmapData ,
int  x,
int  y,
Image::BitmapData::ReadWriteMode   
)
pure virtual

Initialises a BitmapData object.

◆ resetReferenceCount()

void ReferenceCountedObject::resetReferenceCount ( )
inlineprotectednoexceptinherited

Resets the reference count to zero without deleting the object.

You should probably never need to use this!

◆ sendDataChangeMessage()

void ImagePixelData::sendDataChangeMessage ( )

Member Data Documentation

◆ height

const int ImagePixelData::height

◆ listeners

ListenerList<Listener> ImagePixelData::listeners

◆ pixelFormat

const Image::PixelFormat ImagePixelData::pixelFormat

The pixel format of the image data.

◆ userData

NamedValueSet ImagePixelData::userData

User-defined settings that are attached to this image.

See also
Image::getProperties().

◆ width

const int ImagePixelData::width

The documentation for this class was generated from the following file: