webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
WebCore::Image Class Referenceabstract

#include <Image.h>

Inheritance diagram for WebCore::Image:
WTF::RefCounted< Image > WTF::RefCounted< Image > WTF::RefCountedBase WTF::RefCountedBase WTF::RefCountedBase WTF::RefCountedBase WTF::RefCountedBase WTF::RefCountedBase WebCore::BitmapImage WebCore::BitmapImage WebCore::GeneratedImage WebCore::SVGImage WebCore::SVGImageForContainer WebCore::CrossfadeGeneratedImage WebCore::GradientImage WebCore::NamedImageGeneratedImage

Public Types

enum  TileRule {
  StretchTile, RoundTile, SpaceTile, RepeatTile,
  StretchTile, RoundTile, SpaceTile, RepeatTile
}
 
enum  TileRule {
  StretchTile, RoundTile, SpaceTile, RepeatTile,
  StretchTile, RoundTile, SpaceTile, RepeatTile
}
 

Public Member Functions

virtual ~Image ()
 
virtual bool isBitmapImage () const
 
virtual bool isGeneratedImage () const
 
virtual bool isCrossfadeGeneratedImage () const
 
virtual bool isNamedImageGeneratedImage () const
 
virtual bool isGradientImage () const
 
virtual bool isSVGImage () const
 
virtual bool isPDFDocumentImage () const
 
virtual bool currentFrameKnownToBeOpaque () const =0
 
virtual bool isAnimated () const
 
virtual bool hasSingleSecurityOrigin () const
 
bool isNull () const
 
virtual void setContainerSize (const FloatSize &)
 
virtual bool usesContainerSize () const
 
virtual bool hasRelativeWidth () const
 
virtual bool hasRelativeHeight () const
 
virtual void computeIntrinsicDimensions (Length &intrinsicWidth, Length &intrinsicHeight, FloatSize &intrinsicRatio)
 
virtual FloatSize size () const =0
 
FloatRect rect () const
 
float width () const
 
float height () const
 
virtual std::optional< IntPointhotSpot () const
 
WEBCORE_EXPORT bool setData (RefPtr< SharedBuffer > &&data, bool allDataReceived)
 
virtual bool dataChanged (bool)
 
virtual String filenameExtension () const
 
virtual void destroyDecodedData (bool destroyAll=true)=0
 
SharedBufferdata ()
 
const SharedBufferdata () const
 
virtual void startAnimation ()
 
virtual void stopAnimation ()
 
virtual void resetAnimation ()
 
virtual void newFrameNativeImageAvailableAtIndex (size_t)
 
ImageObserverimageObserver () const
 
void setImageObserver (ImageObserver *observer)
 
virtual NativeImagePtr nativeImage (const GraphicsContext *=nullptr)
 
virtual NativeImagePtr nativeImageOfSize (const IntSize &, const GraphicsContext *=nullptr)
 
virtual NativeImagePtr nativeImageForCurrentFrame (const GraphicsContext *=nullptr)
 
virtual ImageOrientation orientationForCurrentFrame () const
 
virtual Vector< NativeImagePtr > framesNativeImages ()
 
virtual void drawPattern (GraphicsContext &, const FloatRect &destRect, const FloatRect &srcRect, const AffineTransform &patternTransform, const FloatPoint &phase, const FloatSize &spacing, CompositeOperator, BlendMode=BlendModeNormal)
 
virtual bool notSolidColor ()
 
virtual void dump (TextStream &) const
 
virtual ~Image ()
 
virtual bool isBitmapImage () const
 
virtual bool isGeneratedImage () const
 
virtual bool isCrossfadeGeneratedImage () const
 
virtual bool isNamedImageGeneratedImage () const
 
virtual bool isGradientImage () const
 
virtual bool isSVGImage () const
 
virtual bool isPDFDocumentImage () const
 
virtual bool currentFrameKnownToBeOpaque () const =0
 
virtual bool isAnimated () const
 
virtual bool hasSingleSecurityOrigin () const
 
bool isNull () const
 
virtual void setContainerSize (const FloatSize &)
 
virtual bool usesContainerSize () const
 
virtual bool hasRelativeWidth () const
 
virtual bool hasRelativeHeight () const
 
