aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/dchat/MessageComposer.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/dchat/MessageComposer.hpp b/include/dchat/MessageComposer.hpp
new file mode 100644
index 0000000..b4b55c2
--- /dev/null
+++ b/include/dchat/MessageComposer.hpp
@@ -0,0 +1,32 @@
+#pragma once
+
+#include "types.hpp"
+#include <functional>
+
+namespace dchat
+{
+ struct Range
+ {
+ int start;
+ int end;
+
+ int length() const
+ {
+ return end - start;
+ }
+ };
+
+ struct MessagePart
+ {
+ enum class Type
+ {
+ TEXT,
+ EMOJI
+ };
+
+ Type type;
+ Range textRange;
+ };
+
+ void compose(const char *text, usize size, std::function<void(MessagePart)> callbackFunc);
+} \ No newline at end of file