| // Copyright (c) 2009 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 GFX_BLIT_H_ |
| #define GFX_BLIT_H_ |
| #pragma once |
| |
| #include "gfx/native_widget_types.h" |
| |
| namespace skia { |
| class PlatformCanvas; |
| } // namespace skia |
| |
| namespace gfx { |
| |
| class Point; |
| class Rect; |
| |
| // Blits a rectangle from the source context into the destination context. |
| void BlitContextToContext(NativeDrawingContext dst_context, |
| const Rect& dst_rect, |
| NativeDrawingContext src_context, |
| const Point& src_origin); |
| |
| // Blits a rectangle from the source context into the destination canvas. |
| void BlitContextToCanvas(skia::PlatformCanvas *dst_canvas, |
| const Rect& dst_rect, |
| NativeDrawingContext src_context, |
| const Point& src_origin); |
| |
| // Blits a rectangle from the source canvas into the destination context. |
| void BlitCanvasToContext(NativeDrawingContext dst_context, |
| const Rect& dst_rect, |
| skia::PlatformCanvas *src_canvas, |
| const Point& src_origin); |
| |
| // Blits a rectangle from the source canvas into the destination canvas. |
| void BlitCanvasToCanvas(skia::PlatformCanvas *dst_canvas, |
| const Rect& dst_rect, |
| skia::PlatformCanvas *src_canvas, |
| const Point& src_origin); |
| |
| // Scrolls the given subset of the given canvas by the given amount. |
| // The canvas should not have a clip or a transform applied, since platforms |
| // may implement those operations differently. |
| void ScrollCanvas(skia::PlatformCanvas* canvas, |
| const Rect& clip, |
| const Point& amount); |
| |
| } // namespace gfx |
| |
| #endif // GFX_BLIT_H_ |