Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions
SkMatrixColorFilter.cpp File Reference
#include "src/effects/colorfilters/SkMatrixColorFilter.h"
#include "include/core/SkColorFilter.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkScalar.h"
#include "include/effects/SkColorMatrix.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkFloatingPoint.h"
#include "src/core/SkEffectPriv.h"
#include "src/core/SkRasterPipeline.h"
#include "src/core/SkRasterPipelineOpList.h"
#include "src/core/SkReadBuffer.h"
#include "src/core/SkWriteBuffer.h"
#include "src/effects/colorfilters/SkColorFilterBase.h"
#include <array>
#include <cstring>

Go to the source code of this file.

Functions

static bool is_alpha_unchanged (const float matrix[20])
 
static sk_sp< SkColorFilterMakeMatrix (const float array[20], SkMatrixColorFilter::Domain domain)
 
void SkRegisterMatrixColorFilterFlattenable ()
 

Function Documentation

◆ is_alpha_unchanged()

static bool is_alpha_unchanged ( const float  matrix[20])
static

Definition at line 26 of file SkMatrixColorFilter.cpp.

26 {
27 const float* srcA = matrix + 15;
28
29 return SkScalarNearlyZero(srcA[0]) && SkScalarNearlyZero(srcA[1]) &&
30 SkScalarNearlyZero(srcA[2]) && SkScalarNearlyEqual(srcA[3], 1) &&
31 SkScalarNearlyZero(srcA[4]);
32}
static bool SkScalarNearlyZero(SkScalar x, SkScalar tolerance=SK_ScalarNearlyZero)
Definition SkScalar.h:101
static bool SkScalarNearlyEqual(SkScalar x, SkScalar y, SkScalar tolerance=SK_ScalarNearlyZero)
Definition SkScalar.h:107
unsigned useCenter Optional< SkMatrix > matrix
Definition SkRecords.h:258

◆ MakeMatrix()

static sk_sp< SkColorFilter > MakeMatrix ( const float  array[20],
SkMatrixColorFilter::Domain  domain 
)
static

Definition at line 92 of file SkMatrixColorFilter.cpp.

92 {
93 if (!SkIsFinite(array, 20)) {
94 return nullptr;
95 }
96 return sk_make_sp<SkMatrixColorFilter>(array, domain);
97}
static bool SkIsFinite(T x, Pack... values)

◆ SkRegisterMatrixColorFilterFlattenable()

void SkRegisterMatrixColorFilterFlattenable ( )

Definition at line 115 of file SkMatrixColorFilter.cpp.

115 {
117 // Previous name
118 SkFlattenable::Register("SkColorFilter_Matrix", SkMatrixColorFilter::CreateProc);
119}
#define SK_REGISTER_FLATTENABLE(type)
static void Register(const char name[], Factory)