Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions
SkLinearGradient.cpp File Reference
#include "src/shaders/gradients/SkLinearGradient.h"
#include "include/core/SkColor.h"
#include "include/core/SkColorSpace.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkScalar.h"
#include "include/core/SkShader.h"
#include "include/effects/SkGradientShader.h"
#include "include/private/base/SkFloatingPoint.h"
#include "include/private/base/SkTArray.h"
#include "src/core/SkReadBuffer.h"
#include "src/core/SkWriteBuffer.h"
#include "src/shaders/SkLocalMatrixShader.h"
#include "src/shaders/SkShaderBase.h"
#include <cstdint>
#include <utility>

Go to the source code of this file.

Functions

static SkMatrix pts_to_unit_matrix (const SkPoint pts[2])
 
void SkRegisterLinearGradientShaderFlattenable ()
 

Function Documentation

◆ pts_to_unit_matrix()

static SkMatrix pts_to_unit_matrix ( const SkPoint  pts[2])
static

Definition at line 31 of file SkLinearGradient.cpp.

31 {
32 SkVector vec = pts[1] - pts[0];
33 SkScalar mag = vec.length();
34 SkScalar inv = mag ? SkScalarInvert(mag) : 0;
35
36 vec.scale(inv);
38 matrix.setSinCos(-vec.fY, vec.fX, pts[0].fX, pts[0].fY);
39 matrix.postTranslate(-pts[0].fX, -pts[0].fY);
40 matrix.postScale(inv, inv);
41 return matrix;
42}
static SkM44 inv(const SkM44 &m)
Definition 3d.cpp:26
#define SkScalarInvert(x)
Definition SkScalar.h:73
float SkScalar
Definition extension.cpp:12
unsigned useCenter Optional< SkMatrix > matrix
Definition SkRecords.h:258
float fX
x-axis value
float length() const
void scale(float scale, SkPoint *dst) const
Definition SkPoint.cpp:17
float fY
y-axis value

◆ SkRegisterLinearGradientShaderFlattenable()

void SkRegisterLinearGradientShaderFlattenable ( )

Definition at line 143 of file SkLinearGradient.cpp.

143 {
145}
#define SK_REGISTER_FLATTENABLE(type)