- Add point InSpace check to PD::Li::Math - Add Universal AlignmentCenter flag for Horizontal and and Vertical Alignment - Add Fallbackfont to Layout (if you dont want to set font per object) - Add Button Object WIP - Rename OnHover to OnFocus and add OnUnfocus - Move font and FontScale to ElementBase (for fallback logic etc) - Add UpdateInput func to ElementBase - Corectly Set fontScale in Text Rendering - Update ecample
23 lines
684 B
C++
23 lines
684 B
C++
#include <pd/ultra/container.hpp>
|
|
#include <pd/ultra/elems/text.hpp>
|
|
|
|
namespace PD {
|
|
namespace Ultra {
|
|
PD_API void Text::Draw(PD::Li::Drawlist& l) {
|
|
if (!pFont) return;
|
|
l.SetFont(pFont);
|
|
l.SetFontscale(pParent->GetCanvas().VTranslateFontscale(pFontScale));
|
|
l.DrawText(pRenderspace.TopLeft(), pText.c_str(), pColor);
|
|
}
|
|
|
|
PD_API void Text::Update() {
|
|
if (!pFont) return;
|
|
if (!pParent) ElementBase::Update();
|
|
pRenderspace = pParent->GetCanvas().VTranslateObject(
|
|
pParent->GetTopLeft() + pPos,
|
|
pFont->GetTextBounds(
|
|
pText.c_str(), pParent->GetCanvas().VTranslateFontscale(pFontScale)),
|
|
pAlignment, true);
|
|
}
|
|
} // namespace Ultra
|
|
} // namespace PD
|