aboutsummaryrefslogtreecommitdiff
path: root/include/MessageComposer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/MessageComposer.hpp')
-rw-r--r--include/MessageComposer.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/MessageComposer.hpp b/include/MessageComposer.hpp
new file mode 100644
index 0000000..5af065d
--- /dev/null
+++ b/include/MessageComposer.hpp
@@ -0,0 +1,32 @@
+#pragma once
+
+#include <glibmm/ustring.h>
+#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 Glib::ustring &text, std::function<void(MessagePart)> callbackFunc);
+} \ No newline at end of file