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

#include <ImageBuffer.h>

Public Types

enum  CoordinateSystem { LogicalCoordinateSystem, BackingStoreCoordinateSystem, LogicalCoordinateSystem, BackingStoreCoordinateSystem }
 
enum  CoordinateSystem { LogicalCoordinateSystem, BackingStoreCoordinateSystem, LogicalCoordinateSystem, BackingStoreCoordinateSystem }
 

Public Member Functions

bool isCompatibleWithContext (const GraphicsContext &) const
 
WEBCORE_EXPORT ~ImageBuffer ()
 
const IntSizeinternalSize () const
 
const IntSizelogicalSize () const
 
FloatSize sizeForDestinationSize (FloatSize) const
 
float resolutionScale () const
 
WEBCORE_EXPORT GraphicsContextcontext () const
 
WEBCORE_EXPORT RefPtr< ImagecopyImage (BackingStoreCopy=CopyBackingStore, ScaleBehavior=Scaled) const
 
RefPtr< Uint8ClampedArraygetUnmultipliedImageData (const IntRect &, CoordinateSystem=LogicalCoordinateSystem) const
 
RefPtr< Uint8ClampedArraygetPremultipliedImageData (const IntRect &, CoordinateSystem=LogicalCoordinateSystem) const
 
void putByteArray (Multiply multiplied, Uint8ClampedArray *, const IntSize &sourceSize, const IntRect &sourceRect, const IntPoint &destPoint, CoordinateSystem=LogicalCoordinateSystem)
 
void convertToLuminanceMask ()
 
String toDataURL (const String &mimeType, std::optional< double > quality=std::nullopt, CoordinateSystem=LogicalCoordinateSystem) const
 
Vector< uint8_ttoData (const String &mimeType, std::optional< double > quality=std::nullopt) const
 
AffineTransform baseTransform () const
 
void transformColorSpace (ColorSpace srcColorSpace, ColorSpace dstColorSpace)
 
void platformTransformColorSpace (const Vector< int > &)
 
PlatformLayerplatformLayer () const
 
size_t memoryCost () const
 
size_t externalMemoryCost () const
 
bool copyToPlatformTexture (GraphicsContext3D &, GC3Denum, Platform3DObject, GC3Denum, bool, bool)
 
bool isCompatibleWithContext (const GraphicsContext &) const
 
WEBCORE_EXPORT ~ImageBuffer ()
 
const IntSizeinternalSize () const
 
const IntSizelogicalSize () const
 
FloatSize sizeForDestinationSize (FloatSize) const
 
float resolutionScale () const
 
WEBCORE_EXPORT GraphicsContextcontext () const
 
WEBCORE_EXPORT RefPtr< ImagecopyImage (BackingStoreCopy=CopyBackingStore, ScaleBehavior=Scaled) const
 
RefPtr< Uint8ClampedArraygetUnmultipliedImageData (const IntRect &, CoordinateSystem=LogicalCoordinateSystem) const
 
RefPtr< Uint8ClampedArraygetPremultipliedImageData (const IntRect &, CoordinateSystem=LogicalCoordinateSystem) const
 
void putByteArray (Multiply multiplied, Uint8ClampedArray *, const IntSize &sourceSize, const IntRect &sourceRect, const IntPoint &destPoint, CoordinateSystem=LogicalCoordinateSystem)
 
void convertToLuminanceMask ()
 
String toDataURL (const String &mimeType, std::optional< double > quality=std::nullopt, CoordinateSystem=LogicalCoordinateSystem) const
 
Vector< uint8_ttoData (const String &mimeType, std::optional< double > quality=std::nullopt) const
 
AffineTransform baseTransform () const
 
void transformColorSpace (ColorSpace srcColorSpace, ColorSpace dstColorSpace)
 
void platformTransformColorSpace (const Vector< int > &)
 
PlatformLayerplatformLayer () const
 
