blob: d1611523ebddfe37f6056aa98ef7acf6038371ca [file] [log] [blame]
// Copyright 2016 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.
#include <vector>
#include "base/strings/string16.h"
#include "ui/gfx/font.h"
#include "ui/gfx/gfx_export.h"
#include "ui/gfx/range/range.h"
namespace gfx {
// Encapsulates styling information for some given text.
struct GFX_EXPORT DecoratedText {
// Describes the various text decoration attributes applicable to a given
// range of text.
struct GFX_EXPORT RangedAttribute {
// Disallow default construction of Font, since that's slow.
RangedAttribute() = delete;
RangedAttribute(const Range& range, const Font& font);
// The range in |text|, this RangedAttribute corresponds to. Should not be
// reversed and should lie within the bounds of |text|.
Range range;
Font font;
bool strike;
base::string16 text;
// Vector of RangedAttribute describing styling of non-overlapping ranges
// in |text|.
std::vector<RangedAttribute> attributes;
} // namespace gfx