#pragma once #include "Engine/Core/Collections/Array.h" #include "Engine/Core/Collections/Dictionary.h" #include "Font.h" /// /// The font segment info generated during text processing. /// API_STRUCT(NoDefault) struct MultiFontSegmentCache { DECLARE_SCRIPTING_TYPE_MINIMAL(MultiFontSegmentCache); /// /// The root position of the segment (upper left corner), relative to line. /// API_FIELD() Float2 Location; /// /// The height of the current segment /// API_FIELD() float Height; /// /// The first character index (from the input text). /// API_FIELD() int32 FirstCharIndex; /// /// The last character index (from the input text), inclusive. /// API_FIELD() int32 LastCharIndex; /// /// The index of the font to render with /// API_FIELD() int32 FontIndex; }; template<> struct TIsPODType { enum { Value = true }; }; /// /// Line of font segments info generated during text processing. /// API_STRUCT(NoDefault) struct MultiFontLineCache { DECLARE_SCRIPTING_TYPE_MINIMAL(MultiFontLineCache); /// /// The root position of the line (upper left corner). /// API_FIELD() Float2 Location; /// /// The line bounds (width and height). /// API_FIELD() Float2 Size; /// /// The maximum ascendent of the line. /// API_FIELD() float MaxAscender; /// /// The index of the font to render with /// API_FIELD() Array Segments; }; API_CLASS(Sealed, NoSpawn) class FLAXENGINE_API MultiFont : public ManagedScriptingObject { DECLARE_SCRIPTING_TYPE_NO_SPAWN(MultiFont); };