shared_bitmap_manager.h revision 23730a6e56a168d1879203e4b3819bb36e3d8f1f
1// Copyright 2013 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 CC_RESOURCES_SHARED_BITMAP_MANAGER_H_
6#define CC_RESOURCES_SHARED_BITMAP_MANAGER_H_
7
8#include "base/basictypes.h"
9#include "cc/base/cc_export.h"
10#include "cc/resources/shared_bitmap.h"
11#include "ui/gfx/size.h"
12
13namespace cc {
14
15class CC_EXPORT SharedBitmapManager {
16 public:
17  SharedBitmapManager() {}
18  virtual ~SharedBitmapManager() {}
19
20  virtual scoped_ptr<SharedBitmap> AllocateSharedBitmap(const gfx::Size&) = 0;
21  virtual scoped_ptr<SharedBitmap> GetSharedBitmapFromId(
22      const gfx::Size&,
23      const SharedBitmapId&) = 0;
24  virtual scoped_ptr<SharedBitmap> GetBitmapForSharedMemory(
25      base::SharedMemory*) = 0;
26
27 private:
28  DISALLOW_COPY_AND_ASSIGN(SharedBitmapManager);
29};
30
31}  // namespace cc
32
33#endif  // CC_RESOURCES_SHARED_BITMAP_MANAGER_H_
34