virtual void computeIntrinsicDimensions (Length &intrinsicWidth, Length &intrinsicHeight, FloatSize &intrinsicRatio)
 
virtual FloatSize size () const =0
 
FloatRect rect () const
 
float width () const
 
float height () const
 
virtual std::optional< IntPointhotSpot () const
 
WEBCORE_EXPORT bool setData (RefPtr< SharedBuffer > &&data, bool allDataReceived)
 
virtual bool dataChanged (bool)
 
virtual String filenameExtension () const
 
virtual void destroyDecodedData (bool destroyAll=true)=0
 
SharedBufferdata ()
 
const SharedBufferdata () const
 
virtual void startAnimation ()
 
virtual void stopAnimation ()
 
virtual void resetAnimation ()
 
virtual void newFrameNativeImageAvailableAtIndex (size_t)
 
ImageObserverimageObserver () const
 
void setImageObserver (ImageObserver *observer)
 
virtual NativeImagePtr nativeImage (const GraphicsContext *=nullptr)
 
virtual NativeImagePtr nativeImageOfSize (const IntSize &, const GraphicsContext *=nullptr)
 
virtual NativeImagePtr nativeImageForCurrentFrame (const GraphicsContext *=nullptr)
 
virtual ImageOrientation orientationForCurrentFrame () const
 
virtual Vector< NativeImagePtr > framesNativeImages ()
 
virtual void drawPattern (GraphicsContext &, const FloatRect &destRect, const FloatRect &srcRect, const AffineTransform &patternTransform, const FloatPoint &phase, const FloatSize &spacing, CompositeOperator, BlendMode=BlendModeNormal)
 
virtual bool notSolidColor ()
 
virtual void dump (TextStream &) const
 
- Public Member Functions inherited from WTF::RefCounted< Image >
void deref () const
 
void deref () const
 
void deref () const
 
- Public Member Functions inherited from WTF::RefCountedBase
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
void relaxAdoptionRequirement ()
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
void relaxAdoptionRequirement ()
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
void relaxAdoptionRequirement ()
 

Static Public Member Functions

static PassRefPtr< Imagecreate (ImageObserver *=nullptr)
 
static WEBCORE_EXPORT PassRefPtr< ImageloadPlatformResource (const char *name)
 
static WEBCORE_EXPORT bool supportsType (const String &)
 
static WEBCORE_EXPORT ImagenullImage ()
 
static PassRefPtr< Imagecreate (ImageObserver *=nullptr)
 
static WEBCORE_EXPORT PassRefPtr< ImageloadPlatformResource (const char *name)
 
static WEBCORE_EXPORT bool supportsType (const String &)
 
static WEBCORE_EXPORT ImagenullImage ()
 

Protected Member Functions

 Image (ImageObserver *=nullptr)
 
virtual void draw (GraphicsContext &, const FloatRect &dstRect, const FloatRect &srcRect, CompositeOperator, BlendMode, ImageOrientationDescription)=0
 
void drawTiled (GraphicsContext &, const FloatRect &dstRect, const FloatPoint &srcPoint, const FloatSize &tileSize, const FloatSize &spacing, CompositeOperator, BlendMode)
 
void drawTiled (GraphicsContext &, const FloatRect &dstRect, const FloatRect &srcRect, const FloatSize &tileScaleFactor, TileRule hRule, TileRule vRule, CompositeOperator)
 
virtual Color singlePixelSolidColor () const
 
 Image (ImageObserver *=nullptr)
 
virtual void draw (GraphicsContext &, const FloatRect &dstRect, const FloatRect &srcRect, CompositeOperator, BlendMode, ImageOrientationDescription)=0
 
void drawTiled (GraphicsContext &, const FloatRect &dstRect, const FloatPoint &srcPoint, const FloatSize &tileSize, const FloatSize &spacing, CompositeOperator, BlendMode)
 
void drawTiled (GraphicsContext &, const FloatRect &dstRect, const FloatRect &srcRect, const FloatSize &tileScaleFactor, TileRule hRule, TileRule vRule, CompositeOperator)
 
virtual Color singlePixelSolidColor () const
 