size_t memoryCost () const
 
size_t externalMemoryCost () const
 
bool copyToPlatformTexture (GraphicsContext3D &, GC3Denum, Platform3DObject, GC3Denum, bool, bool)
 

Static Public Member Functions

static WEBCORE_EXPORT std::unique_ptr< ImageBuffercreate (const FloatSize &, RenderingMode, float resolutionScale=1, ColorSpace=ColorSpaceSRGB)
 
static std::unique_ptr< ImageBuffercreateCompatibleBuffer (const FloatSize &, const GraphicsContext &)
 
static std::unique_ptr< ImageBuffercreateCompatibleBuffer (const FloatSize &, ColorSpace, const GraphicsContext &)
 
static std::unique_ptr< ImageBuffercreateCompatibleBuffer (const FloatSize &, float resolutionScale, ColorSpace, const GraphicsContext &)
 
static IntSize compatibleBufferSize (const FloatSize &, const GraphicsContext &)
 
static WEBCORE_EXPORT RefPtr< ImagesinkIntoImage (std::unique_ptr< ImageBuffer >, ScaleBehavior=Scaled)
 
static BackingStoreCopy fastCopyImageMode ()
 
static bool sizeNeedsClamping (const FloatSize &)
 
static bool sizeNeedsClamping (const FloatSize &, FloatSize &scale)
 
static FloatSize clampedSize (const FloatSize &)
 
static FloatSize clampedSize (const FloatSize &, FloatSize &scale)
 
static FloatRect clampedRect (const FloatRect &)
 
static WEBCORE_EXPORT std::unique_ptr< ImageBuffercreate (const FloatSize &, RenderingMode, float resolutionScale=1, ColorSpace=ColorSpaceSRGB)
 
static std::unique_ptr< ImageBuffercreateCompatibleBuffer (const FloatSize &, const GraphicsContext &)
 
static std::unique_ptr< ImageBuffercreateCompatibleBuffer (const FloatSize &, ColorSpace, const GraphicsContext &)
 
static std::unique_ptr< ImageBuffercreateCompatibleBuffer (const FloatSize &, float resolutionScale, ColorSpace, const GraphicsContext &)
 
static IntSize compatibleBufferSize (const FloatSize &, const GraphicsContext &)
 
static WEBCORE_EXPORT RefPtr< ImagesinkIntoImage (std::unique_ptr< ImageBuffer >, ScaleBehavior=Scaled)
 
static BackingStoreCopy fastCopyImageMode ()
 
static bool sizeNeedsClamping (const FloatSize &)
 
static bool sizeNeedsClamping (const FloatSize &, FloatSize &scale)
 
static FloatSize clampedSize (const FloatSize &)
 
static FloatSize clampedSize (const FloatSize &, FloatSize &scale)
 
static FloatRect clampedRect (const FloatRect &)
 

Friends

class IOSurface
 
class GraphicsContext
 
class GeneratedImage
 
class CrossfadeGeneratedImage
 
class NamedImageGeneratedImage
 
class GradientImage
 

Member Enumeration Documentation

◆ CoordinateSystem [1/2]

Enumerator
LogicalCoordinateSystem 
BackingStoreCoordinateSystem 
LogicalCoordinateSystem 
BackingStoreCoordinateSystem 

◆ CoordinateSystem [2/2]

Enumerator
LogicalCoordinateSystem 
BackingStoreCoordinateSystem 
LogicalCoordinateSystem 
BackingStoreCoordinateSystem 

Constructor & Destructor Documentation

◆ ~ImageBuffer() [1/2]

WEBCORE_EXPORT WebCore::ImageBuffer::~ImageBuffer ( )

◆ ~ImageBuffer() [2/2]

WEBCORE_EXPORT WebCore::ImageBuffer::~ImageBuffer ( )

Member Function Documentation

◆ baseTransform() [1/2]

AffineTransform WebCore::ImageBuffer::baseTransform ( ) const
inline

