diff options
Diffstat (limited to 'chromium/cc/resources/ui_resource_client.h')
-rw-r--r-- | chromium/cc/resources/ui_resource_client.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/chromium/cc/resources/ui_resource_client.h b/chromium/cc/resources/ui_resource_client.h new file mode 100644 index 00000000000..d647936baee --- /dev/null +++ b/chromium/cc/resources/ui_resource_client.h @@ -0,0 +1,34 @@ +// Copyright 2013 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 CC_RESOURCES_UI_RESOURCE_CLIENT_H_ +#define CC_RESOURCES_UI_RESOURCE_CLIENT_H_ + +#include "base/basictypes.h" +#include "base/callback.h" +#include "base/memory/ref_counted.h" +#include "cc/base/cc_export.h" + +namespace cc { + +class UIResourceBitmap; + +typedef int UIResourceId; + +class CC_EXPORT UIResourceClient { + public: + // GetBitmap() will be called once soon after resource creation and then will + // be called afterwards whenever the GL context is lost, on the same thread + // that LayerTreeHost::CreateUIResource was called on. It is only safe to + // delete a UIResourceClient object after DeleteUIResource has been called for + // all IDs associated with it. A valid bitmap always must be returned but it + // doesn't need to be the same size or format as the original. + virtual scoped_refptr<UIResourceBitmap> GetBitmap(UIResourceId uid, + bool resource_lost) = 0; + virtual ~UIResourceClient() {} +}; + +} // namespace cc + +#endif // CC_RESOURCES_UI_RESOURCE_CLIENT_H_ |