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

Side by Side Diff: src/pdf/SkPDFDevice.h

Issue 2241683005: SkPDF: unify drawText and drawPosText (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: compile on win Created 4 years, 4 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 | « no previous file | src/pdf/SkPDFDevice.cpp » ('j') | src/pdf/SkPDFDevice.cpp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 Google Inc. 2 * Copyright 2011 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkPDFDevice_DEFINED 8 #ifndef SkPDFDevice_DEFINED
9 #define SkPDFDevice_DEFINED 9 #define SkPDFDevice_DEFINED
10 10
11 #include "SkBitmap.h" 11 #include "SkBitmap.h"
12 #include "SkCanvas.h" 12 #include "SkCanvas.h"
13 #include "SkClipStack.h" 13 #include "SkClipStack.h"
14 #include "SkData.h" 14 #include "SkData.h"
15 #include "SkDevice.h" 15 #include "SkDevice.h"
16 #include "SkPaint.h" 16 #include "SkPaint.h"
17 #include "SkRect.h" 17 #include "SkRect.h"
18 #include "SkRefCnt.h" 18 #include "SkRefCnt.h"
19 #include "SkSinglyLinkedList.h"
19 #include "SkStream.h" 20 #include "SkStream.h"
20 #include "SkTDArray.h" 21 #include "SkTDArray.h"
21 22 #include "SkTextBlob.h"
22 #include "SkSinglyLinkedList.h"
23 23
24 class SkImageBitmap; 24 class SkImageBitmap;
25 class SkPath; 25 class SkPath;
26 class SkPDFArray; 26 class SkPDFArray;
27 class SkPDFCanon; 27 class SkPDFCanon;
28 class SkPDFDevice; 28 class SkPDFDevice;
29 class SkPDFDocument; 29 class SkPDFDocument;
30 class SkPDFDict; 30 class SkPDFDict;
31 class SkPDFFont; 31 class SkPDFFont;
32 class SkPDFObject; 32 class SkPDFObject;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 const SkPoint texs[], const SkColor colors[], 116 const SkPoint texs[], const SkColor colors[],
117 SkXfermode* xmode, const uint16_t indices[], 117 SkXfermode* xmode, const uint16_t indices[],
118 int indexCount, const SkPaint& paint) override; 118 int indexCount, const SkPaint& paint) override;
119 void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y, 119 void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y,
120 const SkPaint&) override; 120 const SkPaint&) override;
121 121
122 SkImageInfo imageInfo() const override; 122 SkImageInfo imageInfo() const override;
123 123
124 // PDF specific methods. 124 // PDF specific methods.
125 125
126 void drawTextInternal(const SkDraw&, const void*, size_t, const SkScalar pos [],
bungeman-skia 2016/08/15 17:03:37 Any particular reason for this to be public?
hal.canary 2016/08/15 18:14:22 no. fixed.
127 SkTextBlob::GlyphPositioning, SkPoint, const SkPaint&) ;
128
126 /** Create the resource dictionary for this device. */ 129 /** Create the resource dictionary for this device. */
127 sk_sp<SkPDFDict> makeResourceDict() const; 130 sk_sp<SkPDFDict> makeResourceDict() const;
128 131
129 /** Get the fonts used on this device. 132 /** Get the fonts used on this device.
130 */ 133 */
131 const SkTDArray<SkPDFFont*>& getFontResources() const; 134 const SkTDArray<SkPDFFont*>& getFontResources() const;
132 135
133 /** Add our annotations (link to urls and destinations) to the supplied 136 /** Add our annotations (link to urls and destinations) to the supplied
134 * array. 137 * array.
135 * @param array Array to add annotations to. 138 * @param array Array to add annotations to.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 187
185 // We may change the font (i.e. for Type1 support) within a 188 // We may change the font (i.e. for Type1 support) within a
186 // ContentEntry. This is the one currently in effect, or nullptr if non e. 189 // ContentEntry. This is the one currently in effect, or nullptr if non e.
187 SkPDFFont* fFont; 190 SkPDFFont* fFont;
188 // In PDF, text size has no default value. It is only valid if fFont is 191 // In PDF, text size has no default value. It is only valid if fFont is
189 // not nullptr. 192 // not nullptr.
190 SkScalar fTextSize; 193 SkScalar fTextSize;
191 }; 194 };
192 195
193 protected: 196 protected:
194 sk_sp<SkSurface> makeSurface(const SkImageInfo&, const SkSurfaceProps&) over ride; 197 sk_sp<SkSurface> makeSurface(const SkImageInfo&, const SkSurfaceProps&) over ride;
bungeman-skia 2016/08/15 17:03:37 Since I was looking at visibility, these are prote
hal.canary 2016/08/15 18:14:22 Acknowledged.
195 198
196 void drawAnnotation(const SkDraw&, const SkRect&, const char key[], SkData* value) override; 199 void drawAnnotation(const SkDraw&, const SkRect&, const char key[], SkData* value) override;
197 200
198 void drawSpecial(const SkDraw&, SkSpecialImage*, int x, int y, const SkPaint &) override; 201 void drawSpecial(const SkDraw&, SkSpecialImage*, int x, int y, const SkPaint &) override;
199 sk_sp<SkSpecialImage> makeSpecial(const SkBitmap&) override; 202 sk_sp<SkSpecialImage> makeSpecial(const SkBitmap&) override;
200 sk_sp<SkSpecialImage> makeSpecial(const SkImage*) override; 203 sk_sp<SkSpecialImage> makeSpecial(const SkImage*) override;
201 sk_sp<SkSpecialImage> snapSpecial() override; 204 sk_sp<SkSpecialImage> snapSpecial() override;
202 205
203 private: 206 private:
204 struct RectWithData { 207 struct RectWithData {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 314
312 typedef SkBaseDevice INHERITED; 315 typedef SkBaseDevice INHERITED;
313 316
314 // TODO(edisonn): Only SkDocument_PDF and SkPDFImageShader should be able to create 317 // TODO(edisonn): Only SkDocument_PDF and SkPDFImageShader should be able to create
315 // an SkPDFDevice 318 // an SkPDFDevice
316 //friend class SkDocument_PDF; 319 //friend class SkDocument_PDF;
317 //friend class SkPDFImageShader; 320 //friend class SkPDFImageShader;
318 }; 321 };
319 322
320 #endif 323 #endif
OLDNEW
« no previous file with comments | « no previous file | src/pdf/SkPDFDevice.cpp » ('j') | src/pdf/SkPDFDevice.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698