#ifndef CHROME_BROWSER_VR_ELEMENTS_TEXT_H_
#define CHROME_BROWSER_VR_ELEMENTS_TEXT_H_
#include <memory>
#include "chrome/browser/vr/elements/textured_element.h"
#include "chrome/browser/vr/elements/ui_texture.h"
#include "chrome/browser/vr/model/color_scheme.h"
#include "chrome/browser/vr/vr_ui_export.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkRect.h"
#include "ui/gfx/font.h"
#include "ui/gfx/range/range.h"
#include "ui/gfx/text_constants.h"
namespace gfx {
class RenderText;
}
namespace vr {
class TextTexture;
class VR_UI_EXPORT Text : public TexturedElement {
public:
explicit Text(float font_height_dmms);
Text(const Text&) = delete;
Text& operator=(const Text&) = delete;
~Text() override;
void SetText(const std::u16string& text);
void SetFieldWidth(float width);
virtual void SetColor(SkColor color);
const std::vector<std::unique_ptr<gfx::RenderText>>& LinesForTest();
private:
UiTexture* GetTexture() const override;
bool TextureDependsOnMeasurement() const override;
gfx::Size MeasureTextureSize() override;
std::unique_ptr<TextTexture> texture_;
gfx::Size text_texture_size_;
float field_width_ = 0.f;
};
}
#endif