Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Enumerations | Functions | Variables
AlternatingColorPatternBench.cpp File Reference
#include "bench/Benchmark.h"
#include "include/core/SkBitmap.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkPaint.h"
#include "include/core/SkPath.h"
#include "include/core/SkString.h"
#include "include/effects/SkGradientShader.h"

Go to the source code of this file.

Classes

struct  ColorPatternData
 
class  AlternatingColorPatternBench
 

Enumerations

enum  ColorPattern { kWhite_ColorPattern }
 
enum  DrawType
 

Functions

static void makebm (SkBitmap *bm, int w, int h)
 
 DEF_BENCH (return new AlternatingColorPatternBench(kWhite_ColorPattern, kWhite_ColorPattern, kPath_DrawType);) DEF_BENCH(return new AlternatingColorPatternBench(kBlue_ColorPattern
 
 DEF_BENCH (return new AlternatingColorPatternBench(kWhite_ColorPattern, kBlue_ColorPattern, kPath_DrawType);) DEF_BENCH(return new AlternatingColorPatternBench(kOpaqueBitmap_ColorPattern
 
 DEF_BENCH (return new AlternatingColorPatternBench(kAlphaBitmap_ColorPattern, kAlphaBitmap_ColorPattern, kPath_DrawType);) DEF_BENCH(return new AlternatingColorPatternBench(kOpaqueBitmap_ColorPattern
 
 DEF_BENCH (return new AlternatingColorPatternBench(kOpaqueBitmap_ColorPattern, kOpaqueBitmap_ColorPattern, kRect_DrawType);) DEF_BENCH(return new AlternatingColorPatternBench(kAlphaBitmap_ColorPattern
 

Variables

static const struct ColorPatternData gColorPatterns []
 
 kBlue_ColorPattern
 
 kPath_DrawType
 
 kOpaqueBitmap_ColorPattern
 
 kAlphaBitmap_ColorPattern
 
 kRect_DrawType
 

Enumeration Type Documentation

◆ ColorPattern

◆ DrawType

enum DrawType

Function Documentation

◆ DEF_BENCH() [1/4]

◆ DEF_BENCH() [2/4]

◆ DEF_BENCH() [3/4]

◆ DEF_BENCH() [4/4]

◆ makebm()

static void makebm ( SkBitmap bm,
int  w,
int  h 
)
static

Definition at line 40 of file AlternatingColorPatternBench.cpp.

40 {
41 bm->allocN32Pixels(w, h);
43
44 SkCanvas canvas(*bm);
45 SkScalar s = SkIntToScalar(std::min(w, h));
46 static const SkPoint kPts0[] = { { 0, 0 }, { s, s } };
47 static const SkPoint kPts1[] = { { s/2, 0 }, { s/2, s } };
48 static const SkScalar kPos[] = { 0, SK_Scalar1/2, SK_Scalar1 };
49 static const SkColor kColors0[] = {0x80F00080, 0xF0F08000, 0x800080F0 };
50 static const SkColor kColors1[] = {0xF08000F0, 0x8080F000, 0xF000F080 };
51
52
54
55 paint.setShader(SkGradientShader::MakeLinear(kPts0, kColors0, kPos, std::size(kColors0),
57 canvas.drawPaint(paint);
58 paint.setShader(SkGradientShader::MakeLinear(kPts1, kColors1, kPos, std::size(kColors1),
60 canvas.drawPaint(paint);
61}
uint32_t SkColor
Definition SkColor.h:37
constexpr SkColor SK_ColorTRANSPARENT
Definition SkColor.h:99
#define SK_Scalar1
Definition SkScalar.h:18
#define SkIntToScalar(x)
Definition SkScalar.h:57
void allocN32Pixels(int width, int height, bool isOpaque=false)
Definition SkBitmap.cpp:232
void eraseColor(SkColor4f) const
Definition SkBitmap.cpp:442
static sk_sp< SkShader > MakeLinear(const SkPoint pts[2], const SkColor colors[], const SkScalar pos[], int count, SkTileMode mode, uint32_t flags=0, const SkMatrix *localMatrix=nullptr)
const Paint & paint
float SkScalar
Definition extension.cpp:12
struct MyStruct s
SkScalar w
SkScalar h

Variable Documentation

◆ gColorPatterns

const struct ColorPatternData gColorPatterns[]
static
Initial value:
= {
{ SK_ColorWHITE, false, "white" },
{ SK_ColorBLUE, false, "blue" },
{ SK_ColorWHITE, true, "obaqueBitMap" },
{ 0x10000000, true, "alphaBitmap" },
}
constexpr SkColor SK_ColorBLUE
Definition SkColor.h:135
constexpr SkColor SK_ColorWHITE
Definition SkColor.h:122

◆ kAlphaBitmap_ColorPattern

kAlphaBitmap_ColorPattern

Definition at line 183 of file AlternatingColorPatternBench.cpp.

◆ kBlue_ColorPattern

kBlue_ColorPattern

Definition at line 170 of file AlternatingColorPatternBench.cpp.

◆ kOpaqueBitmap_ColorPattern

kOpaqueBitmap_ColorPattern

Definition at line 177 of file AlternatingColorPatternBench.cpp.

◆ kPath_DrawType

kPath_DrawType

Definition at line 171 of file AlternatingColorPatternBench.cpp.

◆ kRect_DrawType

kRect_DrawType

Definition at line 191 of file AlternatingColorPatternBench.cpp.