summaryrefslogtreecommitdiff
path: root/src/window_gui.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/window_gui.h')
-rw-r--r--src/window_gui.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/window_gui.h b/src/window_gui.h
index 32352d3ea..14e666a63 100644
--- a/src/window_gui.h
+++ b/src/window_gui.h
@@ -561,7 +561,19 @@ Window *FindWindowFromPt(int x, int y);
bool IsWindowOfPrototype(const Window *w, const Widget *widget);
void AssignWidgetToWindow(Window *w, const Widget *widget);
-Window *AllocateWindowDescFront(const WindowDesc *desc, int window_number, void *data = NULL);
+/**
+ * Open a new window.
+ * @param *desc The pointer to the WindowDesc to be created
+ * @param window_number the window number of the new window
+ * @param data arbitrary data that is send with the WE_CREATE message
+ * @return see Window pointer of the newly created window
+ */
+template <typename Wcls>
+Wcls *AllocateWindowDescFront(const WindowDesc *desc, int window_number, void *data = NULL)
+{
+ if (BringWindowToFrontById(desc->cls, window_number)) return NULL;
+ return new Wcls(desc, data, window_number);
+}
void DrawWindowViewport(const Window *w);