~oxide-developers/oxide/1.2

« back to all changes in this revision

Viewing changes to oxide-qt/core/browser/oxide_qt_backing_store.h

  • Committer: Chris Coulson
  • Date: 2013-07-23 11:40:24 UTC
  • Revision ID: chris.coulson@canonical.com-20130723114024-p7z00cs9p0s5te6e
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// vim:expandtab:shiftwidth=2:tabstop=2:
 
2
// Copyright (C) 2013 Canonical Ltd.
 
3
 
 
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.
 
8
 
 
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.
 
13
 
 
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
 
17
 
 
18
#ifndef _OXIDE_QT_CORE_BROWSER_BACKING_STORE_H_
 
19
#define _OXIDE_QT_CORE_BROWSER_BACKING_STORE_H_
 
20
 
 
21
#include <QPixmap>
 
22
#include <QtGlobal>
 
23
 
 
24
#include "base/basictypes.h"
 
25
#include "base/compiler_specific.h"
 
26
#include "content/browser/renderer_host/backing_store.h"
 
27
 
 
28
QT_USE_NAMESPACE
 
29
 
 
30
namespace oxide {
 
31
namespace qt {
 
32
 
 
33
class BackingStore FINAL : public content::BackingStore {
 
34
 public:
 
35
  BackingStore(content::RenderWidgetHost* widget, const gfx::Size& size);
 
36
 
 
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,
 
42
      float scale_factor,
 
43
      const base::Closure& completion_callback,
 
44
      bool* scheduled_completion_callback) FINAL;
 
45
 
 
46
  bool CopyFromBackingStore(const gfx::Rect& rect,
 
47
                            skia::PlatformBitmap* output) FINAL;
 
48
 
 
49
  void ScrollBackingStore(const gfx::Vector2d& delta,
 
50
                          const gfx::Rect& clip_rect,
 
51
                          const gfx::Size& view_size) FINAL;
 
52
 
 
53
  const QPixmap* pixmap() const { return &pixmap_; }
 
54
 
 
55
 private:
 
56
  QPixmap pixmap_;
 
57
 
 
58
  DISALLOW_IMPLICIT_CONSTRUCTORS(BackingStore);
 
59
};
 
60
 
 
61
} // namespace qt
 
62
} // namespace oxide
 
63
 
 
64
#endif // _OXIDE_QT_CORE_BROWSER_BACKING_STORE_H_