Index: skia/ext/canvas_paint_x.h |
diff --git a/skia/ext/canvas_paint_x.h b/skia/ext/canvas_paint_x.h |
deleted file mode 100644 |
index a714a2ed67f7c5962acc1fb67315ef16f8d0e3aa..0000000000000000000000000000000000000000 |
--- a/skia/ext/canvas_paint_x.h |
+++ /dev/null |
@@ -1,118 +0,0 @@ |
-// Copyright (c) 2011 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. |
- |
-#ifndef SKIA_EXT_CANVAS_PAINT_WAYLAND_H_ |
-#define SKIA_EXT_CANVAS_PAINT_WAYLAND_H_ |
-#pragma once |
- |
-#include "base/logging.h" |
-#include "skia/ext/canvas_paint_common.h" |
-#include "skia/ext/platform_canvas.h" |
- |
-#include <cairo/cairo.h> |
- |
-namespace skia { |
- |
-// A class designed to translate skia painting into a region in a Wayland window |
-// surface. On construction, it will set up a context for painting into, and on |
-// destruction, it will commit it to the Wayland window surface. |
-// Note: The created context is always inialized to (0, 0, 0, 0). |
-template <class T> |
-class CanvasPaintT : public T { |
- public: |
- // This constructor assumes the result is opaque. |
- CanvasPaintT(cairo_surface_t* cairo_window_surface, |
- cairo_rectangle_t* region) |
- : context_(NULL), |
- cairo_window_surface_(cairo_window_surface), |
- region_(region), |
- composite_alpha_(false) { |
- init(true); |
- } |
- |
- CanvasPaintT(cairo_surface_t* cairo_window_surface, |
- cairo_rectangle_t* region, |
- bool opaque) |
- : context_(NULL), |
- cairo_window_surface_(cairo_window_surface), |
- region_(region), |
- composite_alpha_(false) { |
- init(opaque); |
- } |
- |
- virtual ~CanvasPaintT() { |
- if (!is_empty()) { |
- PlatformCanvas* canvas = GetPlatformCanvas(this); |
- canvas->restoreToCount(1); |
- |
- // Blit the dirty rect to the window. |
- CHECK(cairo_window_surface_); |
- cairo_t* cr = cairo_create(cairo_window_surface_); |
- CHECK(cr); |
- |
- if (composite_alpha_) |
- cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); |
- |
- cairo_surface_t* source_surface = cairo_get_target(context_); |
- CHECK(source_surface); |
- // Flush cairo's cache of the surface. |
- cairo_surface_mark_dirty(source_surface); |
- cairo_set_source_surface(cr, source_surface, region_->x, region_->y); |
- cairo_rectangle(cr, |
- region_->x, |
- region_->y, |
- region_->width, |
- region_->height); |
- cairo_fill(cr); |
- cairo_destroy(cr); |
- } |
- } |
- |
- // Sets whether the bitmap is composited in such a way that the alpha channel |
- // is honored. This is only useful if you've enabled an RGBA colormap on the |
- // widget. The default is false. |
- void set_composite_alpha(bool composite_alpha) { |
- composite_alpha_ = composite_alpha; |
- } |
- |
- // Returns true if the invalid region is empty. The caller should call this |
- // function to determine if anything needs painting. |
- bool is_empty() const { |
- return region_->width == 0 && region_->height == 0; |
- } |
- |
- private: |
- void init(bool opaque) { |
- PlatformCanvas* canvas = GetPlatformCanvas(this); |
- if (!canvas->initialize(region_->width, region_->height, opaque, NULL)) { |
- // Cause a deliberate crash; |
- CHECK(false); |
- } |
- // No need to clear the canvas, because cairo automatically performs the |
- // clear. |
- |
- // Need to translate so that the dirty region appears at the origin of the |
- // surface. |
- canvas->translate(-SkDoubleToScalar(region_->x), |
- -SkDoubleToScalar(region_->y)); |
- |
- context_ = BeginPlatformPaint(canvas); |
- } |
- |
- cairo_t* context_; |
- cairo_surface_t* cairo_window_surface_; |
- cairo_rectangle_t* region_; |
- // See description above setter. |
- bool composite_alpha_; |
- |
- // Disallow copy and assign. |
- CanvasPaintT(const CanvasPaintT&); |
- CanvasPaintT& operator=(const CanvasPaintT&); |
-}; |
- |
-typedef CanvasPaintT<PlatformCanvas> PlatformCanvasPaint; |
- |
-} // namespace skia |
- |
-#endif // SKIA_EXT_CANVAS_PAINT_WAYLAND_H_ |