- Protected Member Functions inherited from WTF::RefCounted< Image >
 RefCounted ()
 
 RefCounted ()
 
 RefCounted ()
 
 ~RefCounted ()
 
 ~RefCounted ()
 
 ~RefCounted ()
 
- Protected Member Functions inherited from WTF::RefCountedBase
 RefCountedBase ()
 
 ~RefCountedBase ()
 
bool derefBase () const
 
bool deletionHasBegun () const
 
 RefCountedBase ()
 
 ~RefCountedBase ()
 
bool derefBase () const
 
bool deletionHasBegun () const
 
 RefCountedBase ()
 
 ~RefCountedBase ()
 
bool derefBase () const
 
bool deletionHasBegun () const
 

Static Protected Member Functions

static void fillWithSolidColor (GraphicsContext &, const FloatRect &dstRect, const Color &, CompositeOperator)
 
static void fillWithSolidColor (GraphicsContext &, const FloatRect &dstRect, const Color &, CompositeOperator)
 

Friends

class GraphicsContext
 

Member Enumeration Documentation

◆ TileRule [1/2]

Enumerator
StretchTile 
RoundTile 
SpaceTile 
RepeatTile 
StretchTile 
RoundTile 
SpaceTile 
RepeatTile 

◆ TileRule [2/2]

Enumerator
StretchTile 
RoundTile 
SpaceTile 
RepeatTile 
StretchTile 
RoundTile 
SpaceTile 
RepeatTile 

Constructor & Destructor Documentation

◆ ~Image() [1/2]

WebCore::Image::~Image ( )
virtual

◆ Image() [1/2]

WebCore::Image::Image ( ImageObserver observer = nullptr)
protected

◆ ~Image() [2/2]

virtual WebCore::Image::~Image ( )
virtual

◆ Image() [2/2]

WebCore::Image::Image ( ImageObserver = nullptr)
protected

Member Function Documentation

◆ computeIntrinsicDimensions() [1/2]

void WebCore::Image::computeIntrinsicDimensions ( Length intrinsicWidth,
Length intrinsicHeight,
FloatSize intrinsicRatio 
)
virtual

◆ computeIntrinsicDimensions() [2/2]

virtual void WebCore::Image::computeIntrinsicDimensions ( Length intrinsicWidth,
Length intrinsicHeight,
FloatSize intrinsicRatio 
)
virtual

◆ create() [1/2]

static PassRefPtr<Image> WebCore::Image::create ( ImageObserver = nullptr)
static

◆ create() [2/2]

static PassRefPtr<Image> WebCore::Image::create ( ImageObserver = nullptr)
static

◆ currentFrameKnownToBeOpaque() [1/2]

virtual bool WebCore::Image::currentFrameKnownToBeOpaque ( ) const
pure virtual

◆ currentFrameKnownToBeOpaque() [2/2]

virtual bool WebCore::Image::currentFrameKnownToBeOpaque ( ) const
pure virtual

◆ data() [1/4]

SharedBuffer* WebCore::Image::data ( )
inline

◆ data() [2/4]

SharedBuffer* WebCore::Image::data ( )
inline

◆ data() [3/4]

const SharedBuffer* WebCore::Image::data ( ) const
inline

◆ data() [4/4]

const SharedBuffer* WebCore::Image::data ( ) const
inline

◆ dataChanged() [1/2]

virtual bool WebCore::Image::dataChanged ( bool  )
inlinevirtual

◆ dataChanged() [2/2]

virtual bool WebCore::Image::dataChanged ( bool  )
inlinevirtual

◆ destroyDecodedData() [1/2]

virtual void WebCore::Image::destroyDecodedData ( bool  destroyAll = true)
pure virtual

◆ destroyDecodedData() [2/2]

virtual void WebCore::Image::destroyDecodedData ( bool  destroyAll = true)
pure virtual

◆ draw() [1/2]

virtual void WebCore::Image::draw ( GraphicsContext ,
const FloatRect dstRect,
const FloatRect srcRect,
CompositeOperator  ,
BlendMode  ,
ImageOrientationDescription   
)
protectedpure virtual

◆ draw() [2/2]

