Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Unified Diff: ui/android/resources/resource.h

Issue 2746483003: ui/android: Fix Resource meta-data sharing with ResourceManager. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/android/resources/resource.h
diff --git a/ui/android/resources/resource.h b/ui/android/resources/resource.h
new file mode 100644
index 0000000000000000000000000000000000000000..32768bd977f9a0348aad4a766cecdea1a182027d
--- /dev/null
+++ b/ui/android/resources/resource.h
@@ -0,0 +1,44 @@
+// Copyright 2017 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 UI_ANDROID_RESOURCES_RESOURCE_H_
+#define UI_ANDROID_RESOURCES_RESOURCE_H_
+
+#include "cc/resources/scoped_ui_resource.h"
+#include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/android/ui_android_export.h"
+#include "ui/gfx/geometry/rect.h"
+
+namespace ui {
+
+class UI_ANDROID_EXPORT Resource {
+ public:
+ enum class Type { BITMAP, NINE_PATCH_BITMAP, UNKNOWN };
mdjones 2017/03/10 18:12:00 What is UNKNOWN used for?
Khushal 2017/03/10 19:19:24 I was planning on using it for sub-classes outside
mdjones 2017/03/13 16:47:06 I don't think we should have chrome specific thing
Khushal 2017/03/13 21:03:25 My plan for getting rid of padding/aperture coming
+
+ Resource();
+ virtual ~Resource();
+
+ virtual std::unique_ptr<Resource> CreateForCopy();
+ void SetUIResource(std::unique_ptr<cc::ScopedUIResource> ui_resource,
+ const gfx::Size& size_in_px);
+ size_t EstimateMemoryUsage() const;
+
+ cc::ScopedUIResource* ui_resource() const { return ui_resource_.get(); }
+ gfx::Size size() const { return size_; }
+ Type type() const { return type_; }
+
+ protected:
+ Resource(Type type);
+
+ private:
+ const Type type_;
+
+ // Size of the bitmap in physical pixels.
+ gfx::Size size_;
+ std::unique_ptr<cc::ScopedUIResource> ui_resource_;
+};
+
+} // namespace ui
+
+#endif // UI_ANDROID_RESOURCES_RESOURCE_H_

Powered by Google App Engine
This is Rietveld 408576698