summaryrefslogtreecommitdiff
path: root/src/user/mkpopup/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/mkpopup/main.cpp')
-rw-r--r--src/user/mkpopup/main.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/user/mkpopup/main.cpp b/src/user/mkpopup/main.cpp
new file mode 100644
index 0000000..5e3310c
--- /dev/null
+++ b/src/user/mkpopup/main.cpp
@@ -0,0 +1,43 @@
+#include <raleigh/w/padding.h>
+#include <raleigh/w/label.h>
+#include <raleigh/w/vbox.h>
+#include <raleigh/window.h>
+#include <knob/block.h>
+
+using namespace raleigh;
+
+widget *make_line(const char *str) {
+ return new label(str);
+}
+
+void main(const char *text) {
+ dllist<widget &> box_widgets;
+
+ char *const data = strdup(text);
+
+ char *this_string = data;
+ while (*this_string) {
+ char *i = this_string;
+ while (1) {
+ if (!i[0]) {
+ box_widgets.add_back(*make_line(this_string));
+ this_string = i;
+ break;
+ }
+ if ((i[0] == '\\') && (i[1] == 'n')) {
+ i[0] = '\0';
+ box_widgets.add_back(*make_line(this_string));
+ this_string = i + 2;
+ break;
+ }
+ ++i;
+ }
+ }
+
+ vbox box(box_widgets);
+ padding p(box, 4);
+ window w(p);
+
+ w.show();
+ start_runtime();
+} \ No newline at end of file