RAMSES Documentation  27.0.130
Information for RAMSES users and developers
TextLine.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Copyright (C) 2018 BMW Car IT GmbH
3 // -------------------------------------------------------------------------
4 // This Source Code Form is subject to the terms of the Mozilla Public
5 // License, v. 2.0. If a copy of the MPL was not distributed with this
6 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 // -------------------------------------------------------------------------
8 
9 #ifndef RAMSES_TEXTLINE_H
10 #define RAMSES_TEXTLINE_H
11 
13 #include <limits>
14 
15 namespace ramses
16 {
20  struct TextLineIdTag {};
21 
26 
27  class MeshNode;
28  class ArrayBuffer;
29 
33  struct TextLine
34  {
36  MeshNode* meshNode = nullptr;
38  std::size_t atlasPage = std::numeric_limits<std::size_t>::max();
42  ArrayBuffer* positions = nullptr;
46  ArrayBuffer* indices = nullptr;
47  };
48 
49  static_assert(std::is_move_constructible<TextLine>::value, "TextLine must be movable");
50  static_assert(std::is_move_assignable<TextLine>::value, "TextLine must be movable");
51 }
52 
53 #endif
The ArrayBuffer is a data object used to provide vertex or index data to ramses::GeometryBinding::set...
Definition: ArrayBuffer.h:27
The MeshNode holds all information which is needed to render an object to the screen.
Definition: MeshNode.h:25
Helper class to create strongly typed values out of various types.
Definition: StronglyTypedValue.h:23
The RAMSES namespace contains all client side objects and functions used to implement RAMSES applicat...
Definition: AnimatedProperty.h:15
std::vector< GlyphMetrics > GlyphMetricsVector
Vector of GlyphMetrics elements.
Definition: GlyphMetrics.h:42
An empty struct to make TextLineId a strong type.
Definition: TextLine.h:20
Groups the scene objects needed to render a text line.
Definition: TextLine.h:34
MeshNode * meshNode
Mesh node that represents the text.
Definition: TextLine.h:36
GlyphMetricsVector glyphs
Glyph metrics of the original string characters.
Definition: TextLine.h:40
ArrayBuffer * textureCoordinates
Stores texture coordinate data for the text line quads.
Definition: TextLine.h:44
ArrayBuffer * positions
Stores vertex data for the text line quads.
Definition: TextLine.h:42
ArrayBuffer * indices
Stores index data for the text line quads.
Definition: TextLine.h:46
std::size_t atlasPage
Index to the atlas page containing the glyphs.
Definition: TextLine.h:38