◆ baseTransform() [2/2]

AffineTransform WebCore::ImageBuffer::baseTransform ( ) const
inline

◆ clampedRect() [1/2]

FloatRect WebCore::ImageBuffer::clampedRect ( const FloatRect rect)
static

◆ clampedRect() [2/2]

static FloatRect WebCore::ImageBuffer::clampedRect ( const FloatRect )
static

◆ clampedSize() [1/4]

FloatSize WebCore::ImageBuffer::clampedSize ( const FloatSize size)
static

◆ clampedSize() [2/4]

static FloatSize WebCore::ImageBuffer::clampedSize ( const FloatSize )
static

◆ clampedSize() [3/4]

FloatSize WebCore::ImageBuffer::clampedSize ( const FloatSize size,
FloatSize scale 
)
static

◆ clampedSize() [4/4]

static FloatSize WebCore::ImageBuffer::clampedSize ( const FloatSize ,
FloatSize scale 
)
static

◆ compatibleBufferSize() [1/2]

IntSize WebCore::ImageBuffer::compatibleBufferSize ( const FloatSize size,
const GraphicsContext context 
)
static

◆ compatibleBufferSize() [2/2]

static IntSize WebCore::ImageBuffer::compatibleBufferSize ( const FloatSize ,
const GraphicsContext  
)
static

◆ context() [1/2]

WEBCORE_EXPORT GraphicsContext& WebCore::ImageBuffer::context ( ) const

◆ context() [2/2]

WEBCORE_EXPORT GraphicsContext& WebCore::ImageBuffer::context ( ) const

◆ convertToLuminanceMask() [1/2]

void WebCore::ImageBuffer::convertToLuminanceMask ( )

◆ convertToLuminanceMask() [2/2]

void WebCore::ImageBuffer::convertToLuminanceMask ( )

◆ copyImage() [1/2]

WEBCORE_EXPORT RefPtr<Image> WebCore::ImageBuffer::copyImage ( BackingStoreCopy  = CopyBackingStore,
ScaleBehavior  = Scaled 
) const

◆ copyImage() [2/2]

WEBCORE_EXPORT RefPtr<Image> WebCore::ImageBuffer::copyImage ( BackingStoreCopy  = CopyBackingStore,
ScaleBehavior  = Scaled 
) const

◆ copyToPlatformTexture() [1/2]

bool WebCore::ImageBuffer::copyToPlatformTexture ( GraphicsContext3D ,
GC3Denum  ,
Platform3DObject  ,
GC3Denum  ,
bool  ,
bool   
)

◆ copyToPlatformTexture() [2/2]

bool WebCore::ImageBuffer::copyToPlatformTexture ( GraphicsContext3D ,
GC3Denum  ,
Platform3DObject  ,
GC3Denum  ,
bool  ,
bool   
)

◆ create() [1/2]

static WEBCORE_EXPORT std::unique_ptr<ImageBuffer> WebCore::ImageBuffer::create ( const FloatSize ,
RenderingMode  ,
float  resolutionScale = 1,
ColorSpace  = ColorSpaceSRGB 
)
static

◆ create() [2/2]

std::unique_ptr< ImageBuffer > WebCore::ImageBuffer::create ( const FloatSize size,
RenderingMode  renderingMode,
float  resolutionScale = 1,
ColorSpace  colorSpace = ColorSpaceSRGB 
)
static

◆ createCompatibleBuffer() [1/6]

static std::unique_ptr<ImageBuffer> WebCore::ImageBuffer::createCompatibleBuffer ( const FloatSize ,
const GraphicsContext  
)
static

◆ createCompatibleBuffer() [2/6]

static std::unique_ptr<ImageBuffer> WebCore::ImageBuffer::createCompatibleBuffer ( const FloatSize ,
const GraphicsContext  
)
static

◆ createCompatibleBuffer() [3/6]

