Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Side by Side Diff: src/utils/android/SkAndroidSDKCanvas.h

Issue 1021823003: Add utils/android/SkAndroidSDKCanvas (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Avoid some overinclusive gypping? Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gyp/utils.gyp ('k') | src/utils/android/SkAndroidSDKCanvas.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright 2015 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 SkAndroidSDKCanvas_DEFINED
9 #define SkAndroidSDKCanvas_DEFINED
10
11 #include "SkBitmap.h"
12 #include "SkCanvas.h"
13 #include "SkPaint.h"
14 #include "SkPath.h"
15 #include "SkRect.h"
16
17 /** SkDrawFilter is likely to be deprecated; this is a proxy
18 canvas that does the same thing: alter SkPaint fields.
19
20 onDraw*() functions may have their SkPaint modified, and are then
21 passed on to the same function on proxyTarget. THIS BREAKS CONSTNESS!
22
23 This still suffers one of the same architectural flaws as SkDrawFilter:
24 TextBlob paints are incomplete when filter is called.
25 */
26
27 class SkAndroidSDKCanvas : public SkCanvas {
28 public:
29 SkAndroidSDKCanvas();
30 void reset(SkCanvas* newTarget);
31
32 protected:
33
34 // FILTERING
35
36 void onDrawPaint(const SkPaint& paint) SK_OVERRIDE;
37 void onDrawPoints(PointMode pMode, size_t count, const SkPoint pts[],
38 const SkPaint& paint) SK_OVERRIDE;
39 void onDrawOval(const SkRect& r, const SkPaint& paint) SK_OVERRIDE;
40 void onDrawRect(const SkRect& r, const SkPaint& paint) SK_OVERRIDE;
41 void onDrawRRect(const SkRRect& r, const SkPaint& paint) SK_OVERRIDE;
42 void onDrawPath(const SkPath& path, const SkPaint& paint) SK_OVERRIDE;
43 void onDrawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top,
44 const SkPaint* paint) SK_OVERRIDE;
45 void onDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRec t& dst,
46 const SkPaint* paint, DrawBitmapRectFlags flags) SK_OV ERRIDE;
47 void onDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center,
48 const SkRect& dst, const SkPaint* paint) SK_OVERRIDE;
49 void onDrawSprite(const SkBitmap& bitmap, int left, int top,
50 const SkPaint* paint) SK_OVERRIDE;
51 void onDrawVertices(VertexMode vMode, int vertexCount, const SkPoint vertice s[],
52 const SkPoint texs[], const SkColor colors[], SkXfermode * xMode,
53 const uint16_t indices[], int indexCount,
54 const SkPaint& paint) SK_OVERRIDE;
55
56 void onDrawDRRect(const SkRRect& outer, const SkRRect& inner,
57 const SkPaint& paint) SK_OVERRIDE;
58
59 void onDrawText(const void* text, size_t byteLength, SkScalar x, SkScalar y,
60 const SkPaint& paint) SK_OVERRIDE;
61 void onDrawPosText(const void* text, size_t byteLength, const SkPoint pos[],
62 const SkPaint& paint) SK_OVERRIDE;
63 void onDrawPosTextH(const void* text, size_t byteLength, const SkScalar xpos [],
64 SkScalar constY, const SkPaint& paint) SK_OVERRIDE;
65 void onDrawTextOnPath(const void* text, size_t byteLength, const SkPath& pat h,
66 const SkMatrix* matrix, const SkPaint& paint) SK_OVERR IDE;
67 void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
68 const SkPaint& paint) SK_OVERRIDE;
69
70 void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
71 const SkPoint texCoords[4], SkXfermode* xmode,
72 const SkPaint& paint) SK_OVERRIDE;
73
74 void onDrawImage(const SkImage*, SkScalar, SkScalar, const SkPaint*) SK_OVER RIDE;
75 void onDrawImageRect(const SkImage*, const SkRect*, const SkRect&, const SkP aint*)
76 SK_OVERRIDE;
77 void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*);
78
79 // PASS THROUGH
80
81 void onDrawDrawable(SkDrawable*) SK_OVERRIDE;
82 SkISize getBaseLayerSize() const SK_OVERRIDE;
83 bool getClipBounds(SkRect*) const SK_OVERRIDE;
84 bool getClipDeviceBounds(SkIRect*) const SK_OVERRIDE;
85 bool isClipEmpty() const SK_OVERRIDE;
86 bool isClipRect() const SK_OVERRIDE;
87 SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) SK_OVERRI DE;
88 const void* onPeekPixels(SkImageInfo*, size_t*) SK_OVERRIDE;
89 void* onAccessTopLayerPixels(SkImageInfo*, size_t*) SK_OVERRIDE;
90 void willSave() SK_OVERRIDE;
91 void willRestore() SK_OVERRIDE;
92 void didRestore() SK_OVERRIDE;
93 void didConcat(const SkMatrix&) SK_OVERRIDE;
94 void didSetMatrix(const SkMatrix&) SK_OVERRIDE;
95 void onClipRect(const SkRect&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE;
96 void onClipRRect(const SkRRect&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE;
97 void onClipPath(const SkPath&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE;
98 void onClipRegion(const SkRegion&, SkRegion::Op) SK_OVERRIDE;
99 void onDiscard() SK_OVERRIDE;
100
101 protected:
102 SkCanvas* fProxyTarget;
103 };
104
105 #endif // SkAndroidSDKCanvas_DEFINED
106
OLDNEW
« no previous file with comments | « gyp/utils.gyp ('k') | src/utils/android/SkAndroidSDKCanvas.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698