blob: 8b95e0cd267d0961ef3bbbbf8601877a30b58b97 [file] [log] [blame]
Stan Iliev52771272016-11-17 09:54:38 -05001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#pragma once
18
Stan Iliev52771272016-11-17 09:54:38 -050019#include <SkCanvas.h>
John Reck1bcacfd2017-11-03 10:12:19 -070020#include <gtest/gtest.h>
Stan Iliev52771272016-11-17 09:54:38 -050021
Kevin Lubick856848e2022-02-24 16:24:09 +000022class SkRRect;
23
Stan Iliev52771272016-11-17 09:54:38 -050024namespace {
25
26class TestCanvasBase : public SkCanvas {
27public:
John Reck1bcacfd2017-11-03 10:12:19 -070028 TestCanvasBase(int width, int height) : SkCanvas(width, height) {}
Stan Iliev52771272016-11-17 09:54:38 -050029 void onDrawAnnotation(const SkRect&, const char key[], SkData* value) {
30 ADD_FAILURE() << "onDrawAnnotation not expected in this test";
31 }
32 void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) {
33 ADD_FAILURE() << "onDrawDRRect not expected in this test";
34 }
Stan Iliev52771272016-11-17 09:54:38 -050035 void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, const SkPaint& paint) {
36 ADD_FAILURE() << "onDrawTextBlob not expected in this test";
37 }
38 void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4],
John Reck1bcacfd2017-11-03 10:12:19 -070039 SkBlendMode, const SkPaint& paint) {
Stan Iliev52771272016-11-17 09:54:38 -050040 ADD_FAILURE() << "onDrawPatch not expected in this test";
41 }
John Reck1bcacfd2017-11-03 10:12:19 -070042 void onDrawPaint(const SkPaint&) { ADD_FAILURE() << "onDrawPaint not expected in this test"; }
Stan Iliev52771272016-11-17 09:54:38 -050043 void onDrawRect(const SkRect&, const SkPaint&) {
44 ADD_FAILURE() << "onDrawRect not expected in this test";
45 }
46 void onDrawRegion(const SkRegion& region, const SkPaint& paint) {
47 ADD_FAILURE() << "onDrawRegion not expected in this test";
48 }
49 void onDrawOval(const SkRect&, const SkPaint&) {
50 ADD_FAILURE() << "onDrawOval not expected in this test";
51 }
52 void onDrawArc(const SkRect&, SkScalar startAngle, SkScalar sweepAngle, bool useCenter,
John Reck1bcacfd2017-11-03 10:12:19 -070053 const SkPaint&) {
Stan Iliev52771272016-11-17 09:54:38 -050054 ADD_FAILURE() << "onDrawArc not expected in this test";
55 }
56 void onDrawRRect(const SkRRect&, const SkPaint&) {
57 ADD_FAILURE() << "onDrawRRect not expected in this test";
58 }
59 void onDrawPoints(PointMode, size_t count, const SkPoint pts[], const SkPaint&) {
60 ADD_FAILURE() << "onDrawPoints not expected in this test";
61 }
Mike Reed871cd2d2017-03-17 10:15:52 -040062 void onDrawVerticesObject(const SkVertices*, SkBlendMode, const SkPaint&) {
Stan Iliev52771272016-11-17 09:54:38 -050063 ADD_FAILURE() << "onDrawVertices not expected in this test";
64 }
Mike Reed2d1279f2020-12-30 09:57:25 -050065 void onDrawAtlas2(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], int count,
66 SkBlendMode, const SkSamplingOptions&, const SkRect* cull, const SkPaint*) {
Stan Iliev52771272016-11-17 09:54:38 -050067 ADD_FAILURE() << "onDrawAtlas not expected in this test";
68 }
69 void onDrawPath(const SkPath&, const SkPaint&) {
70 ADD_FAILURE() << "onDrawPath not expected in this test";
71 }
Mike Reed2d1279f2020-12-30 09:57:25 -050072 void onDrawImageRect2(const SkImage*, const SkRect&, const SkRect&, const SkSamplingOptions&,
73 const SkPaint*, SrcRectConstraint) {
Stan Iliev52771272016-11-17 09:54:38 -050074 ADD_FAILURE() << "onDrawImageRect not expected in this test";
75 }
Mike Reed2d1279f2020-12-30 09:57:25 -050076 void onDrawImageLattice2(const SkImage*, const Lattice& lattice, const SkRect& dst,
77 SkFilterMode, const SkPaint*) {
Stan Iliev52771272016-11-17 09:54:38 -050078 ADD_FAILURE() << "onDrawImageLattice not expected in this test";
79 }
Mike Reedd43eaa92016-12-13 12:32:37 -050080 void onClipRRect(const SkRRect& rrect, SkClipOp, ClipEdgeStyle) {
Stan Iliev52771272016-11-17 09:54:38 -050081 ADD_FAILURE() << "onClipRRect not expected in this test";
82 }
Mike Reedd43eaa92016-12-13 12:32:37 -050083 void onClipPath(const SkPath& path, SkClipOp, ClipEdgeStyle) {
Stan Iliev52771272016-11-17 09:54:38 -050084 ADD_FAILURE() << "onClipPath not expected in this test";
85 }
Mike Reedd43eaa92016-12-13 12:32:37 -050086 void onClipRegion(const SkRegion& deviceRgn, SkClipOp) {
Stan Iliev52771272016-11-17 09:54:38 -050087 ADD_FAILURE() << "onClipRegion not expected in this test";
88 }
John Reck1bcacfd2017-11-03 10:12:19 -070089 void onDiscard() { ADD_FAILURE() << "onDiscard not expected in this test"; }
Stan Iliev52771272016-11-17 09:54:38 -050090 void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) {
91 ADD_FAILURE() << "onDrawPicture not expected in this test";
92 }
93
John Reck1bcacfd2017-11-03 10:12:19 -070094 int mDrawCounter = 0; // counts how may draw calls of any kind were made to this canvas
Stan Iliev52771272016-11-17 09:54:38 -050095};
Mike Reed36822512018-12-20 12:55:26 -050096}