Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
SkBlitRow Class Reference

#include <SkBlitRow.h>

Public Types

enum  Flags32 { kGlobalAlpha_Flag32 = 1 << 0 , kSrcPixelAlpha_Flag32 = 1 << 1 }
 
typedef void(* Proc32) (uint32_t dst[], const SkPMColor src[], int count, U8CPU alpha)
 

Static Public Member Functions

static Proc32 Factory32 (unsigned flags32)
 
static void Color32 (SkPMColor dst[], int count, SkPMColor color)
 

Detailed Description

Definition at line 14 of file SkBlitRow.h.

Member Typedef Documentation

◆ Proc32

typedef void(* SkBlitRow::Proc32) (uint32_t dst[], const SkPMColor src[], int count, U8CPU alpha)

Function pointer that blends 32bit colors onto a 32bit destination.

Parameters
dstarray of dst 32bit colors
srcarray of src 32bit colors (w/ or w/o alpha)
countnumber of colors to blend
alphaglobal alpha to be applied to all src colors

Definition at line 27 of file SkBlitRow.h.

Member Enumeration Documentation

◆ Flags32

Enumerator
kGlobalAlpha_Flag32 
kSrcPixelAlpha_Flag32 

Definition at line 16 of file SkBlitRow.h.

16 {
17 kGlobalAlpha_Flag32 = 1 << 0,
19 };
@ kSrcPixelAlpha_Flag32
Definition SkBlitRow.h:18
@ kGlobalAlpha_Flag32
Definition SkBlitRow.h:17

Member Function Documentation

◆ Color32()

void SkBlitRow::Color32 ( SkPMColor  dst[],
int  count,
SkPMColor  color 
)
static

Blend a single color onto a row of S32 pixels, writing the result back to the same memory.

Definition at line 555 of file SkBlitRow_D32.cpp.

555 {
556 switch (SkGetPackedA32(color)) {
557 case 0: /* Nothing to do */ return;
558 case 255: SkOpts::memset32(dst, color, count); return;
559 }
561}
int count
SkColor4f color
#define SkGetPackedA32(packed)
Definition SkColorPriv.h:92
void(* memset32)(uint32_t[], uint32_t, int)
void(* blit_row_color32)(SkPMColor *dst, int count, SkPMColor color)

◆ Factory32()

SkBlitRow::Proc32 SkBlitRow::Factory32 ( unsigned  flags32)
static

Definition at line 540 of file SkBlitRow_D32.cpp.

540 {
541 static const SkBlitRow::Proc32 kProcs[] = {
544 nullptr, // blit_row_s32a_opaque is in SkOpts
546 };
547
548 SkASSERT(flags < std::size(kProcs));
549 flags &= std::size(kProcs) - 1; // just to be safe
550
552 : kProcs[flags];
553}
#define SkASSERT(cond)
Definition SkAssert.h:116
static void blit_row_s32_opaque(SkPMColor *dst, const SkPMColor *src, int count, U8CPU alpha)
static void blit_row_s32_blend(SkPMColor *dst, const SkPMColor *src, int count, U8CPU alpha)
static void blit_row_s32a_blend(SkPMColor *dst, const SkPMColor *src, int count, U8CPU alpha)
void(* Proc32)(uint32_t dst[], const SkPMColor src[], int count, U8CPU alpha)
Definition SkBlitRow.h:27
FlutterSemanticsFlag flags
void(* blit_row_s32a_opaque)(SkPMColor *dst, const SkPMColor *src, int count, U8CPU alpha)

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