Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
TextMeshes
TextMeshBuilder.h
1
// Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2
3
#pragma once
4
5
#include "Types.h"
6
#include "Rendering.h"
7
#include "Space.h"
8
#include "Fonts.h"
9
#include <string>
10
#include <vector>
11
12
namespace
Eegeo
13
{
14
namespace
TextMeshes
15
{
16
struct
TextMeshBuilderResult;
17
18
namespace
Internal
19
{
20
class
TextMeshGenerator;
21
}
22
23
class
TextMeshBuilder
:
Eegeo::NonCopyable
24
{
25
public
:
26
TextMeshBuilder
(
Rendering::MeshFactories::TextMeshFactory
& textMeshFactory,
Internal::TextMeshGenerator
* generator)
27
: m_textMeshFactory(textMeshFactory)
28
, m_generator(generator)
29
, m_currentX(0.f)
30
{
31
}
32
33
virtual
~
TextMeshBuilder
();
34
35
virtual
void
Begin(
const
Fonts::FontInstance
* pFont,
size_t
initialCharacterCapacity);
36
37
virtual
void
GenerateMeshes(
bool
shadowed,
bool
doubleSided,
float
shadowOffsetMeters,
const
std::string& debugName,
const
Space::CubeMap::CubeMapCellInfo
& cellInfo,
TextMeshBuilderResult
& out_result) = 0;
38
39
virtual
bool
HasValidGeometry()
const
;
40
41
virtual
float
GetCurrentX()
const
{
return
m_currentX; }
42
43
protected
:
44
Rendering::MeshFactories::TextMeshFactory
& m_textMeshFactory;
45
Internal::TextMeshGenerator
*
const
m_generator;
46
float
m_currentX;
47
std::vector<u32> m_stringScratch;
48
};
49
}
50
}
Generated on Sat Jun 10 2023 02:00:34 for eeGeo Platform SDK by
1.8.3.1