1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_GFX_BLIT_H_ 6 #define UI_GFX_BLIT_H_ 7 8 #include "ui/gfx/gfx_export.h" 9 #include "ui/gfx/native_widget_types.h" 10 11 class SkCanvas; 12 13 namespace gfx { 14 15 class Point; 16 class Rect; 17 class Vector2d; 18 19 // Blits a rectangle from the source context into the destination context. 20 GFX_EXPORT void BlitContextToContext(NativeDrawingContext dst_context, 21 const Rect& dst_rect, 22 NativeDrawingContext src_context, 23 const Point& src_origin); 24 25 // Blits a rectangle from the source context into the destination canvas. 26 GFX_EXPORT void BlitContextToCanvas(SkCanvas *dst_canvas, 27 const Rect& dst_rect, 28 NativeDrawingContext src_context, 29 const Point& src_origin); 30 31 // Blits a rectangle from the source canvas into the destination context. 32 GFX_EXPORT void BlitCanvasToContext(NativeDrawingContext dst_context, 33 const Rect& dst_rect, 34 SkCanvas *src_canvas, 35 const Point& src_origin); 36 37 // Blits a rectangle from the source canvas into the destination canvas. 38 GFX_EXPORT void BlitCanvasToCanvas(SkCanvas *dst_canvas, 39 const Rect& dst_rect, 40 SkCanvas *src_canvas, 41 const Point& src_origin); 42 43 // Scrolls the given subset of the given canvas by the given offset. 44 // The canvas should not have a clip or a transform applied, since platforms 45 // may implement those operations differently. 46 GFX_EXPORT void ScrollCanvas(SkCanvas* canvas, 47 const Rect& clip, 48 const Vector2d& offset); 49 50 } // namespace gfx 51 52 #endif // UI_GFX_BLIT_H_ 53