Cobbletext  0.2.0
Complex text layout and rendering engine
AdvanceInfo.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <ostream>
4 
5 #include "common.hpp"
6 #include "macros.h"
7 
8 namespace cobbletext {
9 
10 
11 enum class AdvanceType {
12  Invalid = 0,
13  Glyph = 1,
14  InlineObject = 2,
15  LineBreak = 3,
16  Bidi = 4,
17  Layout = 5
18 };
19 
21 public:
23  uint32_t textIndex = 0;
24 
25  int32_t advanceX = 0;
26  int32_t advanceY = 0;
27 
28  GlyphID glyphID = 0;
29  int32_t glyphOffsetX = 0;
30  int32_t glyphOffsetY = 0;
31 
32  InlineObjectID inlineObject = 0;
33 
34  CustomPropertyID customProperty = 0;
35 
36 private:
37  friend std::ostream & operator<<(std::ostream & stream,
38  const AdvanceInfo & advanceInfo);
39 };
40 
41 
42 }
cobbletext::AdvanceType
AdvanceType
Definition: AdvanceInfo.hpp:11
common.hpp
cobbletext::CustomPropertyID
uint32_t CustomPropertyID
Definition: common.hpp:10
macros.h
COBBLETEXT_CPP_API
#define COBBLETEXT_CPP_API
Macro for Windows C++ symbol import and export.
Definition: macros.h:33
cobbletext::AdvanceType::Glyph
@ Glyph
cobbletext::InlineObjectID
uint32_t InlineObjectID
Definition: common.hpp:9
cobbletext::AdvanceType::LineBreak
@ LineBreak
cobbletext::GlyphID
uint32_t GlyphID
Definition: common.hpp:8
cobbletext::AdvanceType::InlineObject
@ InlineObject
cobbletext
Definition: AdvanceInfo.hpp:8
cobbletext::AdvanceType::Layout
@ Layout
cobbletext::AdvanceInfo
Definition: AdvanceInfo.hpp:20
cobbletext::AdvanceType::Invalid
@ Invalid
cobbletext::AdvanceType::Bidi
@ Bidi