11e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 21e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 31e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// found in the LICENSE file. 41e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 51e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#ifndef CC_RESOURCES_SHARED_BITMAP_MANAGER_H_ 61e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#define CC_RESOURCES_SHARED_BITMAP_MANAGER_H_ 71e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 81e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "base/basictypes.h" 91e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "cc/base/cc_export.h" 101e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "cc/resources/shared_bitmap.h" 111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "ui/gfx/size.h" 121e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace cc { 141e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 151e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)class CC_EXPORT SharedBitmapManager { 161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) public: 171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) SharedBitmapManager() {} 1823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) virtual ~SharedBitmapManager() {} 191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual scoped_ptr<SharedBitmap> AllocateSharedBitmap(const gfx::Size&) = 0; 211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) virtual scoped_ptr<SharedBitmap> GetSharedBitmapFromId( 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const gfx::Size&, 231e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) const SharedBitmapId&) = 0; 241e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) virtual scoped_ptr<SharedBitmap> GetBitmapForSharedMemory( 251e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) base::SharedMemory*) = 0; 261e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) private: 281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(SharedBitmapManager); 291e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}; 301e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 311e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} // namespace cc 321e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 331e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#endif // CC_RESOURCES_SHARED_BITMAP_MANAGER_H_ 34