summaryrefslogtreecommitdiff
path: root/src/ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui.c')
-rw-r--r--src/ui.c84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/ui.c b/src/ui.c
index 41ec45c..7479c79 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -20,9 +20,93 @@
*/
#include "ui.h"
+#include "frames.h"
+
+struct _MetaUI
+{
+ Display *xdisplay;
+ Screen *xscreen;
+ MetaFrames *frames;
+};
void
meta_ui_init (int *argc, char ***argv)
{
gtk_init (argc, argv);
}
+
+MetaUI*
+meta_ui_new (Display *xdisplay,
+ Screen *screen)
+{
+ MetaUI *ui;
+
+ ui = g_new (MetaUI, 1);
+ ui->xdisplay = xdisplay;
+ ui->xscreen = screen;
+
+ /* FIXME when gtk has multihead use it here */
+ ui->frames = meta_frames_new ();
+ gtk_widget_realize (GTK_WIDGET (ui->frames));
+
+ return ui;
+}
+
+void
+meta_ui_free (MetaUI *ui)
+{
+ gtk_widget_destroy (GTK_WIDGET (ui->frames));
+
+ g_free (ui);
+}
+
+void
+meta_ui_get_frame_geometry (MetaUI *ui,
+ Window frame_xwindow,
+ int *top_height, int *bottom_height,
+ int *left_width, int *right_width)
+{
+ meta_frames_get_geometry (ui->frames, frame_xwindow,
+ top_height, bottom_height,
+ left_width, right_width);
+}
+
+
+void
+meta_ui_add_frame (MetaUI *ui,
+ Window xwindow)
+{
+ meta_frames_manage_window (ui->frames, xwindow);
+}
+
+void
+meta_ui_remove_frame (MetaUI *ui,
+ Window xwindow)
+{
+ meta_frames_unmanage_window (ui->frames, xwindow);
+}
+
+void
+meta_ui_reset_frame_bg (MetaUI *ui,
+ Window xwindow)
+{
+ meta_frames_reset_bg (ui->frames, xwindow);
+}
+
+void
+meta_ui_set_frame_flags (MetaUI *ui,
+ Window xwindow,
+ MetaFrameFlags flags)
+{
+ meta_frames_set_flags (ui->frames, xwindow, flags);
+}
+
+void
+meta_ui_queue_frame_draw (MetaUI *ui,
+ Window xwindow)
+{
+ meta_frames_queue_draw (ui->frames, xwindow);
+}
+
+
+