Home | History | Annotate | Download | only in gfx
      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