1
// vim:expandtab:shiftwidth=2:tabstop=2:
2
// Copyright (C) 2013 Canonical Ltd.
4
// This library is free software; you can redistribute it and/or
5
// modify it under the terms of the GNU Lesser General Public
6
// License as published by the Free Software Foundation; either
7
// version 2.1 of the License, or (at your option) any later version.
9
// This library is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// Lesser General Public License for more details.
14
// You should have received a copy of the GNU Lesser General Public
15
// License along with this library; if not, write to the Free Software
16
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
#ifndef _OXIDE_QT_CORE_BROWSER_BACKING_STORE_H_
19
#define _OXIDE_QT_CORE_BROWSER_BACKING_STORE_H_
24
#include "base/basictypes.h"
25
#include "base/compiler_specific.h"
26
#include "content/browser/renderer_host/backing_store.h"
33
class BackingStore FINAL : public content::BackingStore {
35
BackingStore(content::RenderWidgetHost* widget, const gfx::Size& size);
37
void PaintToBackingStore(
38
content::RenderProcessHost* process,
39
TransportDIB::Id bitmap,
40
const gfx::Rect& bitmap_rect,
41
const std::vector<gfx::Rect>& copy_rects,
43
const base::Closure& completion_callback,
44
bool* scheduled_completion_callback) FINAL;
46
bool CopyFromBackingStore(const gfx::Rect& rect,
47
skia::PlatformBitmap* output) FINAL;
49
void ScrollBackingStore(const gfx::Vector2d& delta,
50
const gfx::Rect& clip_rect,
51
const gfx::Size& view_size) FINAL;
53
const QPixmap* pixmap() const { return &pixmap_; }
58
DISALLOW_IMPLICIT_CONSTRUCTORS(BackingStore);
64
#endif // _OXIDE_QT_CORE_BROWSER_BACKING_STORE_H_