blob: 4fda0b560b291c452280eedecb8cc19c57df7ee7 [file] [log] [blame]
// 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_