1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Copyright 2014 Google Inc. 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Use of this source code is governed by a BSD-style license that can be 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * found in the LICENSE file. 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#ifndef CanvasStateHelpers_DEFINED 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#define CanvasStateHelpers_DEFINED 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkTypes.h" 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#ifdef SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass SkCanvas; 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass SkCanvasState; 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass SkRegion; 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Helper function to perform drawing to an SkCanvas. Used by both 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * test_complex_layers and complex_layers_draw_from_canvas_state. 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotvoid complex_layers_draw(SkCanvas* canvas, float left, float top, 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot float right, float bottom, int32_t spacer); 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Create an SkCanvas from state and draw to it. Return true on success. 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Used by test_complex_layers test in CanvasStateTest. Marked as extern 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * so it can be called from a separate library. 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotextern "C" bool complex_layers_draw_from_canvas_state(SkCanvasState* state, 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot float left, float top, float right, float bottom, int32_t spacer); 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Helper function to perform drawing to an SkCanvas. Used both by test_complex_clips 36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * and complex_clips_draw_from_canvas_state. 37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotvoid complex_clips_draw(SkCanvas* canvas, int32_t left, int32_t top, 39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot int32_t right, int32_t bottom, int32_t clipOp, const SkRegion& localRegion); 40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 41fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 42fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Create an SkCanvas from state and draw to it. Return true on success. 43fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * 44fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Used by test_complex_clips test in CanvasStateTest. Marked as extern 45fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * so it can be called from a separate library. 46fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 47fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotextern "C" bool complex_clips_draw_from_canvas_state(SkCanvasState* state, 48fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot int32_t left, int32_t top, int32_t right, int32_t bottom, int32_t clipOp, 49fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot int32_t regionRects, int32_t* rectCoords); 50fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 51fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif // SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG 52fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif // CanvasStateHelpers_DEFINED 53