blob: ac75b31b87ef7ba661892ab8abdccefd3563a1ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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, TOOLBAR };
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_
|