--- /dev/null
+/* ATK - Accessibility Toolkit
+ * Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "atkwindow.h"
+#include "atkmarshal.h"
+
+enum {
+ ACTIVATE,
+ CREATE,
+ DEACTIVATE,
+ DESTROY,
+ MAXIMIZE,
+ MINIMIZE,
+ MOVE,
+ RESIZE,
+ RESTORE,
+ LAST_SIGNAL
+};
+
+static guint atk_window_signals[LAST_SIGNAL] = { 0 };
+
+static guint
+atk_window_add_signal (const gchar *name)
+{
+ return g_signal_new (name,
+ ATK_TYPE_WINDOW,
+ G_SIGNAL_RUN_LAST,
+ 0,
+ (GSignalAccumulator) NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
+}
+
+typedef AtkWindowIface AtkWindowInterface;
+G_DEFINE_INTERFACE (AtkWindow, atk_window, ATK_TYPE_OBJECT)
+
+static void
+atk_window_default_init (AtkWindowIface *iface)
+{
+ static gboolean initialized = FALSE;
+
+ if (!initialized)
+ {
+ atk_window_signals[ACTIVATE] = atk_window_add_signal ("activate");
+ atk_window_signals[CREATE] = atk_window_add_signal ("create");
+ atk_window_signals[DEACTIVATE] = atk_window_add_signal ("deactivate");
+ atk_window_signals[DESTROY] = atk_window_add_signal ("destroy");
+ atk_window_signals[MAXIMIZE] = atk_window_add_signal ("maximize");
+ atk_window_signals[MINIMIZE] = atk_window_add_signal ("minimize");
+ atk_window_signals[MOVE] = atk_window_add_signal ("move");
+ atk_window_signals[RESIZE] = atk_window_add_signal ("resize");
+ atk_window_signals[RESTORE] = atk_window_add_signal ("restore");
+
+ initialized = TRUE;
+ }
+}
--- /dev/null
+/* ATK - Accessibility Toolkit
+ * Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)
+#error "Only <atk/atk.h> can be included directly."
+#endif
+
+#ifndef __ATK_WINDOW_H__
+#define __ATK_WINDOW_H__
+
+#include <atk/atkobject.h>
+
+G_BEGIN_DECLS
+
+/*
+ * AtkWindow describes signals pertaining to on-screen windows.
+ */
+
+
+#define ATK_TYPE_WINDOW (atk_window_get_type ())
+#define ATK_IS_WINDOW(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_WINDOW)
+#define ATK_WINDOW(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_WINDOW, AtkWindow)
+#define ATK_WINDOW_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_WINDOW, AtkWindowIface))
+
+typedef struct _AtkWindow AtkWindow; /* Dummy typedef */
+typedef struct _AtkWindowIface AtkWindowIface;
+
+struct _AtkWindowIface
+{
+ GTypeInterface parent;
+
+ gpointer _padding_dummy[16];
+};
+
+GType atk_window_get_type (void);
+G_END_DECLS
+
+#endif /* __ATK_WINDOW_H__ */