Flutter Impeller
tessellator.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_TESSELLATOR_C_TESSELLATOR_H_
6 #define FLUTTER_IMPELLER_TESSELLATOR_C_TESSELLATOR_H_
7 
8 #include <cstdint>
9 
12 
13 #ifdef _WIN32
14 #define IMPELLER_API __declspec(dllexport)
15 #else
16 #define IMPELLER_API __attribute__((visibility("default")))
17 #endif
18 
19 extern "C" {
20 
21 namespace impeller {
22 
24  float* points;
25  uint32_t length;
26 };
27 
29 
31 
32 IMPELLER_API void MoveTo(PathBuilder* builder, Scalar x, Scalar y);
33 
34 IMPELLER_API void LineTo(PathBuilder* builder, Scalar x, Scalar y);
35 
36 IMPELLER_API void CubicTo(PathBuilder* builder,
37  Scalar x1,
38  Scalar y1,
39  Scalar x2,
40  Scalar y2,
41  Scalar x3,
42  Scalar y3);
43 
44 IMPELLER_API void Close(PathBuilder* builder);
45 
47  int fill_type,
48  Scalar tolerance);
49 
50 IMPELLER_API void DestroyVertices(Vertices* vertices);
51 
52 } // namespace impeller
53 }
54 
55 #endif // FLUTTER_IMPELLER_TESSELLATOR_C_TESSELLATOR_H_
impeller::Scalar
float Scalar
Definition: scalar.h:18
impeller::DestroyVertices
void DestroyVertices(Vertices *vertices)
Definition: tessellator.cc:74
impeller::PathBuilder
Definition: path_builder.h:14
impeller::MoveTo
void MoveTo(PathBuilder *builder, Scalar x, Scalar y)
Definition: tessellator.cc:18
impeller::Vertices
Definition: tessellator.h:23
tessellator.h
path_builder.h
impeller::Vertices::points
float * points
Definition: tessellator.h:24
impeller::Vertices::length
uint32_t length
Definition: tessellator.h:25
impeller::CreatePathBuilder
PathBuilder * CreatePathBuilder()
Definition: tessellator.cc:10
impeller::CubicTo
void CubicTo(PathBuilder *builder, Scalar x1, Scalar y1, Scalar x2, Scalar y2, Scalar x3, Scalar y3)
Definition: tessellator.cc:26
impeller::Close
void Close(PathBuilder *builder)
Definition: tessellator.cc:36
impeller::LineTo
void LineTo(PathBuilder *builder, Scalar x, Scalar y)
Definition: tessellator.cc:22
IMPELLER_API
#define IMPELLER_API
Definition: tessellator.h:16
impeller::DestroyPathBuilder
void DestroyPathBuilder(PathBuilder *builder)
Definition: tessellator.cc:14
impeller::Tessellate
struct Vertices * Tessellate(PathBuilder *builder, int fill_type, Scalar tolerance)
Definition: tessellator.cc:40
impeller
Definition: aiks_blur_unittests.cc:20