5#ifndef FLUTTER_DISPLAY_LIST_TESTING_DL_TEST_SNIPPETS_H_
6#define FLUTTER_DISPLAY_LIST_TESTING_DL_TEST_SNIPPETS_H_
16#include "third_party/skia/include/core/SkPath.h"
17#include "third_party/skia/include/core/SkRRect.h"
18#include "third_party/skia/include/core/SkSurface.h"
19#include "third_party/skia/include/effects/SkGradientShader.h"
20#include "third_party/skia/include/effects/SkImageFilters.h"
21#include "third_party/skia/include/effects/SkRuntimeEffect.h"
60 1.0, 1.0, 1.0, 1.0, 0,
70#define TestPointCount sizeof(kTestPoints) / (sizeof(kTestPoints[0]))
188 DlPath(SkPath::Polygon({{0, 0}, {10, 10}, {10, 0}, {0, 10}},
true));
190 DlPath(SkPath::Polygon({{0, 0}, {10, 10}, {0, 10}, {10, 0}},
true));
192 DlPath(SkPath::Polygon({{0, 0}, {10, 10}, {10, 0}, {0, 10}},
false));
210 return builder.
Build();
219 SkRuntimeEffect::MakeForShader(
220 SkString(
"vec4 main(vec2 p) { return vec4(0); }"))
224 SkRuntimeEffect::MakeForShader(
225 SkString(
"vec4 main(vec2 p) { return vec4(1); }"))
233#if IMPELLER_SUPPORTS_RENDERING
234std::shared_ptr<impeller::TextFrame> GetTestTextFrame(
int index);
sk_sp< DisplayList > Build()
void DrawRect(const DlRect &rect, const DlPaint &paint) override
static std::shared_ptr< const DlColorFilter > MakeBlend(DlColor color, DlBlendMode mode)
static std::shared_ptr< const DlColorFilter > MakeMatrix(const float matrix[20])
static std::shared_ptr< DlColorSource > MakeSweep(DlPoint center, DlScalar start, DlScalar end, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
static std::shared_ptr< DlColorSource > MakeImage(const sk_sp< const DlImage > &image, DlTileMode horizontal_tile_mode, DlTileMode vertical_tile_mode, DlImageSampling sampling=DlImageSampling::kLinear, const DlMatrix *matrix=nullptr)
static std::shared_ptr< DlColorSource > MakeLinear(const DlPoint start_point, const DlPoint end_point, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
static std::shared_ptr< DlColorSource > MakeConical(DlPoint start_center, DlScalar start_radius, DlPoint end_center, DlScalar end_radius, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
static std::shared_ptr< DlColorSource > MakeRadial(DlPoint center, DlScalar radius, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
Internal API for rendering recorded display lists to backends.
static DlPath MakeRoundRect(const DlRoundRect &rrect)
static DlPath MakeRect(const DlRect &rect)
static DlPath MakeOval(const DlRect &bounds)
static sk_sp< DlRuntimeEffect > Make(const sk_sp< SkRuntimeEffect > &runtime_effect)
static std::shared_ptr< DlVertices > Make(DlVertexMode mode, int vertex_count, const DlPoint vertices[], const DlPoint texture_coordinates[], const DlColor colors[], int index_count=0, const uint16_t indices[]=nullptr, const DlRect *bounds=nullptr)
Constructs a DlVector with compact inline storage for all of its required and optional lists of data.
static const DlComposeImageFilter kTestComposeImageFilter2(kTestBlurImageFilter2, kTestMatrixImageFilter1)
static const DlPath kTestPathOval
static const DlDilateImageFilter kTestDilateImageFilter2(6.0, 5.0)
static const std::shared_ptr< DlColorSource > kTestSource3
const std::function< void(DlOpReceiver &)> DlInvoker
static const auto kTestMatrixColorFilter2
static const sk_sp< DlRuntimeEffect > kTestRuntimeEffect1
static const DlBlurMaskFilter kTestMaskFilter1(DlBlurStyle::kNormal, 3.0)
static const DlPath kTestPathRect
SkFont CreateTestFontOfSize(DlScalar scalar)
static const std::shared_ptr< DlColorSource > kTestSource4
static const DlBlurMaskFilter kTestMaskFilter4(DlBlurStyle::kInner, 3.0)
static const DlComposeImageFilter kTestComposeImageFilter1(kTestBlurImageFilter1, kTestMatrixImageFilter1)
static const std::shared_ptr< DlVertices > kTestVertices2
constexpr SkRect kTestSkBounds
static const DlColorFilterImageFilter kTestCFImageFilter2(kTestBlendColorFilter2)
static const DlRoundRect kTestInnerRRect
constexpr DlPoint kTestPoints[]
constexpr float kRotateColorMatrix[20]
static const DlErodeImageFilter kTestErodeImageFilter2(4.0, 3.0)
static const auto kTestBlendColorFilter2
static const DlBlurMaskFilter kTestMaskFilter3(DlBlurStyle::kSolid, 3.0)
static const DlMatrixImageFilter kTestMatrixImageFilter2(DlMatrix::MakeRotationZ(DlDegrees(85)), kNearestSampling)
static const DlPath kTestPath2
static const DlBlurImageFilter kTestBlurImageFilter4(5.0, 5.0, DlTileMode::kDecal)
static const DlErodeImageFilter kTestErodeImageFilter3(3.0, 4.0)
static const DlRoundSuperellipse kTestRSuperellipse
static const DlMatrixImageFilter kTestMatrixImageFilter1(DlMatrix::MakeRotationZ(DlDegrees(45)), kNearestSampling)
static const auto kTestMatrixColorFilter1
static const std::shared_ptr< DlColorSource > kTestSource1
constexpr DlRect kTestBounds
static const DlPath kTestPath1
static const DlColorFilterImageFilter kTestCFImageFilter1(kTestBlendColorFilter1)
static const DlPath kTestPath3
static const std::shared_ptr< DlColorSource > kTestSource5
constexpr float kInvertColorMatrix[20]
sk_sp< DlImage > MakeTestImage(int w, int h, int checker_size)
static const sk_sp< DlRuntimeEffect > kTestRuntimeEffect2
static const DlErodeImageFilter kTestErodeImageFilter1(4.0, 4.0)
sk_sp< DisplayList > GetSampleDisplayList()
static const std::shared_ptr< DlColorSource > kTestSource2
static const DlBlurMaskFilter kTestMaskFilter2(DlBlurStyle::kNormal, 5.0)
static const DlBlurImageFilter kTestBlurImageFilter2(6.0, 5.0, DlTileMode::kClamp)
static const auto kTestBlendColorFilter3
static const DlPath kTestPathRRect
static DlImageSampling kLinearSampling
static const auto kTestBlendColorFilter1
static sk_sp< DisplayList > TestDisplayList2
static const SkRRect kTestSkInnerRRect
static const DlBlurImageFilter kTestBlurImageFilter3(5.0, 6.0, DlTileMode::kClamp)
std::vector< DisplayListInvocationGroup > CreateAllRenderingOps()
static const DlDilateImageFilter kTestDilateImageFilter1(5.0, 5.0)
static const SkRRect kTestRRectRect
sk_sp< DisplayList > GetSampleNestedDisplayList()
static DlImageSampling kNearestSampling
static const DlBlurMaskFilter kTestMaskFilter5(DlBlurStyle::kOuter, 3.0)
sk_sp< SkTextBlob > GetTestTextBlob(int index)
static const DlDilateImageFilter kTestDilateImageFilter3(5.0, 6.0)
static sk_sp< DisplayList > MakeTestDisplayList(int w, int h, SkColor color)
static const SkRRect kTestSkRRect
static const DlBlurImageFilter kTestBlurImageFilter1(5.0, 5.0, DlTileMode::kClamp)
constexpr DlPoint kEndPoints[]
std::vector< DisplayListInvocationGroup > CreateAllGroups()
static const DlComposeImageFilter kTestComposeImageFilter3(kTestBlurImageFilter1, kTestMatrixImageFilter2)
static const std::shared_ptr< DlVertices > kTestVertices1
static const DlRoundRect kTestRRect
static sk_sp< DisplayList > TestDisplayList1
static const DlMatrixImageFilter kTestMatrixImageFilter3(DlMatrix::MakeRotationZ(DlDegrees(45)), kLinearSampling)
impeller::Scalar DlScalar
impeller::Degrees DlDegrees
@ kTriangles
The vertices are taken 3 at a time to form a triangle.
@ kNormal
fuzzy inside and outside
@ kOuter
nothing inside, fuzzy outside
@ kInner
fuzzy inside, nothing outside
@ kSolid
solid inside, fuzzy outside
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir Path to the cache directory This is different from the persistent_cache_path in embedder h
static constexpr DlColor kBlue()
static constexpr DlColor kYellow()
static constexpr DlColor kRed()
static constexpr DlColor kGreen()
std::vector< DisplayListInvocation > variants
uint32_t additional_depth()
uint32_t render_op_cost_override_
uint32_t adjust_render_op_depth_cost(uint32_t previous_cost)
uint32_t depth_accumulated(uint32_t depth_scale=1u)
void Invoke(DlOpReceiver &builder)
uint32_t additional_depth_
uint32_t depth_op_count()
static Matrix MakeRotationZ(Radians r)
static RoundRect MakeRectXY(const Rect &rect, Scalar x_radius, Scalar y_radius)
static RoundSuperellipse MakeRectXY(const Rect &rect, Scalar x_radius, Scalar y_radius)
static constexpr TRect MakeWH(Type width, Type height)
constexpr TRect< T > Expand(T left, T top, T right, T bottom) const
Returns a rectangle with expanded edges. Negative expansion results in shrinking.
static constexpr TRect MakeLTRB(Type left, Type top, Type right, Type bottom)