Home | History | Annotate | Download | only in tests
      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 "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