virtual void WebCore::Image::draw ( GraphicsContext ,
const FloatRect dstRect,
const FloatRect srcRect,
CompositeOperator  ,
BlendMode  ,
ImageOrientationDescription   
)
protectedpure virtual

◆ drawPattern() [1/2]

void WebCore::Image::drawPattern ( GraphicsContext ctxt,
const FloatRect destRect,
const FloatRect srcRect,
const AffineTransform patternTransform,
const FloatPoint phase,
const FloatSize spacing,
CompositeOperator  op,
BlendMode  blendMode = BlendModeNormal 
)
virtual

◆ drawPattern() [2/2]

virtual void WebCore::Image::drawPattern ( GraphicsContext ,
const FloatRect destRect,
const FloatRect srcRect,
const AffineTransform patternTransform,
const FloatPoint phase,
const FloatSize spacing,
CompositeOperator  ,
BlendMode  = BlendModeNormal 
)
virtual

◆ drawTiled() [1/4]

void WebCore::Image::drawTiled ( GraphicsContext ctxt,
const FloatRect dstRect,
const FloatPoint srcPoint,
const FloatSize tileSize,
const FloatSize spacing,
CompositeOperator  op,
BlendMode  blendMode 
)
protected

◆ drawTiled() [2/4]

void WebCore::Image::drawTiled ( GraphicsContext ,
const FloatRect dstRect,
const FloatPoint srcPoint,
const FloatSize tileSize,
const FloatSize spacing,
CompositeOperator  ,
BlendMode   
)
protected

◆ drawTiled() [3/4]

void WebCore::Image::drawTiled ( GraphicsContext ,
const FloatRect dstRect,
const FloatRect srcRect,
const FloatSize tileScaleFactor,
TileRule  hRule,
TileRule  vRule,
CompositeOperator   
)
protected

◆ drawTiled() [4/4]

void WebCore::Image::drawTiled ( GraphicsContext ctxt,
const FloatRect dstRect,
const FloatRect srcRect,
const FloatSize tileScaleFactor,
TileRule  hRule,
TileRule  vRule,
CompositeOperator  op 
)
protected

◆ dump() [1/2]

void WebCore::Image::dump ( TextStream ts) const
virtual

◆ dump() [2/2]

virtual void WebCore::Image::dump ( TextStream ) const
virtual

◆ filenameExtension() [1/2]

virtual String WebCore::Image::filenameExtension ( ) const
inlinevirtual

◆ filenameExtension() [2/2]

virtual String WebCore::Image::filenameExtension ( ) const
inlinevirtual

◆ fillWithSolidColor() [1/2]

void WebCore::Image::fillWithSolidColor ( GraphicsContext ctxt,
const FloatRect dstRect,
const Color color,
CompositeOperator  op 
)
staticprotected

◆ fillWithSolidColor() [2/2]

static void WebCore::Image::fillWithSolidColor ( GraphicsContext ,
const FloatRect dstRect,
const Color ,
CompositeOperator   
)
staticprotected

◆ framesNativeImages() [1/2]

virtual Vector<NativeImagePtr> WebCore::Image::framesNativeImages ( )
inlinevirtual

◆ framesNativeImages() [2/2]

virtual Vector<NativeImagePtr> WebCore::Image::framesNativeImages ( )
inlinevirtual

◆ hasRelativeHeight() [1/2]

virtual bool WebCore::Image::hasRelativeHeight ( ) const
inlinevirtual

◆ hasRelativeHeight() [2/2]

virtual bool WebCore::Image::hasRelativeHeight ( ) const
inlinevirtual

◆ hasRelativeWidth() [1/2]

virtual bool WebCore::Image::hasRelativeWidth ( ) const
inlinevirtual

◆ hasRelativeWidth() [2/2]

virtual bool WebCore::Image::hasRelativeWidth ( ) const
inlinevirtual

◆ hasSingleSecurityOrigin() [1/2]

virtual bool WebCore::Image::hasSingleSecurityOrigin ( ) const
inlinevirtual

◆ hasSingleSecurityOrigin() [2/2]

virtual bool WebCore::Image::hasSingleSecurityOrigin ( ) const
inlinevirtual

◆ height() [1/2]

float WebCore::Image::height ( ) const
inline

◆ height() [2/2]

