blob: 88c959f88d6499c96cf1f3edd34601220dc65c63 [file] [log] [blame]
mtklein9c5052f2016-08-06 12:51:51 -07001/*
2 * Copyright 2016 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 SkLiteDL_DEFINED
9#define SkLiteDL_DEFINED
10
11#include "SkCanvas.h"
12#include "SkPaint.h"
13#include "SkPath.h"
14#include "SkDrawable.h"
15#include "SkRect.h"
16#include "SkTDArray.h"
17
18class SkLiteDL final : public SkDrawable {
19public:
20 static sk_sp<SkLiteDL> New(SkRect);
21
22 void save();
23 void saveLayer(const SkRect*, const SkPaint*, const SkImageFilter*, uint32_t) {/*TODO*/}
24 void restore();
25
26 void concat (const SkMatrix&);
27 void setMatrix (const SkMatrix&);
28 void translateZ(SkScalar) {/*TODO*/}
29
30 void clipPath (const SkPath&, SkRegion::Op, bool aa) {/*TODO*/}
31 void clipRRect (const SkRRect&, SkRegion::Op, bool aa) {/*TODO*/}
32 void clipRect (const SkRect&, SkRegion::Op, bool aa);
33 void clipRegion(const SkRegion&, SkRegion::Op) {/*TODO*/}
34
35
36 void drawPaint (const SkPaint&) {/*TODO*/}
37 void drawPath (const SkPath&, const SkPaint&);
38 void drawRect (const SkRect&, const SkPaint&);
39 void drawOval (const SkRect&, const SkPaint&) {/*TODO*/}
40 void drawRRect (const SkRRect&, const SkPaint&) {/*TODO*/}
41 void drawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) {/*TODO*/}
42
43 void drawAnnotation (const SkRect&, const char*, SkData*) {/*TODO*/}
44 void drawDrawable (SkDrawable*, const SkMatrix*) {/*TODO*/}
45 void drawPicture (const SkPicture*, const SkMatrix*, const SkPaint*) {/*TODO*/}
46 void drawShadowedPicture(const SkPicture*, const SkMatrix*, const SkPaint*) {/*TODO*/}
47
48 void drawText (const void*, size_t, SkScalar, SkScalar, const SkPaint&) {/*TODO*/}
49 void drawPosText (const void*, size_t, const SkPoint[], const SkPaint&) {/*TODO*/}
50 void drawPosTextH (const void*, size_t, const SkScalar[], SkScalar, const SkPaint&) {/*TODO*/}
51 void drawTextOnPath (const void*, size_t, const SkPath&, const SkMatrix*, const SkPaint&) {/*TODO*/}
52 void drawTextRSXForm(const void*, size_t, const SkRSXform[], const SkRect*, const SkPaint&) {/*TODO*/}
53 void drawTextBlob (const SkTextBlob*, SkScalar,SkScalar, const SkPaint&) {/*TODO*/}
54
55 void drawBitmap (const SkBitmap&, SkScalar,SkScalar, const SkPaint*) {/*TODO*/}
56 void drawBitmapNine(const SkBitmap&, SkIRect, const SkRect&, const SkPaint*) {/*TODO*/}
57 void drawBitmapRect(const SkBitmap&, const SkRect*, const SkRect&, const SkPaint*, bool) {/*TODO*/}
58
59 void drawImage (const SkImage*, SkScalar,SkScalar, const SkPaint*) {/*TODO*/}
60 void drawImageNine (const SkImage*, SkIRect, const SkRect&, const SkPaint*) {/*TODO*/}
61 void drawImageRect (const SkImage*, const SkRect*, const SkRect&, const SkPaint*, bool) {/*TODO*/}
62 void drawImageLattice(const SkImage*, SkCanvas::Lattice, const SkRect&, const SkPaint*) {/*TODO*/}
63
64 void drawPatch(const SkPoint[12], const SkColor[4], const SkPoint[4],
65 SkXfermode*, const SkPaint&) {/*TODO*/}
66 void drawPoints(SkCanvas::PointMode, size_t, const SkPoint[], const SkPaint&) {/*TODO*/}
67 void drawVertices(SkCanvas::VertexMode, int, const SkPoint[], const SkPoint[], const SkColor[],
68 SkXfermode*, const uint16_t[], int, const SkPaint&) {/*TODO*/}
69 void drawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], int,
70 SkXfermode::Mode, const SkRect*, const SkPaint*) {/*TODO*/}
71
72private:
73 SkLiteDL();
74 ~SkLiteDL();
75
76 void internal_dispose() const override;
77
78 SkRect onGetBounds() override;
79 void onDraw(SkCanvas*) override;
80
81 SkLiteDL* fNext;
82 SkRect fBounds;
83 SkTDArray<uint8_t> fBytes;
84};
85
86#endif//SkLiteDL_DEFINED