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

Unified Diff: skia/ext/platform_canvas.cc

Issue 2523673004: [NOT FOR COMMIT] Fully replace SkCanvas uses.
Patch Set: Support Android build. Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/ext/platform_canvas.h ('k') | skia/ext/skia_utils_mac.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/ext/platform_canvas.cc
diff --git a/skia/ext/platform_canvas.cc b/skia/ext/platform_canvas.cc
index ec99dfe92a8f6a4541747729d907c52e5fd2e21b..a0a88960d0da1b89cfe1f8137e2a7209127ca427 100644
--- a/skia/ext/platform_canvas.cc
+++ b/skia/ext/platform_canvas.cc
@@ -7,6 +7,7 @@
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "build/build_config.h"
+#include "skia/ext/cdl_canvas.h"
#include "skia/ext/platform_device.h"
#include "third_party/skia/include/core/SkMetaData.h"
#include "third_party/skia/include/core/SkTypes.h"
@@ -16,12 +17,12 @@ namespace {
#if defined(OS_MACOSX)
const char kIsPreviewMetafileKey[] = "CrIsPreviewMetafile";
-void SetBoolMetaData(const SkCanvas& canvas, const char* key, bool value) {
+void SetBoolMetaData(const CdlCanvas& canvas, const char* key, bool value) {
SkMetaData& meta = skia::GetMetaData(canvas);
meta.setBool(key, value);
}
-bool GetBoolMetaData(const SkCanvas& canvas, const char* key) {
+bool GetBoolMetaData(const CdlCanvas& canvas, const char* key) {
bool value;
SkMetaData& meta = skia::GetMetaData(canvas);
if (!meta.findBool(key, &value))
@@ -34,21 +35,21 @@ bool GetBoolMetaData(const SkCanvas& canvas, const char* key) {
namespace skia {
-SkBitmap ReadPixels(SkCanvas* canvas) {
+SkBitmap ReadPixels(CdlCanvas* canvas) {
SkBitmap bitmap;
- bitmap.setInfo(canvas->imageInfo());
+ bitmap.setInfo(GetSkCanvas(canvas)->imageInfo());
canvas->readPixels(&bitmap, 0, 0);
return bitmap;
}
-bool GetWritablePixels(SkCanvas* canvas, SkPixmap* result) {
+bool GetWritablePixels(CdlCanvas* canvas, SkPixmap* result) {
if (!canvas || !result) {
return false;
}
SkImageInfo info;
size_t row_bytes;
- void* pixels = canvas->accessTopLayerPixels(&info, &row_bytes);
+ void* pixels = GetSkCanvas(canvas)->accessTopLayerPixels(&info, &row_bytes);
if (!pixels) {
result->reset();
return false;
@@ -58,42 +59,42 @@ bool GetWritablePixels(SkCanvas* canvas, SkPixmap* result) {
return true;
}
-bool SupportsPlatformPaint(const SkCanvas* canvas) {
- return GetPlatformDevice(canvas->getTopDevice(true)) != nullptr;
+bool SupportsPlatformPaint(const CdlCanvas* canvas) {
+ return GetPlatformDevice(GetSkCanvas(canvas)->getTopDevice(true)) != nullptr;
}
size_t PlatformCanvasStrideForWidth(unsigned width) {
return 4 * width;
}
-std::unique_ptr<SkCanvas> CreateCanvas(const sk_sp<SkBaseDevice>& device,
- OnFailureType failureType) {
+std::unique_ptr<CdlCanvas> CreateCanvas(const sk_sp<SkBaseDevice>& device,
+ OnFailureType failureType) {
if (!device) {
if (CRASH_ON_FAILURE == failureType)
SK_CRASH();
return nullptr;
}
- return base::MakeUnique<SkCanvas>(device.get());
+ return base::MakeUnique<CdlCanvas>(device.get());
}
-SkMetaData& GetMetaData(const SkCanvas& canvas) {
- SkBaseDevice* device = canvas.getDevice();
+SkMetaData& GetMetaData(const CdlCanvas& canvas) {
+ SkBaseDevice* device = GetSkCanvas(&canvas)->getDevice();
DCHECK(device != nullptr);
return device->getMetaData();
}
#if defined(OS_MACOSX)
-void SetIsPreviewMetafile(const SkCanvas& canvas, bool is_preview) {
+void SetIsPreviewMetafile(const CdlCanvas& canvas, bool is_preview) {
SetBoolMetaData(canvas, kIsPreviewMetafileKey, is_preview);
}
-bool IsPreviewMetafile(const SkCanvas& canvas) {
+bool IsPreviewMetafile(const CdlCanvas& canvas) {
return GetBoolMetaData(canvas, kIsPreviewMetafileKey);
}
-CGContextRef GetBitmapContext(const SkCanvas& canvas) {
+CGContextRef GetBitmapContext(const CdlCanvas& canvas) {
PlatformDevice* platform_device =
- GetPlatformDevice(canvas.getTopDevice(true));
+ GetPlatformDevice(GetSkCanvas(&canvas)->getTopDevice(true));
SkIRect clip_bounds;
canvas.getClipDeviceBounds(&clip_bounds);
return platform_device ?
@@ -104,16 +105,17 @@ CGContextRef GetBitmapContext(const SkCanvas& canvas) {
#endif
-ScopedPlatformPaint::ScopedPlatformPaint(SkCanvas* canvas) :
- canvas_(canvas),
- native_drawing_context_(nullptr) {
+ScopedPlatformPaint::ScopedPlatformPaint(CdlCanvas* canvas)
+ : canvas_(canvas), native_drawing_context_(nullptr) {
// TODO(tomhudson) we're assuming non-null canvas?
- PlatformDevice* platform_device = GetPlatformDevice(canvas->getTopDevice(true));
+ PlatformDevice* platform_device =
+ GetPlatformDevice(GetSkCanvas(canvas)->getTopDevice(true));
if (platform_device) {
// Compensate for drawing to a layer rather than the entire canvas
SkMatrix ctm;
SkIRect clip_bounds;
- canvas->temporary_internal_describeTopLayer(&ctm, &clip_bounds);
+ GetSkCanvas(canvas)->temporary_internal_describeTopLayer(&ctm,
+ &clip_bounds);
native_drawing_context_ = platform_device->BeginPlatformPaint(ctm, clip_bounds);
}
}
« no previous file with comments | « skia/ext/platform_canvas.h ('k') | skia/ext/skia_utils_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698