float WebCore::Image::height ( ) const
inline

◆ hotSpot() [1/2]

virtual std::optional<IntPoint> WebCore::Image::hotSpot ( ) const
inlinevirtual

◆ hotSpot() [2/2]

virtual std::optional<IntPoint> WebCore::Image::hotSpot ( ) const
inlinevirtual

◆ imageObserver() [1/2]

ImageObserver* WebCore::Image::imageObserver ( ) const
inline

◆ imageObserver() [2/2]

ImageObserver* WebCore::Image::imageObserver ( ) const
inline

◆ isAnimated() [1/2]

virtual bool WebCore::Image::isAnimated ( ) const
inlinevirtual

◆ isAnimated() [2/2]

virtual bool WebCore::Image::isAnimated ( ) const
inlinevirtual

◆ isBitmapImage() [1/2]

virtual bool WebCore::Image::isBitmapImage ( ) const
inlinevirtual

◆ isBitmapImage() [2/2]

virtual bool WebCore::Image::isBitmapImage ( ) const
inlinevirtual

◆ isCrossfadeGeneratedImage() [1/2]

virtual bool WebCore::Image::isCrossfadeGeneratedImage ( ) const
inlinevirtual

◆ isCrossfadeGeneratedImage() [2/2]

virtual bool WebCore::Image::isCrossfadeGeneratedImage ( ) const
inlinevirtual

◆ isGeneratedImage() [1/2]

virtual bool WebCore::Image::isGeneratedImage ( ) const
inlinevirtual

◆ isGeneratedImage() [2/2]

virtual bool WebCore::Image::isGeneratedImage ( ) const
inlinevirtual

◆ isGradientImage() [1/2]

virtual bool WebCore::Image::isGradientImage ( ) const
inlinevirtual

◆ isGradientImage() [2/2]

virtual bool WebCore::Image::isGradientImage ( ) const
inlinevirtual

◆ isNamedImageGeneratedImage() [1/2]

virtual bool WebCore::Image::isNamedImageGeneratedImage ( ) const
inlinevirtual

◆ isNamedImageGeneratedImage() [2/2]

virtual bool WebCore::Image::isNamedImageGeneratedImage ( ) const
inlinevirtual

◆ isNull() [1/2]

bool WebCore::Image::isNull ( ) const
inline

◆ isNull() [2/2]

bool WebCore::Image::isNull ( ) const
inline

◆ isPDFDocumentImage() [1/2]

virtual bool WebCore::Image::isPDFDocumentImage ( ) const
inlinevirtual

◆ isPDFDocumentImage() [2/2]

virtual bool WebCore::Image::isPDFDocumentImage ( ) const
inlinevirtual

◆ isSVGImage() [1/2]

virtual bool WebCore::Image::isSVGImage ( ) const
inlinevirtual

◆ isSVGImage() [2/2]

virtual bool WebCore::Image::isSVGImage ( ) const
inlinevirtual

◆ loadPlatformResource() [1/2]

PassRefPtr< Image > WebCore::Image::loadPlatformResource ( const char *  name)
static

◆ loadPlatformResource() [2/2]

static WEBCORE_EXPORT PassRefPtr<Image> WebCore::Image::loadPlatformResource ( const char *  name)
static

◆ nativeImage() [1/2]

virtual NativeImagePtr WebCore::Image::nativeImage ( const GraphicsContext = nullptr)
inlinevirtual

◆ nativeImage() [2/2]

virtual NativeImagePtr WebCore::Image::nativeImage ( const GraphicsContext = nullptr)
inlinevirtual

◆ nativeImageForCurrentFrame() [1/2]

virtual NativeImagePtr WebCore::Image::nativeImageForCurrentFrame ( const GraphicsContext = nullptr)
inlinevirtual

◆ nativeImageForCurrentFrame() [2/2]

virtual NativeImagePtr WebCore::Image::nativeImageForCurrentFrame ( const GraphicsContext = nullptr)
inlinevirtual

◆ nativeImageOfSize() [1/2]

virtual NativeImagePtr WebCore::Image::nativeImageOfSize ( const IntSize ,
const GraphicsContext = nullptr 
)
inlinevirtual

◆ nativeImageOfSize() [2/2]