static std::unique_ptr<ImageBuffer> WebCore::ImageBuffer::createCompatibleBuffer ( const FloatSize ,
ColorSpace  ,
const GraphicsContext  
)
static

◆ createCompatibleBuffer() [4/6]

std::unique_ptr< ImageBuffer > WebCore::ImageBuffer::createCompatibleBuffer ( const FloatSize size,
ColorSpace  colorSpace,
const GraphicsContext context 
)
static

◆ createCompatibleBuffer() [5/6]

std::unique_ptr< ImageBuffer > WebCore::ImageBuffer::createCompatibleBuffer ( const FloatSize size,
float  resolutionScale,
ColorSpace  colorSpace,
const GraphicsContext context 
)
static

◆ createCompatibleBuffer() [6/6]

static std::unique_ptr<ImageBuffer> WebCore::ImageBuffer::createCompatibleBuffer ( const FloatSize ,
float  resolutionScale,
ColorSpace  ,
const GraphicsContext  
)
static

◆ externalMemoryCost() [1/2]

size_t WebCore::ImageBuffer::externalMemoryCost ( ) const

◆ externalMemoryCost() [2/2]

size_t WebCore::ImageBuffer::externalMemoryCost ( ) const

◆ fastCopyImageMode() [1/2]

static BackingStoreCopy WebCore::ImageBuffer::fastCopyImageMode ( )
static

◆ fastCopyImageMode() [2/2]

static BackingStoreCopy WebCore::ImageBuffer::fastCopyImageMode ( )
static

◆ getPremultipliedImageData() [1/2]

RefPtr<Uint8ClampedArray> WebCore::ImageBuffer::getPremultipliedImageData ( const IntRect ,
CoordinateSystem  = LogicalCoordinateSystem 
) const

◆ getPremultipliedImageData() [2/2]

RefPtr<Uint8ClampedArray> WebCore::ImageBuffer::getPremultipliedImageData ( const IntRect ,
CoordinateSystem  = LogicalCoordinateSystem 
) const

◆ getUnmultipliedImageData() [1/2]

RefPtr<Uint8ClampedArray> WebCore::ImageBuffer::getUnmultipliedImageData ( const IntRect ,
CoordinateSystem  = LogicalCoordinateSystem 
) const

◆ getUnmultipliedImageData() [2/2]

RefPtr<Uint8ClampedArray> WebCore::ImageBuffer::getUnmultipliedImageData ( const IntRect ,
CoordinateSystem  = LogicalCoordinateSystem 
) const

◆ internalSize() [1/2]

const IntSize& WebCore::ImageBuffer::internalSize ( ) const
inline

◆ internalSize() [2/2]

const IntSize& WebCore::ImageBuffer::internalSize ( ) const
inline

◆ isCompatibleWithContext() [1/2]

bool WebCore::ImageBuffer::isCompatibleWithContext ( const GraphicsContext ) const

◆ isCompatibleWithContext() [2/2]

bool WebCore::ImageBuffer::isCompatibleWithContext ( const GraphicsContext context) const

◆ logicalSize() [1/2]

const IntSize& WebCore::ImageBuffer::logicalSize ( ) const
inline

◆ logicalSize() [2/2]

const IntSize& WebCore::ImageBuffer::logicalSize ( ) const
inline

◆ memoryCost() [1/2]

size_t WebCore::ImageBuffer::memoryCost ( ) const

◆ memoryCost() [2/2]

size_t WebCore::ImageBuffer::memoryCost ( ) const

◆ platformLayer() [1/2]

PlatformLayer* WebCore::ImageBuffer::platformLayer ( ) const

◆ platformLayer() [2/2]

PlatformLayer * WebCore::ImageBuffer::platformLayer ( ) const

◆ platformTransformColorSpace() [1/2]

void WebCore::ImageBuffer::platformTransformColorSpace ( const Vector< int > &  )

