OLD | NEW |
(Empty) | |
| 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_UI_RESOURCE_CLIENT_H_ |
| 6 #define CC_RESOURCES_UI_RESOURCE_CLIENT_H_ |
| 7 |
| 8 #include "base/basictypes.h" |
| 9 #include "base/callback.h" |
| 10 #include "base/memory/ref_counted.h" |
| 11 #include "cc/base/cc_export.h" |
| 12 |
| 13 namespace cc { |
| 14 |
| 15 class UIResourceBitmap; |
| 16 |
| 17 typedef int UIResourceId; |
| 18 |
| 19 class CC_EXPORT UIResourceClient { |
| 20 public: |
| 21 // GetBitmap() will be called once soon after resource creation and then will |
| 22 // be called afterwards whenever the GL context is lost, on the same thread |
| 23 // that LayerTreeHost::CreateUIResource was called on. It is only safe to |
| 24 // delete a UIResourceClient object after DeleteUIResource has been called for |
| 25 // all IDs associated with it. A valid bitmap always must be returned but it |
| 26 // doesn't need to be the same size or format as the original. |
| 27 virtual scoped_refptr<UIResourceBitmap> GetBitmap(UIResourceId uid, |
| 28 bool resource_lost) = 0; |
| 29 virtual ~UIResourceClient() {} |
| 30 }; |
| 31 |
| 32 } // namespace cc |
| 33 |
| 34 #endif // CC_RESOURCES_UI_RESOURCE_CLIENT_H_ |
OLD | NEW |