virtual NativeImagePtr WebCore::Image::nativeImageOfSize ( const IntSize ,
const GraphicsContext = nullptr 
)
inlinevirtual

◆ newFrameNativeImageAvailableAtIndex() [1/2]

virtual void WebCore::Image::newFrameNativeImageAvailableAtIndex ( size_t  )
inlinevirtual

◆ newFrameNativeImageAvailableAtIndex() [2/2]

virtual void WebCore::Image::newFrameNativeImageAvailableAtIndex ( size_t  )
inlinevirtual

◆ notSolidColor() [1/2]

virtual bool WebCore::Image::notSolidColor ( )
inlinevirtual

◆ notSolidColor() [2/2]

virtual bool WebCore::Image::notSolidColor ( )
inlinevirtual

◆ nullImage() [1/2]

static WEBCORE_EXPORT Image* WebCore::Image::nullImage ( )
static

◆ nullImage() [2/2]

Image * WebCore::Image::nullImage ( )
static

◆ orientationForCurrentFrame() [1/2]

virtual ImageOrientation WebCore::Image::orientationForCurrentFrame ( ) const
inlinevirtual

◆ orientationForCurrentFrame() [2/2]

virtual ImageOrientation WebCore::Image::orientationForCurrentFrame ( ) const
inlinevirtual

◆ rect() [1/2]

FloatRect WebCore::Image::rect ( ) const
inline

◆ rect() [2/2]

FloatRect WebCore::Image::rect ( ) const
inline

◆ resetAnimation() [1/2]

virtual void WebCore::Image::resetAnimation ( )
inlinevirtual

◆ resetAnimation() [2/2]

virtual void WebCore::Image::resetAnimation ( )
inlinevirtual

◆ setContainerSize() [1/2]

virtual void WebCore::Image::setContainerSize ( const FloatSize )
inlinevirtual

◆ setContainerSize() [2/2]

virtual void WebCore::Image::setContainerSize ( const FloatSize )
inlinevirtual

◆ setData() [1/2]

WEBCORE_EXPORT bool WebCore::Image::setData ( RefPtr< SharedBuffer > &&  data,
bool  allDataReceived 
)

◆ setData() [2/2]

bool WebCore::Image::setData ( RefPtr< SharedBuffer > &&  data,
bool  allDataReceived 
)

◆ setImageObserver() [1/2]

void WebCore::Image::setImageObserver ( ImageObserver observer)
inline

◆ setImageObserver() [2/2]

void WebCore::Image::setImageObserver ( ImageObserver observer)
inline

◆ singlePixelSolidColor() [1/2]

virtual Color WebCore::Image::singlePixelSolidColor ( ) const
inlineprotectedvirtual

◆ singlePixelSolidColor() [2/2]

virtual Color WebCore::Image::singlePixelSolidColor ( ) const
inlineprotectedvirtual

◆ size() [1/2]

virtual FloatSize WebCore::Image::size ( ) const
pure virtual

◆ size() [2/2]

virtual FloatSize WebCore::Image::size ( ) const
pure virtual

◆ startAnimation() [1/2]

virtual void WebCore::Image::startAnimation ( )
inlinevirtual

◆ startAnimation() [2/2]

virtual void WebCore::Image::startAnimation ( )
inlinevirtual

◆ stopAnimation() [1/2]

virtual void WebCore::Image::stopAnimation ( )
inlinevirtual

◆ stopAnimation() [2/2]

virtual void WebCore::Image::stopAnimation ( )
inlinevirtual

◆ supportsType() [1/2]

static WEBCORE_EXPORT bool WebCore::Image::supportsType ( const String )
static

◆ supportsType() [2/2]

bool WebCore::Image::supportsType ( const String type)
static

◆ usesContainerSize() [1/2]

virtual bool WebCore::Image::usesContainerSize ( ) const
inlinevirtual

◆ usesContainerSize() [2/2]

virtual bool WebCore::Image::usesContainerSize ( ) const
inlinevirtual

◆ width() [1/2]

float WebCore::Image::width ( ) const
inline

◆ width() [2/2]

float WebCore::Image::width ( ) const
inline

Friends And Related Function Documentation

◆ GraphicsContext


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