◆ platformTransformColorSpace() [2/2]

void WebCore::ImageBuffer::platformTransformColorSpace ( const Vector< int > &  )

◆ putByteArray() [1/2]

void WebCore::ImageBuffer::putByteArray ( Multiply  multiplied,
Uint8ClampedArray ,
const IntSize sourceSize,
const IntRect sourceRect,
const IntPoint destPoint,
CoordinateSystem  = LogicalCoordinateSystem 
)

◆ putByteArray() [2/2]

void WebCore::ImageBuffer::putByteArray ( Multiply  multiplied,
Uint8ClampedArray ,
const IntSize sourceSize,
const IntRect sourceRect,
const IntPoint destPoint,
CoordinateSystem  = LogicalCoordinateSystem 
)

◆ resolutionScale() [1/2]

float WebCore::ImageBuffer::resolutionScale ( ) const
inline

◆ resolutionScale() [2/2]

float WebCore::ImageBuffer::resolutionScale ( ) const
inline

◆ sinkIntoImage() [1/2]

static WEBCORE_EXPORT RefPtr<Image> WebCore::ImageBuffer::sinkIntoImage ( std::unique_ptr< ImageBuffer ,
ScaleBehavior  = Scaled 
)
static

◆ sinkIntoImage() [2/2]

static WEBCORE_EXPORT RefPtr<Image> WebCore::ImageBuffer::sinkIntoImage ( std::unique_ptr< ImageBuffer ,
ScaleBehavior  = Scaled 
)
static

◆ sizeForDestinationSize() [1/2]

FloatSize WebCore::ImageBuffer::sizeForDestinationSize ( FloatSize  size) const

◆ sizeForDestinationSize() [2/2]

FloatSize WebCore::ImageBuffer::sizeForDestinationSize ( FloatSize  ) const

◆ sizeNeedsClamping() [1/4]

bool WebCore::ImageBuffer::sizeNeedsClamping ( const FloatSize size)
static

◆ sizeNeedsClamping() [2/4]

static bool WebCore::ImageBuffer::sizeNeedsClamping ( const FloatSize )
static

◆ sizeNeedsClamping() [3/4]

static bool WebCore::ImageBuffer::sizeNeedsClamping ( const FloatSize ,
FloatSize scale 
)
static

◆ sizeNeedsClamping() [4/4]

bool WebCore::ImageBuffer::sizeNeedsClamping ( const FloatSize size,
FloatSize scale 
)
static

◆ toData() [1/2]

Vector<uint8_t> WebCore::ImageBuffer::toData ( const String mimeType,
std::optional< double >  quality = std::nullopt 
) const

◆ toData() [2/2]

Vector< uint8_t > WebCore::ImageBuffer::toData ( const String mimeType,
std::optional< double >  quality = std::nullopt 
) const

◆ toDataURL() [1/2]

String WebCore::ImageBuffer::toDataURL ( const String mimeType,
std::optional< double >  quality = std::nullopt,
CoordinateSystem  = LogicalCoordinateSystem 
) const

◆ toDataURL() [2/2]

String WebCore::ImageBuffer::toDataURL ( const String mimeType,
std::optional< double >  quality = std::nullopt,
CoordinateSystem  = LogicalCoordinateSystem 
) const

◆ transformColorSpace() [1/2]

void WebCore::ImageBuffer::transformColorSpace ( ColorSpace  srcColorSpace,
ColorSpace  dstColorSpace 
)

◆ transformColorSpace() [2/2]

void WebCore::ImageBuffer::transformColorSpace ( ColorSpace  srcColorSpace,
ColorSpace  dstColorSpace 
)

Friends And Related Function Documentation

◆ CrossfadeGeneratedImage

◆ GeneratedImage

◆ GradientImage

GradientImage
friend

◆ GraphicsContext

◆ IOSurface

IOSurface
friend

◆ NamedImageGeneratedImage


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