OLD | NEW |
---|---|
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 |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
195 return fLegacyBitmap; | 195 return fLegacyBitmap; |
196 } | 196 } |
197 | 197 |
198 SkSurface* newSurface(const SkImageInfo&, const SkSurfaceProps&) override; | 198 SkSurface* newSurface(const SkImageInfo&, const SkSurfaceProps&) override; |
199 | 199 |
200 void drawAnnotation(const SkDraw&, const SkRect&, const char key[], SkData* value) override; | 200 void drawAnnotation(const SkDraw&, const SkRect&, const char key[], SkData* value) override; |
201 | 201 |
202 private: | 202 private: |
203 struct RectWithData { | 203 struct RectWithData { |
204 SkRect rect; | 204 SkRect rect; |
205 SkData* data; | 205 sk_sp<SkData> data; |
206 RectWithData(const SkRect& rect, SkData* data) | 206 RectWithData(const SkRect& rect, SkData* data) |
207 : rect(rect), data(SkRef(data)) {} | 207 : rect(rect), data(SkRef(data)) {} |
208 ~RectWithData() { data->unref(); } | 208 RectWithData(RectWithData&& other) |
reed1
2016/03/07 20:47:42
Seems like these are explicitly written (as oppose
| |
209 : rect(other.rect), data(std::move(other.data)) {} | |
210 RectWithData& operator=(RectWithData&& other) { | |
211 rect = other.rect; | |
212 data = std::move(other.data); | |
213 return *this; | |
214 } | |
209 }; | 215 }; |
210 | 216 |
211 struct NamedDestination { | 217 struct NamedDestination { |
212 SkData* nameData; | 218 sk_sp<SkData> nameData; |
213 SkPoint point; | 219 SkPoint point; |
214 NamedDestination(SkData* nameData, const SkPoint& point) | 220 NamedDestination(SkData* nameData, const SkPoint& point) |
215 : nameData(SkRef(nameData)), point(point) {} | 221 : nameData(SkRef(nameData)), point(point) {} |
216 ~NamedDestination() { nameData->unref(); } | 222 NamedDestination(NamedDestination&& other) |
223 : nameData(std::move(other.nameData)), point(other.point) {} | |
224 NamedDestination& operator=(NamedDestination&& other) { | |
225 nameData = std::move(other.nameData); | |
226 point = other.point; | |
227 return *this; | |
228 } | |
217 }; | 229 }; |
218 | 230 |
219 // TODO(vandebo): push most of SkPDFDevice's state into a core object in | 231 // TODO(vandebo): push most of SkPDFDevice's state into a core object in |
220 // order to get the right access levels without using friend. | 232 // order to get the right access levels without using friend. |
221 friend class ScopedContentEntry; | 233 friend class ScopedContentEntry; |
222 | 234 |
223 SkISize fPageSize; | 235 SkISize fPageSize; |
224 SkISize fContentSize; | 236 SkISize fContentSize; |
225 SkMatrix fInitialTransform; | 237 SkMatrix fInitialTransform; |
226 SkClipStack fExistingClipStack; | 238 SkClipStack fExistingClipStack; |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
325 | 337 |
326 typedef SkBaseDevice INHERITED; | 338 typedef SkBaseDevice INHERITED; |
327 | 339 |
328 // TODO(edisonn): Only SkDocument_PDF and SkPDFImageShader should be able to create | 340 // TODO(edisonn): Only SkDocument_PDF and SkPDFImageShader should be able to create |
329 // an SkPDFDevice | 341 // an SkPDFDevice |
330 //friend class SkDocument_PDF; | 342 //friend class SkDocument_PDF; |
331 //friend class SkPDFImageShader; | 343 //friend class SkPDFImageShader; |
332 }; | 344 }; |
333 | 345 |
334 #endif | 346 #endif |
OLD | NEW |