summaryrefslogtreecommitdiffstats
path: root/ui/gfx/canvas_paint_win.cc
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-25 00:10:14 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-25 00:10:14 +0000
commitae43b850c0d3cd6f82d0b639c349ef896ca55a09 (patch)
tree9351048b577b779b3fdc80cfcaa8375ef94a732e /ui/gfx/canvas_paint_win.cc
parentbca7497622b009bca0597c48f8c43ec0a7121fbd (diff)
downloadchromium_src-ae43b850c0d3cd6f82d0b639c349ef896ca55a09.zip
chromium_src-ae43b850c0d3cd6f82d0b639c349ef896ca55a09.tar.gz
chromium_src-ae43b850c0d3cd6f82d0b639c349ef896ca55a09.tar.bz2
ui/gfx: Move CanvasPaintWin into its own file.
This fix the TODO for ben@ in canvas_skia.cc. R=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/9453019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123598 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/canvas_paint_win.cc')
-rw-r--r--ui/gfx/canvas_paint_win.cc58
1 files changed, 58 insertions, 0 deletions
diff --git a/ui/gfx/canvas_paint_win.cc b/ui/gfx/canvas_paint_win.cc
new file mode 100644
index 0000000..3264f3c
--- /dev/null
+++ b/ui/gfx/canvas_paint_win.cc
@@ -0,0 +1,58 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/basictypes.h"
+#include "base/compiler_specific.h"
+#include "ui/gfx/canvas_paint.h"
+#include "ui/gfx/canvas_skia_paint.h"
+#include "ui/gfx/rect.h"
+
+namespace {
+
+#if !defined(USE_AURA)
+class CanvasPaintWin : public gfx::CanvasPaint, public gfx::CanvasSkiaPaint {
+ public:
+ CanvasPaintWin(gfx::NativeView view);
+ virtual ~CanvasPaintWin();
+
+ // Overridden from CanvasPaint:
+ virtual bool IsValid() const OVERRIDE;
+ virtual gfx::Rect GetInvalidRect() const OVERRIDE;
+ virtual gfx::Canvas* AsCanvas() OVERRIDE;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(CanvasPaintWin);
+};
+
+CanvasPaintWin::CanvasPaintWin(gfx::NativeView view)
+ : gfx::CanvasSkiaPaint(view) {}
+
+CanvasPaintWin::~CanvasPaintWin() {}
+
+bool CanvasPaintWin::IsValid() const {
+ return isEmpty();
+}
+
+gfx::Rect CanvasPaintWin::GetInvalidRect() const {
+ return gfx::Rect(paintStruct().rcPaint);
+}
+
+gfx::Canvas* CanvasPaintWin::AsCanvas() {
+ return this;
+}
+#endif
+
+} // namespace
+
+namespace gfx {
+
+CanvasPaint* CanvasPaint::CreateCanvasPaint(gfx::NativeView view) {
+#if !defined(USE_AURA)
+ return new CanvasPaintWin(view);
+#else
+ return NULL;
+#endif
+}
+
+} // namespace gfx