• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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