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 #ifdef SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG 14 class SkCanvas; 15 class SkCanvasState; 16 class SkRegion; 17 18 /* 19 * Helper function to perform drawing to an SkCanvas. Used by both 20 * test_complex_layers and complex_layers_draw_from_canvas_state. 21 */ 22 void complex_layers_draw(SkCanvas* canvas, float left, float top, 23 float right, float bottom, int32_t spacer); 24 25 /* 26 * Create an SkCanvas from state and draw to it. Return true on success. 27 * 28 * Used by test_complex_layers test in CanvasStateTest. Marked as extern 29 * so it can be called from a separate library. 30 */ 31 extern "C" bool complex_layers_draw_from_canvas_state(SkCanvasState* state, 32 float left, float top, float right, float bottom, int32_t spacer); 33 34 /* 35 * Helper function to perform drawing to an SkCanvas. Used both by test_complex_clips 36 * and complex_clips_draw_from_canvas_state. 37 */ 38 void complex_clips_draw(SkCanvas* canvas, int32_t left, int32_t top, 39 int32_t right, int32_t bottom, int32_t clipOp, const SkRegion& localRegion); 40 41 /* 42 * Create an SkCanvas from state and draw to it. Return true on success. 43 * 44 * Used by test_complex_clips test in CanvasStateTest. Marked as extern 45 * so it can be called from a separate library. 46 */ 47 extern "C" bool complex_clips_draw_from_canvas_state(SkCanvasState* state, 48 int32_t left, int32_t top, int32_t right, int32_t bottom, int32_t clipOp, 49 int32_t regionRects, int32_t* rectCoords); 50 51 #endif // SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG 52 #endif // CanvasStateHelpers_DEFINED 53