| // Copyright 2013 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #pragma once | |
| #include "third_party/skia/include/core/SkPath.h" | |
| #include "third_party/skia/include/core/SkPathBuilder.h" | |
| #include "third_party/skia/include/core/SkPathTypes.h" | |
| #include "third_party/skia/include/pathops/SkPathOps.h" | |
| #ifdef _WIN32 | |
| #define API __declspec(dllexport) | |
| #else | |
| #define API __attribute__((visibility("default"))) | |
| #endif | |
| extern "C" { | |
| namespace flutter { | |
| API SkPath* CreatePath(SkPathFillType fill_type); | |
| API void DestroyPathBuilder(SkPath* path); | |
| API void MoveTo(SkPath* path, SkScalar x, SkScalar y); | |
| API void LineTo(SkPath* path, SkScalar x, SkScalar y); | |
| API void CubicTo(SkPath* path, | |
| SkScalar x1, | |
| SkScalar y1, | |
| SkScalar x2, | |
| SkScalar y2, | |
| SkScalar x3, | |
| SkScalar y3); | |
| API void Close(SkPath* path); | |
| API void Reset(SkPath* path); | |
| API void DestroyPath(SkPath* path); | |
| API void Op(SkPath* one, SkPath* two, SkPathOp op); | |
| API int GetFillType(SkPath* path); | |
| struct API PathData { | |
| uint8_t* verbs; | |
| size_t verb_count; | |
| float* points; | |
| size_t point_count; | |
| }; | |
| API struct PathData* Data(SkPath* path); | |
| API void DestroyData(PathData* data); | |
| } // namespace flutter | |
| } |