19c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein/* 29c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein * Copyright 2016 Google Inc. 39c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein * 49c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein * Use of this source code is governed by a BSD-style license that can be 59c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein * found in the LICENSE file. 69c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein */ 79c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 89c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein#ifndef SkLiteRecorder_DEFINED 99c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein#define SkLiteRecorder_DEFINED 109c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 11439ace939b6aaa58408ece0e9e89b633353571aeFlorin Malita#include "SkNoDrawCanvas.h" 129c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 139c5052f16b249d2b7674ea86bd24ed0038ccc61fmtkleinclass SkLiteDL; 149c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 15439ace939b6aaa58408ece0e9e89b633353571aeFlorin Malitaclass SkLiteRecorder final : public SkNoDrawCanvas { 169c5052f16b249d2b7674ea86bd24ed0038ccc61fmtkleinpublic: 179c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein SkLiteRecorder(); 18d7875f57bd5f17ac27f1cb2ace25224299ff2389Derek Sollenberger void reset(SkLiteDL*, const SkIRect& bounds); 199c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 209c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein sk_sp<SkSurface> onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override; 219c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 226ae6969434302da86de1169545939461ac7147b9reed#ifdef SK_SUPPORT_LEGACY_DRAWFILTER 236ae6969434302da86de1169545939461ac7147b9reed SkDrawFilter* setDrawFilter(SkDrawFilter*) override; 246ae6969434302da86de1169545939461ac7147b9reed#endif 256ae6969434302da86de1169545939461ac7147b9reed 269c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void willSave() override; 279c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec&) override; 289c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void willRestore() override; 299c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 309c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void didConcat(const SkMatrix&) override; 319c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void didSetMatrix(const SkMatrix&) override; 32cbdf007bc2eb85056a1a5c75c088202becba2d16mtklein void didTranslate(SkScalar, SkScalar) override; 339c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 34c1f7774e8d327e3c98b4094c9c01d26e27013f71Mike Reed void onClipRect (const SkRect&, SkClipOp, ClipEdgeStyle) override; 35c1f7774e8d327e3c98b4094c9c01d26e27013f71Mike Reed void onClipRRect (const SkRRect&, SkClipOp, ClipEdgeStyle) override; 36c1f7774e8d327e3c98b4094c9c01d26e27013f71Mike Reed void onClipPath (const SkPath&, SkClipOp, ClipEdgeStyle) override; 37c1f7774e8d327e3c98b4094c9c01d26e27013f71Mike Reed void onClipRegion(const SkRegion&, SkClipOp) override; 389c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 399c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawPaint (const SkPaint&) override; 4044df651ebefc284acc2f66425dff3ea0b0e14b36msarett void onDrawPath (const SkPath&, const SkPaint&) override; 4144df651ebefc284acc2f66425dff3ea0b0e14b36msarett void onDrawRect (const SkRect&, const SkPaint&) override; 4244df651ebefc284acc2f66425dff3ea0b0e14b36msarett void onDrawRegion(const SkRegion&, const SkPaint&) override; 4344df651ebefc284acc2f66425dff3ea0b0e14b36msarett void onDrawOval (const SkRect&, const SkPaint&) override; 44ac3aa245acc7b469aa2f0d0078e53401d78ac8b9bsalomon void onDrawArc(const SkRect&, SkScalar, SkScalar, bool, const SkPaint&) override; 459c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawRRect (const SkRRect&, const SkPaint&) override; 469c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override; 479c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 489c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawDrawable(SkDrawable*, const SkMatrix*) override; 499c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override; 509c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawAnnotation(const SkRect&, const char[], SkData*) override; 519c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 529c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawText (const void*, size_t, SkScalar x, SkScalar y, const SkPaint&) override; 539c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawPosText (const void*, size_t, const SkPoint[], const SkPaint&) override; 549c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawPosTextH (const void*, size_t, const SkScalar[], SkScalar, const SkPaint&) override; 559c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawTextOnPath(const void*, size_t, 569c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein const SkPath&, const SkMatrix*, const SkPaint&) override; 579c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawTextRSXform(const void*, size_t, 589c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein const SkRSXform[], const SkRect*, const SkPaint&) override; 599c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawTextBlob(const SkTextBlob*, SkScalar, SkScalar, const SkPaint&) override; 609c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 619c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawBitmap(const SkBitmap&, SkScalar, SkScalar, const SkPaint*) override; 62168820625c35a8c19f66c661efcbce7a5e334837msarett void onDrawBitmapLattice(const SkBitmap&, const Lattice&, const SkRect&, 63168820625c35a8c19f66c661efcbce7a5e334837msarett const SkPaint*) override; 649c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawBitmapNine(const SkBitmap&, const SkIRect&, const SkRect&, const SkPaint*) override; 659c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawBitmapRect(const SkBitmap&, const SkRect*, const SkRect&, const SkPaint*, 669c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein SrcRectConstraint) override; 679c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 689c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawImage(const SkImage*, SkScalar, SkScalar, const SkPaint*) override; 699c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawImageLattice(const SkImage*, const Lattice&, const SkRect&, const SkPaint*) override; 709c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawImageNine(const SkImage*, const SkIRect&, const SkRect&, const SkPaint*) override; 719c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawImageRect(const SkImage*, const SkRect*, const SkRect&, const SkPaint*, 729c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein SrcRectConstraint) override; 739c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 749c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawPatch(const SkPoint[12], const SkColor[4], 75faba3715b8ddfaa0ce4df79bc8006e9bc7694e5bMike Reed const SkPoint[4], SkBlendMode, const SkPaint&) override; 769c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawPoints(PointMode, size_t count, const SkPoint pts[], const SkPaint&) override; 77e88a1cb20e6b4c9f099070112225a88693a4630bMike Reed void onDrawVerticesObject(const SkVertices*, SkBlendMode, const SkPaint&) override; 789c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], 79faba3715b8ddfaa0ce4df79bc8006e9bc7694e5bMike Reed int, SkBlendMode, const SkRect*, const SkPaint*) override; 809c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 819c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein#ifdef SK_EXPERIMENTAL_SHADOWING 829c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void didTranslateZ(SkScalar) override; 83e6f5d5623160a69e1585f5121a3695092327dfe0vjiaoblack void onDrawShadowedPicture(const SkPicture*, const SkMatrix*, 84e6f5d5623160a69e1585f5121a3695092327dfe0vjiaoblack const SkPaint*, const SkShadowParams& params) override; 859c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein#else 869c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein void didTranslateZ(SkScalar); 87e6f5d5623160a69e1585f5121a3695092327dfe0vjiaoblack void onDrawShadowedPicture(const SkPicture*, const SkMatrix*, 88e6f5d5623160a69e1585f5121a3695092327dfe0vjiaoblack const SkPaint*, const SkShadowParams& params); 899c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein#endif 909c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 919c5052f16b249d2b7674ea86bd24ed0038ccc61fmtkleinprivate: 92439ace939b6aaa58408ece0e9e89b633353571aeFlorin Malita typedef SkNoDrawCanvas INHERITED; 93439ace939b6aaa58408ece0e9e89b633353571aeFlorin Malita 949c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein SkLiteDL* fDL; 959c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein}; 969c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein 979c5052f16b249d2b7674ea86bd24ed0038ccc61fmtklein#endif//SkLiteRecorder_DEFINED 98