Flutter Engine
The Flutter Engine
point_field_geometry.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_ENTITY_GEOMETRY_POINT_FIELD_GEOMETRY_H_
6#define FLUTTER_IMPELLER_ENTITY_GEOMETRY_POINT_FIELD_GEOMETRY_H_
7
9
10namespace impeller {
11
12class PointFieldGeometry final : public Geometry {
13 public:
14 PointFieldGeometry(std::vector<Point> points, Scalar radius, bool round);
15
17
18 private:
19 // |Geometry|
20 GeometryResult GetPositionBuffer(const ContentContext& renderer,
21 const Entity& entity,
22 RenderPass& pass) const override;
23
24 // |Geometry|
25 std::optional<Rect> GetCoverage(const Matrix& transform) const override;
26
27 std::vector<Point> points_;
28 Scalar radius_;
29 bool round_;
30
32
33 PointFieldGeometry& operator=(const PointFieldGeometry&) = delete;
34};
35
36} // namespace impeller
37
38#endif // FLUTTER_IMPELLER_ENTITY_GEOMETRY_POINT_FIELD_GEOMETRY_H_
static void round(SkPoint *p)
static const int points[]
PointFieldGeometry(std::vector< Point > points, Scalar radius, bool round)
Render passes encode render commands directed as one specific render target into an underlying comman...
Definition: render_pass.h:33
float Scalar
Definition: scalar.h:18
static SkColor4f transform(SkColor4f c, SkColorSpace *src, SkColorSpace *dst)
Definition: p3.cpp:47
A 4x4 matrix using column-major storage.
Definition: matrix.h:37