2
0

Typography.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright (c) 2008-2023 the Urho3D project
  2. // License: MIT
  3. #pragma once
  4. #include "Sample.h"
  5. /// Text rendering example.
  6. /// Displays text at various sizes, with checkboxes to change the rendering parameters.
  7. class Typography : public Sample
  8. {
  9. URHO3D_OBJECT(Typography, Sample);
  10. public:
  11. /// Construct.
  12. explicit Typography(Context* context);
  13. /// Setup after engine initialization and before running the main loop.
  14. void Start() override;
  15. protected:
  16. /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
  17. String GetScreenJoystickPatchString() const override { return
  18. "<patch>"
  19. " <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
  20. " <attribute name=\"Is Visible\" value=\"false\" />"
  21. " </add>"
  22. "</patch>";
  23. }
  24. private:
  25. SharedPtr<UIElement> uielement_;
  26. void CreateText();
  27. SharedPtr<CheckBox> CreateCheckbox(const String& label, EventHandler* handler);
  28. SharedPtr<DropDownList> CreateMenu(const String& label, const char** items, EventHandler* handler);
  29. void HandleWhiteBackground(StringHash eventType, VariantMap& eventData);
  30. void HandleSRGB(StringHash eventType, VariantMap& eventData);
  31. void HandleForceAutoHint(StringHash eventType, VariantMap& eventData);
  32. void HandleFontHintLevel(StringHash eventType, VariantMap& eventData);
  33. void HandleFontSubpixel(StringHash eventType, VariantMap& eventData);
  34. void HandleFontOversampling(StringHash eventType, VariantMap& eventData);
  35. };