| /* |
| * Copyright 2014 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef CanvasStateHelpers_DEFINED |
| #define CanvasStateHelpers_DEFINED |
| |
| #include "include/core/SkTypes.h" |
| |
| #include <cstdint> |
| |
| // See CanvasStateTest. These functions are either linked in to 'dm' directly (when this flag is |
| // not defined), or built in a shared library that is dlopened by the test. In that case, they |
| // should not be visible in 'dm', but the shared library will not have this flag set and compiles |
| // them as expected. |
| #if !defined(SK_TEST_CANVAS_STATE_CROSS_LIBRARY) |
| |
| class SkCanvas; |
| class SkCanvasState; |
| class SkRegion; |
| |
| #if defined(SK_BUILD_FOR_WIN) |
| #define EXPORT _declspec(dllexport) |
| #else |
| #define EXPORT |
| #endif |
| |
| /* |
| * Helper function to perform drawing to an SkCanvas. Used by both |
| * test_complex_layers and complex_layers_draw_from_canvas_state. |
| */ |
| void complex_layers_draw(SkCanvas* canvas, float left, float top, |
| float right, float bottom, int32_t spacer); |
| |
| /* |
| * Create an SkCanvas from state and draw to it. Return true on success. |
| * |
| * Used by test_complex_layers test in CanvasStateTest. Marked as extern |
| * so it can be called from a separate library. |
| */ |
| extern "C" bool EXPORT complex_layers_draw_from_canvas_state(SkCanvasState* state, |
| float left, float top, float right, float bottom, int32_t spacer); |
| |
| /* |
| * Helper function to perform drawing to an SkCanvas. Used both by test_complex_clips |
| * and complex_clips_draw_from_canvas_state. |
| */ |
| void complex_clips_draw(SkCanvas* canvas, int32_t left, int32_t top, |
| int32_t right, int32_t bottom, int32_t clipOp, const SkRegion& localRegion); |
| |
| /* |
| * Create an SkCanvas from state and draw to it. Return true on success. |
| * |
| * Used by test_complex_clips test in CanvasStateTest. Marked as extern |
| * so it can be called from a separate library. |
| */ |
| extern "C" bool EXPORT complex_clips_draw_from_canvas_state(SkCanvasState* state, |
| int32_t left, int32_t top, int32_t right, int32_t bottom, int32_t clipOp, |
| int32_t regionRects, int32_t* rectCoords); |
| |
| #endif // SK_TEST_CANVAS_STATE_CROSS_LIBRARY |
| #endif // CanvasStateHelpers_DEFINED |