1 /* 2 * Copyright 2014 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef CanvasStateHelpers_DEFINED 9 #define CanvasStateHelpers_DEFINED 10 11 #include "include/core/SkTypes.h" 12 13 // See CanvasStateTest. These functions are either linked in to 'dm' directly (when this flag is 14 // not defined), or built in a shared library that is dlopened by the test. In that case, they 15 // should not be visible in 'dm', but the shared library will not have this flag set and compiles 16 // them as expected. 17 #if !defined(SK_TEST_CANVAS_STATE_CROSS_LIBRARY) 18 19 class SkCanvas; 20 class SkCanvasState; 21 class SkRegion; 22 23 #if defined(SK_BUILD_FOR_WIN) 24 #define EXPORT _declspec(dllexport) 25 #else 26 #define EXPORT 27 #endif 28 29 /* 30 * Helper function to perform drawing to an SkCanvas. Used by both 31 * test_complex_layers and complex_layers_draw_from_canvas_state. 32 */ 33 void complex_layers_draw(SkCanvas* canvas, float left, float top, 34 float right, float bottom, int32_t spacer); 35 36 /* 37 * Create an SkCanvas from state and draw to it. Return true on success. 38 * 39 * Used by test_complex_layers test in CanvasStateTest. Marked as extern 40 * so it can be called from a separate library. 41 */ 42 extern "C" bool EXPORT complex_layers_draw_from_canvas_state(SkCanvasState* state, 43 float left, float top, float right, float bottom, int32_t spacer); 44 45 /* 46 * Helper function to perform drawing to an SkCanvas. Used both by test_complex_clips 47 * and complex_clips_draw_from_canvas_state. 48 */ 49 void complex_clips_draw(SkCanvas* canvas, int32_t left, int32_t top, 50 int32_t right, int32_t bottom, int32_t clipOp, const SkRegion& localRegion); 51 52 /* 53 * Create an SkCanvas from state and draw to it. Return true on success. 54 * 55 * Used by test_complex_clips test in CanvasStateTest. Marked as extern 56 * so it can be called from a separate library. 57 */ 58 extern "C" bool EXPORT complex_clips_draw_from_canvas_state(SkCanvasState* state, 59 int32_t left, int32_t top, int32_t right, int32_t bottom, int32_t clipOp, 60 int32_t regionRects, int32_t* rectCoords); 61 62 #endif // SK_TEST_CANVAS_STATE_CROSS_LIBRARY 63 #endif // CanvasStateHelpers_DEFINED 64