// Copyright (c) 2008-2023 the Urho3D project // License: MIT #pragma once #include "Sample.h" /// Text rendering example. /// Displays text at various sizes, with checkboxes to change the rendering parameters. class Typography : public Sample { URHO3D_OBJECT(Typography, Sample); public: /// Construct. explicit Typography(Context* context); /// Setup after engine initialization and before running the main loop. void Start() override; protected: /// Return XML patch instructions for screen joystick layout for a specific sample app, if any. String GetScreenJoystickPatchString() const override { return "" " " " " " " ""; } private: SharedPtr uielement_; void CreateText(); SharedPtr CreateCheckbox(const String& label, EventHandler* handler); SharedPtr CreateMenu(const String& label, const char** items, EventHandler* handler); void HandleWhiteBackground(StringHash eventType, VariantMap& eventData); void HandleSRGB(StringHash eventType, VariantMap& eventData); void HandleForceAutoHint(StringHash eventType, VariantMap& eventData); void HandleFontHintLevel(StringHash eventType, VariantMap& eventData); void HandleFontSubpixel(StringHash eventType, VariantMap& eventData); void HandleFontOversampling(StringHash eventType, VariantMap& eventData); };