diff options
author | 2014-07-22 12:38:55 -0700 | |
---|---|---|
committer | 2014-07-22 12:38:55 -0700 | |
commit | 24519371cb541db6f59d903d21878ed9c45eb549 (patch) | |
tree | 3aeaca2a3da03607d7494c8b3deef5c4045a9d07 /tests/CanvasStateHelpers.h | |
parent | c0bc9134514a4f138621203a6f7d4553ebec238a (diff) |
Run CanvasState test across a library boundary.
Refactor CanvasStateTest to pull out functions which can
either be called directly or from a shared library. Add a
command line flag to pass in the path to a library to open
to call those functions from.
Separate different CanvasTest tests into separate DEF_TEST
tests. This allows them to be run in parallel.
Move the ifdefs outside of function declarations to skip
running CanvasTest tests which do nothing.
Add the canvas_state_lib target. It is a shared library that
exports some functions to be called by another version of
Skia.
BUG=b/15693384
R=djsollen@google.com, reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/400043003
Diffstat (limited to 'tests/CanvasStateHelpers.h')
-rw-r--r-- | tests/CanvasStateHelpers.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/CanvasStateHelpers.h b/tests/CanvasStateHelpers.h new file mode 100644 index 0000000000..aa3c1781aa --- /dev/null +++ b/tests/CanvasStateHelpers.h @@ -0,0 +1,52 @@ +/* + * 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 "SkTypes.h" + +#ifdef SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG +class SkCanvas; +class SkCanvasState; +class SkRegion; + +/* + * 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 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 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_SUPPORT_LEGACY_CLIPTOLAYERFLAG +#endif // CanvasStateHelpers_DEFINED |