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