blob: ff1870c1daabc916503043dfb0b1750ba80c5702 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#pragma once
#include "ui/ui_base.h"
#include "ui/control.h"
namespace cru
{
namespace ui
{
namespace controls
{
class TextBlock : public Control
{
public:
TextBlock();
TextBlock(const TextBlock& other) = delete;
TextBlock(TextBlock&& other) = delete;
TextBlock& operator=(const TextBlock& other) = delete;
TextBlock& operator=(TextBlock&& other) = delete;
~TextBlock() override;
String GetText() const
{
return text_;
}
void SetText(const String& text);
protected:
void OnSizeChangedCore(events::SizeChangedEventArgs& args) override final;
void OnDraw(ID2D1DeviceContext* device_context) override;
private:
void OnTextChangedCore(const String& old_text, const String& new_text);
void CreateTextLayout();
private:
String text_;
Microsoft::WRL::ComPtr<ID2D1Brush> brush_;
Microsoft::WRL::ComPtr<IDWriteTextLayout> text_layout_;
};
}
}
}
|