Chromium Code Reviews| Index: ui/gfx/decorated_text.h |
| diff --git a/ui/gfx/decorated_text.h b/ui/gfx/decorated_text.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..898498e2f7395aa4e83e11f0c7899a6f375c7615 |
| --- /dev/null |
| +++ b/ui/gfx/decorated_text.h |
| @@ -0,0 +1,48 @@ |
| +// 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. |
| + |
| +#ifndef UI_GFX_DECORATED_TEXT_H_ |
| +#define UI_GFX_DECORATED_TEXT_H_ |
| + |
| +#include <vector> |
| + |
| +#include "base/strings/string16.h" |
| +#include "ui/gfx/font.h" |
| +#include "ui/gfx/range/range.h" |
| + |
| +namespace gfx { |
| + |
| +// Encapsulates styling information for some given text. |
| +struct DecoratedText { |
| + // Describes the various text decoration attributes applicable to a given |
| + // range of text. |
| + struct 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; |
| + Font::Weight weight; |
|
tapted
2016/09/26 02:02:31
can weight, underline, italic be retrieved from th
karandeepb
2016/09/26 07:00:08
I am retrieving these from TextRunHarfBuzz. Its fo
|
| + bool underline; |
| + bool italic; |
| + bool strike; |
| + bool diagonal_strike; |
| + }; |
| + |
| + DecoratedText(); |
| + ~DecoratedText(); |
| + |
| + base::string16 text; |
| + |
| + // Vector of RangedAttribute describing styling of non-overlapping ranges |
| + // in |text|. |
| + std::vector<RangedAttribute> attributes; |
| +}; |
| + |
| +}; // namespace gfx |
| + |
| +#endif // UI_GFX_DECORATED_TEXT_H_ |