Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
SkARGB32_Opaque_Blitter Class Reference

#include <SkCoreBlitters.h>

Inheritance diagram for SkARGB32_Opaque_Blitter:
SkARGB32_Blitter SkRasterBlitter SkBlitter SkARGB32_Black_Blitter

Public Member Functions

 SkARGB32_Opaque_Blitter (const SkPixmap &device, const SkPaint &paint)
 
void blitMask (const SkMask &, const SkIRect &) override
 
void blitAntiH2 (int x, int y, U8CPU a0, U8CPU a1) override
 
void blitAntiV2 (int x, int y, U8CPU a0, U8CPU a1) override
 
- Public Member Functions inherited from SkARGB32_Blitter
 SkARGB32_Blitter (const SkPixmap &device, const SkPaint &paint)
 
void blitH (int x, int y, int width) override
 Blit a horizontal run of one or more pixels. More...
 
void blitAntiH (int x, int y, const SkAlpha antialias[], const int16_t runs[]) override
 
void blitV (int x, int y, int height, SkAlpha alpha) override
 Blit a vertical run of pixels with a constant alpha value. More...
 
void blitRect (int x, int y, int width, int height) override
 Blit a solid rectangle one or more pixels wide. More...
 
void blitMask (const SkMask &, const SkIRect &) override
 
void blitAntiH2 (int x, int y, U8CPU a0, U8CPU a1) override
 
void blitAntiV2 (int x, int y, U8CPU a0, U8CPU a1) override
 
- Public Member Functions inherited from SkRasterBlitter
 SkRasterBlitter (const SkPixmap &device)
 
- Public Member Functions inherited from SkBlitter
virtual ~SkBlitter ()
 
virtual void blitH (int x, int y, int width)=0
 Blit a horizontal run of one or more pixels. More...
 
virtual void blitAntiH (int x, int y, const SkAlpha antialias[], const int16_t runs[])=0
 
virtual void blitV (int x, int y, int height, SkAlpha alpha)
 Blit a vertical run of pixels with a constant alpha value. More...
 
virtual void blitRect (int x, int y, int width, int height)
 Blit a solid rectangle one or more pixels wide. More...
 
virtual void blitAntiRect (int x, int y, int width, int height, SkAlpha leftAlpha, SkAlpha rightAlpha)
 
void blitFatAntiRect (const SkRect &rect)
 
virtual void blitMask (const SkMask &, const SkIRect &clip)
 
virtual void blitAntiH2 (int x, int y, U8CPU a0, U8CPU a1)
 
virtual void blitAntiV2 (int x, int y, U8CPU a0, U8CPU a1)
 
virtual bool isNullBlitter () const
 
virtual int requestRowsPreserved () const
 
virtual void * allocBlitMemory (size_t sz)
 
void blitRectRegion (const SkIRect &rect, const SkRegion &clip)
 
void blitRegion (const SkRegion &clip)
 

Additional Inherited Members

- Static Public Member Functions inherited from SkBlitter
static bool UseLegacyBlitter (const SkPixmap &, const SkPaint &, const SkMatrix &)
 
static SkBlitterChoose (const SkPixmap &dst, const SkMatrix &ctm, const SkPaint &paint, SkArenaAlloc *, bool drawCoverage, sk_sp< SkShader > clipShader, const SkSurfaceProps &props)
 
static SkBlitterChooseSprite (const SkPixmap &dst, const SkPaint &, const SkPixmap &src, int left, int top, SkArenaAlloc *, sk_sp< SkShader > clipShader)
 
- Protected Attributes inherited from SkARGB32_Blitter
SkColor fColor
 
SkPMColor fPMColor
 
- Protected Attributes inherited from SkRasterBlitter
const SkPixmap fDevice
 
- Protected Attributes inherited from SkBlitter
SkAutoMalloc fBlitMemory
 

Detailed Description

Definition at line 90 of file SkCoreBlitters.h.

Constructor & Destructor Documentation

◆ SkARGB32_Opaque_Blitter()

SkARGB32_Opaque_Blitter::SkARGB32_Opaque_Blitter ( const SkPixmap device,
const SkPaint paint 
)
inline

Definition at line 92 of file SkCoreBlitters.h.

93 : INHERITED(device, paint) { SkASSERT(paint.getAlpha() == 0xFF); }
#define SkASSERT(cond)
Definition: SkAssert.h:116
const Paint & paint
Definition: color_source.cc:38
VkDevice device
Definition: main.cc:53

Member Function Documentation

◆ blitAntiH2()

void SkARGB32_Opaque_Blitter::blitAntiH2 ( int  x,
int  y,
U8CPU  a0,
U8CPU  a1 
)
overridevirtual

Reimplemented from SkARGB32_Blitter.

Reimplemented in SkARGB32_Black_Blitter.

Definition at line 1603 of file SkBlitter_ARGB32.cpp.

1603 {
1604 uint32_t* device = fDevice.writable_addr32(x, y);
1605 SkDEBUGCODE((void)fDevice.writable_addr32(x + 1, y);)
1606
1609}
static SkPMColor SkFastFourByteInterp(SkPMColor src, SkPMColor dst, U8CPU srcWeight)
Definition: SkColorData.h:260
SkDEBUGCODE(SK_SPI) SkThreadID SkGetThreadID()
SkPMColor fPMColor
uint32_t * writable_addr32(int x, int y) const
Definition: SkPixmap.h:537
const SkPixmap fDevice
double y
double x

◆ blitAntiV2()

void SkARGB32_Opaque_Blitter::blitAntiV2 ( int  x,
int  y,
U8CPU  a0,
U8CPU  a1 
)
overridevirtual

Reimplemented from SkARGB32_Blitter.

Reimplemented in SkARGB32_Black_Blitter.

Definition at line 1611 of file SkBlitter_ARGB32.cpp.

1611 {
1612 uint32_t* device = fDevice.writable_addr32(x, y);
1613 SkDEBUGCODE((void)fDevice.writable_addr32(x, y + 1);)
1614
1616 device = (uint32_t*)((char*)device + fDevice.rowBytes());
1618}

◆ blitMask()

void SkARGB32_Opaque_Blitter::blitMask ( const SkMask mask,
const SkIRect clip 
)
overridevirtual

Blit a pattern of pixels defined by a rectangle-clipped mask; typically used for text.

Reimplemented from SkARGB32_Blitter.

Definition at line 1583 of file SkBlitter_ARGB32.cpp.

1584 {
1586
1587 if (blit_color(fDevice, mask, clip, fColor)) {
1588 return;
1589 }
1590
1591 switch (mask.fFormat) {
1592 case SkMask::kBW_Format:
1593 SkARGB32_BlitBW(fDevice, mask, clip, fPMColor);
1594 break;
1597 break;
1598 default:
1599 SK_ABORT("Mask format not handled.");
1600 }
1601}
#define SK_ABORT(message,...)
Definition: SkAssert.h:70
static void SkARGB32_Blit32(const SkPixmap &device, const SkMask &mask, const SkIRect &clip, SkPMColor srcColor)
static bool blit_color(const SkPixmap &device, const SkMask &mask, const SkIRect &clip, SkColor color)
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
Definition: SkPath.cpp:3892
bool contains(int32_t x, int32_t y) const
Definition: SkRect.h:463
@ kARGB32_Format
SkPMColor.
Definition: SkMask.h:30
@ kBW_Format
1bit per pixel mask (e.g. monochrome)
Definition: SkMask.h:27
const SkIRect fBounds
Definition: SkMask.h:42
const Format fFormat
Definition: SkMask.h:44

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