aboutsummaryrefslogtreecommitdiffstats
path: root/matchbox2
diff options
context:
space:
mode:
Diffstat (limited to 'matchbox2')
-rw-r--r--matchbox2/Makefile.am116
-rw-r--r--matchbox2/client-types/Makefile.am50
-rw-r--r--matchbox2/comp-mgr/Makefile.am31
-rw-r--r--matchbox2/comp-mgr/README70
-rw-r--r--matchbox2/core/Makefile.am48
-rw-r--r--matchbox2/mb-window-manager.c (renamed from matchbox2/core/mb-window-manager.c)18
-rw-r--r--matchbox2/mb-window-manager.h (renamed from matchbox2/core/mb-window-manager.h)6
-rw-r--r--matchbox2/mb-wm-atoms.c (renamed from matchbox2/core/mb-wm-atoms.c)0
-rw-r--r--matchbox2/mb-wm-atoms.h (renamed from matchbox2/core/mb-wm-atoms.h)0
-rw-r--r--matchbox2/mb-wm-client-app.c (renamed from matchbox2/client-types/mb-wm-client-app.c)0
-rw-r--r--matchbox2/mb-wm-client-app.h (renamed from matchbox2/client-types/mb-wm-client-app.h)2
-rw-r--r--matchbox2/mb-wm-client-base.c (renamed from matchbox2/core/mb-wm-client-base.c)0
-rw-r--r--matchbox2/mb-wm-client-base.h (renamed from matchbox2/core/mb-wm-client-base.h)0
-rw-r--r--matchbox2/mb-wm-client-desktop.c (renamed from matchbox2/client-types/mb-wm-client-desktop.c)0
-rw-r--r--matchbox2/mb-wm-client-desktop.h (renamed from matchbox2/client-types/mb-wm-client-desktop.h)2
-rw-r--r--matchbox2/mb-wm-client-dialog.c (renamed from matchbox2/client-types/mb-wm-client-dialog.c)0
-rw-r--r--matchbox2/mb-wm-client-dialog.h (renamed from matchbox2/client-types/mb-wm-client-dialog.h)2
-rw-r--r--matchbox2/mb-wm-client-input.c (renamed from matchbox2/client-types/mb-wm-client-input.c)0
-rw-r--r--matchbox2/mb-wm-client-input.h (renamed from matchbox2/client-types/mb-wm-client-input.h)2
-rw-r--r--matchbox2/mb-wm-client-menu.c (renamed from matchbox2/client-types/mb-wm-client-menu.c)0
-rw-r--r--matchbox2/mb-wm-client-menu.h (renamed from matchbox2/client-types/mb-wm-client-menu.h)2
-rw-r--r--matchbox2/mb-wm-client-note.c (renamed from matchbox2/client-types/mb-wm-client-note.c)0
-rw-r--r--matchbox2/mb-wm-client-note.h (renamed from matchbox2/client-types/mb-wm-client-note.h)4
-rw-r--r--matchbox2/mb-wm-client-override.c (renamed from matchbox2/client-types/mb-wm-client-override.c)0
-rw-r--r--matchbox2/mb-wm-client-override.h (renamed from matchbox2/client-types/mb-wm-client-override.h)2
-rw-r--r--matchbox2/mb-wm-client-panel.c (renamed from matchbox2/client-types/mb-wm-client-panel.c)0
-rw-r--r--matchbox2/mb-wm-client-panel.h (renamed from matchbox2/client-types/mb-wm-client-panel.h)2
-rw-r--r--matchbox2/mb-wm-client-window.c (renamed from matchbox2/core/mb-wm-client-window.c)0
-rw-r--r--matchbox2/mb-wm-client-window.h (renamed from matchbox2/core/mb-wm-client-window.h)0
-rw-r--r--matchbox2/mb-wm-client.c (renamed from matchbox2/core/mb-wm-client.c)0
-rw-r--r--matchbox2/mb-wm-client.h (renamed from matchbox2/core/mb-wm-client.h)0
-rw-r--r--matchbox2/mb-wm-comp-mgr-clutter.c (renamed from matchbox2/comp-mgr/mb-wm-comp-mgr-clutter.c)0
-rw-r--r--matchbox2/mb-wm-comp-mgr-clutter.h (renamed from matchbox2/comp-mgr/mb-wm-comp-mgr-clutter.h)0
-rw-r--r--matchbox2/mb-wm-comp-mgr-xrender.c (renamed from matchbox2/comp-mgr/mb-wm-comp-mgr-xrender.c)0
-rw-r--r--matchbox2/mb-wm-comp-mgr-xrender.h (renamed from matchbox2/comp-mgr/mb-wm-comp-mgr-xrender.h)0
-rw-r--r--matchbox2/mb-wm-comp-mgr.c (renamed from matchbox2/comp-mgr/mb-wm-comp-mgr.c)0
-rw-r--r--matchbox2/mb-wm-comp-mgr.h (renamed from matchbox2/comp-mgr/mb-wm-comp-mgr.h)0
-rw-r--r--matchbox2/mb-wm-debug.c (renamed from matchbox2/core/mb-wm-debug.c)0
-rw-r--r--matchbox2/mb-wm-debug.h (renamed from matchbox2/core/mb-wm-debug.h)0
-rw-r--r--matchbox2/mb-wm-decor.c (renamed from matchbox2/core/mb-wm-decor.c)0
-rw-r--r--matchbox2/mb-wm-decor.h (renamed from matchbox2/core/mb-wm-decor.h)0
-rw-r--r--matchbox2/mb-wm-keys.c (renamed from matchbox2/core/mb-wm-keys.c)0
-rw-r--r--matchbox2/mb-wm-keys.h (renamed from matchbox2/core/mb-wm-keys.h)2
-rw-r--r--matchbox2/mb-wm-layout.c (renamed from matchbox2/core/mb-wm-layout.c)0
-rw-r--r--matchbox2/mb-wm-layout.h (renamed from matchbox2/core/mb-wm-layout.h)2
-rw-r--r--matchbox2/mb-wm-macros.h (renamed from matchbox2/core/mb-wm-macros.h)0
-rw-r--r--matchbox2/mb-wm-main-context.c (renamed from matchbox2/core/mb-wm-main-context.c)0
-rw-r--r--matchbox2/mb-wm-main-context.h (renamed from matchbox2/core/mb-wm-main-context.h)2
-rw-r--r--matchbox2/mb-wm-object-props.h (renamed from matchbox2/core/mb-wm-object-props.h)2
-rw-r--r--matchbox2/mb-wm-object.c (renamed from matchbox2/core/mb-wm-object.c)0
-rw-r--r--matchbox2/mb-wm-object.h (renamed from matchbox2/core/mb-wm-object.h)2
-rw-r--r--matchbox2/mb-wm-props.c (renamed from matchbox2/core/mb-wm-props.c)0
-rw-r--r--matchbox2/mb-wm-props.h (renamed from matchbox2/core/mb-wm-props.h)0
-rw-r--r--matchbox2/mb-wm-root-window.c (renamed from matchbox2/core/mb-wm-root-window.c)6
-rw-r--r--matchbox2/mb-wm-root-window.h (renamed from matchbox2/core/mb-wm-root-window.h)0
-rw-r--r--matchbox2/mb-wm-stack.c (renamed from matchbox2/core/mb-wm-stack.c)0
-rw-r--r--matchbox2/mb-wm-stack.h (renamed from matchbox2/core/mb-wm-stack.h)0
-rw-r--r--matchbox2/mb-wm-theme-png.c (renamed from matchbox2/theme-engines/mb-wm-theme-png.c)0
-rw-r--r--matchbox2/mb-wm-theme-png.h (renamed from matchbox2/theme-engines/mb-wm-theme-png.h)2
-rw-r--r--matchbox2/mb-wm-theme-xml.c (renamed from matchbox2/theme-engines/mb-wm-theme-xml.c)0
-rw-r--r--matchbox2/mb-wm-theme-xml.h (renamed from matchbox2/theme-engines/mb-wm-theme-xml.h)4
-rw-r--r--matchbox2/mb-wm-theme.c (renamed from matchbox2/theme-engines/mb-wm-theme.c)0
-rw-r--r--matchbox2/mb-wm-theme.h (renamed from matchbox2/theme-engines/mb-wm-theme.h)2
-rw-r--r--matchbox2/mb-wm-types.h (renamed from matchbox2/core/mb-wm-types.h)0
-rw-r--r--matchbox2/mb-wm-util.c (renamed from matchbox2/core/mb-wm-util.c)0
-rw-r--r--matchbox2/mb-wm-util.h (renamed from matchbox2/core/mb-wm-util.h)2
-rw-r--r--matchbox2/mb-wm.h (renamed from matchbox2/core/mb-wm.h)36
-rw-r--r--matchbox2/theme-engines/Makefile.am18
-rw-r--r--matchbox2/tidy/tidy-texture-frame.c641
-rw-r--r--matchbox2/tidy/tidy-texture-frame.h84
-rw-r--r--matchbox2/xas.c (renamed from matchbox2/core/xas.c)0
-rw-r--r--matchbox2/xas.h (renamed from matchbox2/core/xas.h)0
72 files changed, 870 insertions, 292 deletions
diff --git a/matchbox2/Makefile.am b/matchbox2/Makefile.am
index 3f90f3c..6114c8c 100644
--- a/matchbox2/Makefile.am
+++ b/matchbox2/Makefile.am
@@ -1,31 +1,101 @@
-if ENABLE_COMPOSITE
-comp=comp-mgr
-complib= \
- client-types/libmb-wm-client-override.la \
- $(comp)/libmatchbox-window-manager-2-compmgr.la
-endif
-MAINTAINERCLEANFILES = Makefile.in
+lib_LTLIBRARIES = libmatchbox2-@MBWM2_API_VERSION@.la
-pkgincludedir = $(includedir)/$(MBWM2_INCDIR)
+source_public_h = \
+ mb-wm.h
-SUBDIRS = core client-types theme-engines $(comp)
+# Core...
+source = \
+ mb-wm-types.h \
+ mb-wm-macros.h \
+ mb-wm-object.h \
+ mb-wm-object-props.h \
+ mb-wm-object.c \
+ mb-wm-debug.h \
+ mb-wm-debug.c \
+ mb-wm-client.h \
+ mb-wm-client.c \
+ mb-wm-client-base.h \
+ mb-wm-client-base.c \
+ mb-wm-client-window.h \
+ mb-wm-client-window.c \
+ mb-wm-root-window.h \
+ mb-wm-root-window.c \
+ mb-wm-stack.h \
+ mb-wm-stack.c \
+ mb-wm-props.h \
+ mb-wm-props.c \
+ mb-wm-util.h \
+ mb-wm-util.c \
+ mb-wm-atoms.h \
+ mb-wm-atoms.c \
+ mb-wm-layout.h \
+ mb-wm-layout.c \
+ mb-wm-keys.h \
+ mb-wm-keys.c \
+ mb-wm-decor.h \
+ mb-wm-decor.c \
+ mb-window-manager.h \
+ mb-window-manager.c \
+ mb-wm-main-context.h \
+ mb-wm-main-context.c \
+ xas.h \
+ xas.c
-lib_LTLIBRARIES = libmatchbox2-@MBWM2_API_VERSION@.la
+# Client window types...
+source += \
+ mb-wm-client-app.h \
+ mb-wm-client-app.c \
+ mb-wm-client-panel.h \
+ mb-wm-client-panel.c \
+ mb-wm-client-dialog.h \
+ mb-wm-client-dialog.c \
+ mb-wm-client-note.h \
+ mb-wm-client-note.c \
+ mb-wm-client-input.h \
+ mb-wm-client-input.c \
+ mb-wm-client-desktop.h \
+ mb-wm-client-desktop.c \
+ mb-wm-client-menu.h \
+ mb-wm-client-menu.c \
+ mb-wm-client-override.h \
+ mb-wm-client-override.c
+
+
+# Compositing...
+if ENABLE_COMPOSITE
+source += mb-wm-comp-mgr.h
+source += mb-wm-comp-mgr.c
+if COMP_MGR_BACKEND
+if ENABLE_CLUTTER_COMPOSITE_MANAGER
+source += mb-wm-comp-mgr-clutter.h
+source += mb-wm-comp-mgr-clutter.c
+source += tidy/tidy-texture-frame.h
+source += tidy/tidy-texture-frame.c
+else
+source += mb-wm-comp-mgr-xrender.h
+source += mb-wm-comp-mgr-xrender.c
+endif
+endif
+
+endif #ENABLE_COMPOSITE
+
+# Theming...
+source += \
+ mb-wm-theme.h \
+ mb-wm-theme.c \
+ mb-wm-theme-xml.h \
+ mb-wm-theme-xml.c
+
+if THEME_PNG
+source += mb-wm-theme-png.c mb-wm-theme-png.h
+endif
-libmatchbox2_@MBWM2_API_VERSION@_la_LIBADD = \
- core/libmatchbox-window-manager-2-core.la \
- client-types/libmb-wm-client-app.la \
- client-types/libmb-wm-client-desktop.la \
- client-types/libmb-wm-client-dialog.la \
- client-types/libmb-wm-client-input.la \
- client-types/libmb-wm-client-menu.la \
- client-types/libmb-wm-client-note.la \
- client-types/libmb-wm-client-panel.la \
- theme-engines/libmb-theme.la \
- $(complib)
+pkgincludedir = $(includedir)/$(MBWM2_INCDIR)/matchbox2
+pkginclude_HEADERS = $(source_public_h)
-libmatchbox2_@MBWM2_API_VERSION@_la_SOURCES =
+libmatchbox2_@MBWM2_API_VERSION@_la_SOURCES = $(source_public_h) $(source)
+libmatchbox2_@MBWM2_API_VERSION@_la_CFLAGS = $(MBWM_INCS) $(MBWM_CFLAGS) -DDATADIR=\"$(datadir)\"
+libmatchbox2_@MBWM2_API_VERSION@_la_LIBADD = $(MBWM_LIBS)
-pkginclude_HEADERS = *.h
diff --git a/matchbox2/client-types/Makefile.am b/matchbox2/client-types/Makefile.am
deleted file mode 100644
index 545be9c..0000000
--- a/matchbox2/client-types/Makefile.am
+++ /dev/null
@@ -1,50 +0,0 @@
-if ENABLE_COMPOSITE
-compmgr_libs = libmb-wm-client-override.la
-compmgr_ltlibs = libmb-wm-client-override.la
-endif
-
-THEME_LIBS = $(MBWM_THEME_LIBS)/libmb-theme.la
-
-INCLUDES = $(MBWM_INCS) $(MBWM_CFLAGS)
-LDADD =$(THEME_LIBS)
-DEPENDENCIES = $(THEME_LIBS)
-
-pkgincludedir = $(includedir)/$(MBWM2_INCDIR)/client-types
-
-pkginclude_HEADERS = mb-wm-client-app.h \
- mb-wm-client-dialog.h \
- mb-wm-client-menu.h \
- mb-wm-client-override.h \
- mb-wm-client-desktop.h \
- mb-wm-client-input.h \
- mb-wm-client-note.h \
- mb-wm-client-panel.h
-
-noinst_LTLIBRARIES = libmb-wm-client-app.la \
- libmb-wm-client-panel.la \
- libmb-wm-client-dialog.la \
- libmb-wm-client-note.la \
- libmb-wm-client-input.la \
- libmb-wm-client-desktop.la \
- libmb-wm-client-menu.la \
- $(compmgr_ltlibs)
-
-libmb_wm_client_app_la_SOURCES = mb-wm-client-app.c mb-wm-client-app.h
-libmb_wm_client_panel_la_SOURCES = mb-wm-client-panel.c mb-wm-client-panel.h
-libmb_wm_client_dialog_la_SOURCES = mb-wm-client-dialog.c mb-wm-client-dialog.h
-libmb_wm_client_note_la_SOURCES = mb-wm-client-note.c mb-wm-client-note.h
-libmb_wm_client_input_la_SOURCES = mb-wm-client-input.c mb-wm-client-input.h
-libmb_wm_client_desktop_la_SOURCES = mb-wm-client-desktop.c mb-wm-client-desktop.h
-libmb_wm_client_menu_la_SOURCES = mb-wm-client-menu.c mb-wm-client-menu.h
-libmb_wm_client_override_la_SOURCES= mb-wm-client-override.c \
- mb-wm-client-override.h
-libmb_wm_client_app_la_CFLAGS =
-libmb_wm_client_panel_la_CFLAGS =
-libmb_wm_client_dialog_la_CFLAGS =
-libmb_wm_client_note_la_CFLAGS =
-libmb_wm_client_input_la_CFLAGS =
-libmb_wm_client_desktop_la_CFLAGS =
-libmb_wm_client_menu_la_CFLAGS =
-libmb_wm_client_override_la_CFLAGS =
-
-MAINTAINERCLEANFILES = config.h.in Makefile.in
diff --git a/matchbox2/comp-mgr/Makefile.am b/matchbox2/comp-mgr/Makefile.am
deleted file mode 100644
index 89e0019..0000000
--- a/matchbox2/comp-mgr/Makefile.am
+++ /dev/null
@@ -1,31 +0,0 @@
-
-core_h = mb-wm-comp-mgr.h
-core_c = mb-wm-comp-mgr.c
-
-if COMP_MGR_BACKEND
-if ENABLE_CLUTTER_COMPOSITE_MANAGER
-clutter_h = mb-wm-comp-clutter.h \
- tidy/tidy-texture-frame.h \
- $(NULL)
-
-clutter_c = mb-wm-comp-mgr-clutter.c \
- tidy/tidy-texture-frame.c \
- $(NULL)
-else
-xrender_h = mb-wm-comp-mgr-xrender.h
-xrender_c = mb-wm-comp-mgr-xrender.c
-endif
-endif
-
-pkgincludedir = $(includedir)/$(MBWM2_INCDIR)/comp-mgr
-
-pkginclude_HEADERS = mb-wm-comp-mgr-clutter.h mb-wm-comp-mgr.h mb-wm-comp-mgr-xrender.h
-
-noinst_LTLIBRARIES = libmatchbox-window-manager-2-compmgr.la
-libmatchbox_window_manager_2_compmgr_la_SOURCES = $(core_h) $(core_c) \
- $(xrender_h) $(xrender_c) \
- $(clutter_h) $(clutter_c)
-libmatchbox_window_manager_2_compmgr_la_CFLAGS = $(MBWM_INCS) $(MBWM_CFLAGS)
-
-MAINTAINERCLEANFILES = Makefile.in
-
diff --git a/matchbox2/comp-mgr/README b/matchbox2/comp-mgr/README
deleted file mode 100644
index fb53cf1..0000000
--- a/matchbox2/comp-mgr/README
+++ /dev/null
@@ -1,70 +0,0 @@
-
-BRIEF OVERVIEW OF THE COMPOSITING INFRASTRUCTURE
-================================================
-
-The composite manager framework consists of three primary classes,
-
- * MBWMCompMgr -- The compositor interface,
-
- * MBWMCompMgrClient -- Per-client, compositor- specific data,
-
- * MBWMCompMgrEffect -- A simple client effect.
-
-The whole framework, and its integration with the WM, can be outlined as
-follows:
-
-
- MBWindowManager:
- | |
- | --> client stack
- | |
- | --> MBWindowManagerClient
- | |
-==========================================================================
- | |
- | --> MBWMCompMgrClient
- | | |
- | | --> MBWMCompMgrBackendClient
- | |
- | event-effect mapping
- | |
- | -->an-event:effect-list pair
- | |
- | --> MBWMCompMgrEffect
- | |
- | --> MBWMCompMgrBackendEffect
- |
- --> MBWMCompMgr
- |
- --> MBWMCompMgrBackend
-
-
-The framwork seeks to provide a clean separation between the WM and the CM --
-the implementation of the CM is opaque to the WM, which simply deffers to the
-CM at appropriate points through its public interface. To this end each of the
-MBWindowManagerClient objects managed by the WM holds a pointer to a
-MBWMCompMgrClient object, which holds any per-client data that the CM
-requires; this data is allocated when the WM calls
-mb_wm_comp_mgr_register_client() and deallocated when it
-calls mb_wm_comp_mgr_unregister_client().
-
-As much as the CM internals are opaque to the WM, also the workings of the WM
-are intended to be opaque to the CM; its API is hooked into common operations
-that the WM carries out on its clients, such as map and unmap events, or
-processing of damage notifications, but the CM per se is agnostic of the inner
-workings of the WM.
-
-The effect framework is event driven. MBWMCompMgrEffect is a common interface
-for simple effect, defined by a type, duration (in ms) and gravity. Each
-MBWMCompMgrClient instance is then associated with a mapping between
-effect-events (such as client window mapping, unmapping or minimizing) and a
-list of effects that are to be triggered by the event; a small set of effects
-(such as scaling, fading or sliding, is predefined, and the event-effect
-mapping is defined on per-client-type basis by the theme.
-
-MBWMCompMgr, MBWMCompMgrClient and MBWMCompMgrEffect are abstract interfaces
-that provide public API through which the WM communicates with the
-CM; the CM itself is implememented by one or more backends,
-which subclass these objects. Currently, two backends are included with MBWM2:
-an XRender-based implementation MBWMCompMgrDefault, and a Clutter-based
-implementation MBWMCompMgrClutter.
diff --git a/matchbox2/core/Makefile.am b/matchbox2/core/Makefile.am
deleted file mode 100644
index c356a0b..0000000
--- a/matchbox2/core/Makefile.am
+++ /dev/null
@@ -1,48 +0,0 @@
-
-core_h = mb-wm.h \
- mb-wm-macros.h \
- mb-wm-debug.h \
- mb-wm-object.h \
- mb-wm-object-props.h \
- mb-wm-client.h \
- mb-wm-client-base.h \
- mb-wm-client-window.h \
- mb-wm-root-window.h \
- mb-wm-stack.h \
- mb-wm-util.h \
- mb-wm-types.h \
- mb-wm-atoms.h \
- mb-wm-layout.h \
- mb-wm-props.h \
- mb-wm-keys.h \
- mb-wm-decor.h \
- mb-window-manager.h \
- mb-wm-main-context.h \
- xas.h
-
-core_c = mb-wm-object.c \
- mb-wm-debug.c \
- mb-wm-client.c \
- mb-wm-client-base.c \
- mb-wm-client-window.c \
- mb-wm-root-window.c \
- mb-wm-stack.c \
- mb-wm-props.c \
- mb-wm-util.c \
- mb-wm-atoms.c \
- mb-wm-layout.c \
- mb-wm-keys.c \
- mb-wm-decor.c \
- mb-window-manager.c \
- mb-wm-main-context.c \
- xas.c
-
-pkgincludedir = $(includedir)/$(MBWM2_INCDIR)/core
-
-pkginclude_HEADERS = $(core_h)
-
-noinst_LTLIBRARIES = libmatchbox-window-manager-2-core.la
-libmatchbox_window_manager_2_core_la_SOURCES = $(core_h) $(core_c)
-libmatchbox_window_manager_2_core_la_CFLAGS = $(MBWM_INCS) $(MBWM_CFLAGS)
-
-MAINTAINERCLEANFILES = Makefile.in
diff --git a/matchbox2/core/mb-window-manager.c b/matchbox2/mb-window-manager.c
index c1a19f2..6468873 100644
--- a/matchbox2/core/mb-window-manager.c
+++ b/matchbox2/mb-window-manager.c
@@ -19,14 +19,14 @@
*
*/
#include "mb-wm.h"
-#include "../client-types/mb-wm-client-app.h"
-#include "../client-types/mb-wm-client-panel.h"
-#include "../client-types/mb-wm-client-dialog.h"
-#include "../client-types/mb-wm-client-desktop.h"
-#include "../client-types/mb-wm-client-input.h"
-#include "../client-types/mb-wm-client-note.h"
-#include "../client-types/mb-wm-client-menu.h"
-#include "../theme-engines/mb-wm-theme.h"
+#include "mb-wm-client-app.h"
+#include "mb-wm-client-panel.h"
+#include "mb-wm-client-dialog.h"
+#include "mb-wm-client-desktop.h"
+#include "mb-wm-client-input.h"
+#include "mb-wm-client-note.h"
+#include "mb-wm-client-menu.h"
+#include "mb-wm-theme.h"
#if ENABLE_COMPOSITE
# include "mb-wm-comp-mgr.h"
@@ -36,7 +36,7 @@
# else
# include "mb-wm-comp-mgr-xrender.h"
# endif
-# include "../client-types/mb-wm-client-override.h"
+# include "mb-wm-client-override.h"
# include <X11/extensions/Xdamage.h>
# include <X11/extensions/Xrender.h>
# include <X11/extensions/Xcomposite.h>
diff --git a/matchbox2/core/mb-window-manager.h b/matchbox2/mb-window-manager.h
index 4b73d35..ff22fe5 100644
--- a/matchbox2/core/mb-window-manager.h
+++ b/matchbox2/mb-window-manager.h
@@ -22,9 +22,9 @@
#define _HAVE_MB_WM_WINDOW_MANAGER_H
#include <matchbox2/mb-wm-config.h>
-#include <matchbox2/core/mb-wm-object.h>
-#include <matchbox2/core/mb-wm-root-window.h>
-#include <matchbox2/core/xas.h>
+#include <matchbox2/mb-wm-object.h>
+#include <matchbox2/mb-wm-root-window.h>
+#include <matchbox2/xas.h>
typedef struct MBWindowManagerClass MBWindowManagerClass;
typedef struct MBWindowManagerPriv MBWindowManagerPriv;
diff --git a/matchbox2/core/mb-wm-atoms.c b/matchbox2/mb-wm-atoms.c
index 5d7e805..5d7e805 100644
--- a/matchbox2/core/mb-wm-atoms.c
+++ b/matchbox2/mb-wm-atoms.c
diff --git a/matchbox2/core/mb-wm-atoms.h b/matchbox2/mb-wm-atoms.h
index ef06083..ef06083 100644
--- a/matchbox2/core/mb-wm-atoms.h
+++ b/matchbox2/mb-wm-atoms.h
diff --git a/matchbox2/client-types/mb-wm-client-app.c b/matchbox2/mb-wm-client-app.c
index 3aa9d2e..3aa9d2e 100644
--- a/matchbox2/client-types/mb-wm-client-app.c
+++ b/matchbox2/mb-wm-client-app.c
diff --git a/matchbox2/client-types/mb-wm-client-app.h b/matchbox2/mb-wm-client-app.h
index c058d0c..bb6f05d 100644
--- a/matchbox2/client-types/mb-wm-client-app.h
+++ b/matchbox2/mb-wm-client-app.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_CLIENT_APP_H
#define _HAVE_MB_CLIENT_APP_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
typedef struct MBWMClientApp MBWMClientApp;
typedef struct MBWMClientAppClass MBWMClientAppClass;
diff --git a/matchbox2/core/mb-wm-client-base.c b/matchbox2/mb-wm-client-base.c
index daa679d..daa679d 100644
--- a/matchbox2/core/mb-wm-client-base.c
+++ b/matchbox2/mb-wm-client-base.c
diff --git a/matchbox2/core/mb-wm-client-base.h b/matchbox2/mb-wm-client-base.h
index edc8008..edc8008 100644
--- a/matchbox2/core/mb-wm-client-base.h
+++ b/matchbox2/mb-wm-client-base.h
diff --git a/matchbox2/client-types/mb-wm-client-desktop.c b/matchbox2/mb-wm-client-desktop.c
index 81ce628..81ce628 100644
--- a/matchbox2/client-types/mb-wm-client-desktop.c
+++ b/matchbox2/mb-wm-client-desktop.c
diff --git a/matchbox2/client-types/mb-wm-client-desktop.h b/matchbox2/mb-wm-client-desktop.h
index c132cdb..fc63dbc 100644
--- a/matchbox2/client-types/mb-wm-client-desktop.h
+++ b/matchbox2/mb-wm-client-desktop.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_CLIENT_DESKTOP_H
#define _HAVE_MB_CLIENT_DESKTOP_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
typedef struct MBWMClientDesktop MBWMClientDesktop;
typedef struct MBWMClientDesktopClass MBWMClientDesktopClass;
diff --git a/matchbox2/client-types/mb-wm-client-dialog.c b/matchbox2/mb-wm-client-dialog.c
index e4bcdfb..e4bcdfb 100644
--- a/matchbox2/client-types/mb-wm-client-dialog.c
+++ b/matchbox2/mb-wm-client-dialog.c
diff --git a/matchbox2/client-types/mb-wm-client-dialog.h b/matchbox2/mb-wm-client-dialog.h
index de9db01..9c2c54d 100644
--- a/matchbox2/client-types/mb-wm-client-dialog.h
+++ b/matchbox2/mb-wm-client-dialog.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_CLIENT_DIALOG_H
#define _HAVE_MB_CLIENT_DIALOG_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
typedef struct MBWMClientDialog MBWMClientDialog;
typedef struct MBWMClientDialogClass MBWMClientDialogClass;
diff --git a/matchbox2/client-types/mb-wm-client-input.c b/matchbox2/mb-wm-client-input.c
index 3a63d40..3a63d40 100644
--- a/matchbox2/client-types/mb-wm-client-input.c
+++ b/matchbox2/mb-wm-client-input.c
diff --git a/matchbox2/client-types/mb-wm-client-input.h b/matchbox2/mb-wm-client-input.h
index ea63bd6..ea8908c 100644
--- a/matchbox2/client-types/mb-wm-client-input.h
+++ b/matchbox2/mb-wm-client-input.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_CLIENT_INPUT_H
#define _HAVE_MB_CLIENT_INPUT_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
typedef struct MBWMClientInput MBWMClientInput;
typedef struct MBWMClientInputClass MBWMClientInputClass;
diff --git a/matchbox2/client-types/mb-wm-client-menu.c b/matchbox2/mb-wm-client-menu.c
index b68f771..b68f771 100644
--- a/matchbox2/client-types/mb-wm-client-menu.c
+++ b/matchbox2/mb-wm-client-menu.c
diff --git a/matchbox2/client-types/mb-wm-client-menu.h b/matchbox2/mb-wm-client-menu.h
index ac54e86..00552ba 100644
--- a/matchbox2/client-types/mb-wm-client-menu.h
+++ b/matchbox2/mb-wm-client-menu.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_CLIENT_MENU_H
#define _HAVE_MB_CLIENT_MENU_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
typedef struct MBWMClientMenu MBWMClientMenu;
typedef struct MBWMClientMenuClass MBWMClientMenuClass;
diff --git a/matchbox2/client-types/mb-wm-client-note.c b/matchbox2/mb-wm-client-note.c
index d0bb770..d0bb770 100644
--- a/matchbox2/client-types/mb-wm-client-note.c
+++ b/matchbox2/mb-wm-client-note.c
diff --git a/matchbox2/client-types/mb-wm-client-note.h b/matchbox2/mb-wm-client-note.h
index d2390ae..b9d062a 100644
--- a/matchbox2/client-types/mb-wm-client-note.h
+++ b/matchbox2/mb-wm-client-note.h
@@ -21,8 +21,8 @@
#ifndef _HAVE_MB_CLIENT_NOTE_H
#define _HAVE_MB_CLIENT_NOTE_H
-#include <matchbox2/core/mb-wm.h>
-#include <matchbox2/client-types/mb-wm-client-dialog.h>
+#include <matchbox2/mb-wm.h>
+#include <matchbox2/mb-wm-client-dialog.h>
typedef struct MBWMClientNote MBWMClientNote;
typedef struct MBWMClientNoteClass MBWMClientNoteClass;
diff --git a/matchbox2/client-types/mb-wm-client-override.c b/matchbox2/mb-wm-client-override.c
index 238ce73..238ce73 100644
--- a/matchbox2/client-types/mb-wm-client-override.c
+++ b/matchbox2/mb-wm-client-override.c
diff --git a/matchbox2/client-types/mb-wm-client-override.h b/matchbox2/mb-wm-client-override.h
index a804a39..a187bd3 100644
--- a/matchbox2/client-types/mb-wm-client-override.h
+++ b/matchbox2/mb-wm-client-override.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_CLIENT_OVERRIDE_H
#define _HAVE_MB_CLIENT_OVERRIDE_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
typedef struct MBWMClientOverride MBWMClientOverride;
typedef struct MBWMClientOverrideClass MBWMClientOverrideClass;
diff --git a/matchbox2/client-types/mb-wm-client-panel.c b/matchbox2/mb-wm-client-panel.c
index c915d6b..c915d6b 100644
--- a/matchbox2/client-types/mb-wm-client-panel.c
+++ b/matchbox2/mb-wm-client-panel.c
diff --git a/matchbox2/client-types/mb-wm-client-panel.h b/matchbox2/mb-wm-client-panel.h
index 4be2585..db38216 100644
--- a/matchbox2/client-types/mb-wm-client-panel.h
+++ b/matchbox2/mb-wm-client-panel.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_CLIENT_PANEL_H
#define _HAVE_MB_CLIENT_PANEL_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
typedef struct MBWMClientPanel MBWMClientPanel;
typedef struct MBWMClientPanelClass MBWMClientPanelClass;
diff --git a/matchbox2/core/mb-wm-client-window.c b/matchbox2/mb-wm-client-window.c
index f2dbc74..f2dbc74 100644
--- a/matchbox2/core/mb-wm-client-window.c
+++ b/matchbox2/mb-wm-client-window.c
diff --git a/matchbox2/core/mb-wm-client-window.h b/matchbox2/mb-wm-client-window.h
index a898b6e..a898b6e 100644
--- a/matchbox2/core/mb-wm-client-window.h
+++ b/matchbox2/mb-wm-client-window.h
diff --git a/matchbox2/core/mb-wm-client.c b/matchbox2/mb-wm-client.c
index f88a8d8..f88a8d8 100644
--- a/matchbox2/core/mb-wm-client.c
+++ b/matchbox2/mb-wm-client.c
diff --git a/matchbox2/core/mb-wm-client.h b/matchbox2/mb-wm-client.h
index 6b63c8e..6b63c8e 100644
--- a/matchbox2/core/mb-wm-client.h
+++ b/matchbox2/mb-wm-client.h
diff --git a/matchbox2/comp-mgr/mb-wm-comp-mgr-clutter.c b/matchbox2/mb-wm-comp-mgr-clutter.c
index c1aaf8d..c1aaf8d 100644
--- a/matchbox2/comp-mgr/mb-wm-comp-mgr-clutter.c
+++ b/matchbox2/mb-wm-comp-mgr-clutter.c
diff --git a/matchbox2/comp-mgr/mb-wm-comp-mgr-clutter.h b/matchbox2/mb-wm-comp-mgr-clutter.h
index 8c719d9..8c719d9 100644
--- a/matchbox2/comp-mgr/mb-wm-comp-mgr-clutter.h
+++ b/matchbox2/mb-wm-comp-mgr-clutter.h
diff --git a/matchbox2/comp-mgr/mb-wm-comp-mgr-xrender.c b/matchbox2/mb-wm-comp-mgr-xrender.c
index fe7f75b..fe7f75b 100644
--- a/matchbox2/comp-mgr/mb-wm-comp-mgr-xrender.c
+++ b/matchbox2/mb-wm-comp-mgr-xrender.c
diff --git a/matchbox2/comp-mgr/mb-wm-comp-mgr-xrender.h b/matchbox2/mb-wm-comp-mgr-xrender.h
index 0a36bbc..0a36bbc 100644
--- a/matchbox2/comp-mgr/mb-wm-comp-mgr-xrender.h
+++ b/matchbox2/mb-wm-comp-mgr-xrender.h
diff --git a/matchbox2/comp-mgr/mb-wm-comp-mgr.c b/matchbox2/mb-wm-comp-mgr.c
index 68063c3..68063c3 100644
--- a/matchbox2/comp-mgr/mb-wm-comp-mgr.c
+++ b/matchbox2/mb-wm-comp-mgr.c
diff --git a/matchbox2/comp-mgr/mb-wm-comp-mgr.h b/matchbox2/mb-wm-comp-mgr.h
index 98e9cbd..98e9cbd 100644
--- a/matchbox2/comp-mgr/mb-wm-comp-mgr.h
+++ b/matchbox2/mb-wm-comp-mgr.h
diff --git a/matchbox2/core/mb-wm-debug.c b/matchbox2/mb-wm-debug.c
index 75d6e63..75d6e63 100644
--- a/matchbox2/core/mb-wm-debug.c
+++ b/matchbox2/mb-wm-debug.c
diff --git a/matchbox2/core/mb-wm-debug.h b/matchbox2/mb-wm-debug.h
index 4c10be4..4c10be4 100644
--- a/matchbox2/core/mb-wm-debug.h
+++ b/matchbox2/mb-wm-debug.h
diff --git a/matchbox2/core/mb-wm-decor.c b/matchbox2/mb-wm-decor.c
index f4f171b..f4f171b 100644
--- a/matchbox2/core/mb-wm-decor.c
+++ b/matchbox2/mb-wm-decor.c
diff --git a/matchbox2/core/mb-wm-decor.h b/matchbox2/mb-wm-decor.h
index 6adeadf..6adeadf 100644
--- a/matchbox2/core/mb-wm-decor.h
+++ b/matchbox2/mb-wm-decor.h
diff --git a/matchbox2/core/mb-wm-keys.c b/matchbox2/mb-wm-keys.c
index 7c32105..7c32105 100644
--- a/matchbox2/core/mb-wm-keys.c
+++ b/matchbox2/mb-wm-keys.c
diff --git a/matchbox2/core/mb-wm-keys.h b/matchbox2/mb-wm-keys.h
index 0269274..b16fe95 100644
--- a/matchbox2/core/mb-wm-keys.h
+++ b/matchbox2/mb-wm-keys.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_WM_KEYS_H
#define _HAVE_MB_WM_KEYS_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
void
mb_wm_keys_binding_remove_all (MBWindowManager *wm);
diff --git a/matchbox2/core/mb-wm-layout.c b/matchbox2/mb-wm-layout.c
index 793276c..793276c 100644
--- a/matchbox2/core/mb-wm-layout.c
+++ b/matchbox2/mb-wm-layout.c
diff --git a/matchbox2/core/mb-wm-layout.h b/matchbox2/mb-wm-layout.h
index 81db28d..7d824ee 100644
--- a/matchbox2/core/mb-wm-layout.h
+++ b/matchbox2/mb-wm-layout.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_WM_LAYOUT_MANAGER_H
#define _HAVE_MB_WM_LAYOUT_MANAGER_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
#define MB_WM_LAYOUT(c) ((MBWMLayout*)(c))
#define MB_WM_LAYOUT_CLASS(c) ((MBWMLayoutClass*)(c))
diff --git a/matchbox2/core/mb-wm-macros.h b/matchbox2/mb-wm-macros.h
index 5c8ab4b..5c8ab4b 100644
--- a/matchbox2/core/mb-wm-macros.h
+++ b/matchbox2/mb-wm-macros.h
diff --git a/matchbox2/core/mb-wm-main-context.c b/matchbox2/mb-wm-main-context.c
index 71d5d6c..71d5d6c 100644
--- a/matchbox2/core/mb-wm-main-context.c
+++ b/matchbox2/mb-wm-main-context.c
diff --git a/matchbox2/core/mb-wm-main-context.h b/matchbox2/mb-wm-main-context.h
index d9ce7b0..b8be944 100644
--- a/matchbox2/core/mb-wm-main-context.h
+++ b/matchbox2/mb-wm-main-context.h
@@ -21,7 +21,7 @@
#ifndef _HAVE_MB_MAIN_CONTEXT_H
#define _HAVE_MB_MAIN_CONTEXT_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
#include <poll.h>
#define MB_WM_MAIN_CONTEXT(c) ((MBWMMainContext*)(c))
diff --git a/matchbox2/core/mb-wm-object-props.h b/matchbox2/mb-wm-object-props.h
index c2d9fb4..44b3d98 100644
--- a/matchbox2/core/mb-wm-object-props.h
+++ b/matchbox2/mb-wm-object-props.h
@@ -2,7 +2,7 @@
#ifndef _HAVE_MB_OBJECT_PROPS_H
#define _HAVE_MB_OBJECT_PROPS_H
-#include <matchbox2/core/mb-wm-types.h>
+#include <matchbox2/mb-wm-types.h>
/*
* MBWMObject construction properties
diff --git a/matchbox2/core/mb-wm-object.c b/matchbox2/mb-wm-object.c
index 09a6ad4..09a6ad4 100644
--- a/matchbox2/core/mb-wm-object.c
+++ b/matchbox2/mb-wm-object.c
diff --git a/matchbox2/core/mb-wm-object.h b/matchbox2/mb-wm-object.h
index 62a04ae..6fa0cdc 100644
--- a/matchbox2/core/mb-wm-object.h
+++ b/matchbox2/mb-wm-object.h
@@ -22,7 +22,7 @@
#define _HAVE_MB_OBJECT_H
#include <stdarg.h>
-#include <matchbox2/core/mb-wm-object-props.h>
+#include <matchbox2/mb-wm-object-props.h>
typedef struct MBWMObject MBWMObject;
typedef struct MBWMObjectClass MBWMObjectClass;
diff --git a/matchbox2/core/mb-wm-props.c b/matchbox2/mb-wm-props.c
index 01a74bb..01a74bb 100644
--- a/matchbox2/core/mb-wm-props.c
+++ b/matchbox2/mb-wm-props.c
diff --git a/matchbox2/core/mb-wm-props.h b/matchbox2/mb-wm-props.h
index 07418ca..07418ca 100644
--- a/matchbox2/core/mb-wm-props.h
+++ b/matchbox2/mb-wm-props.h
diff --git a/matchbox2/core/mb-wm-root-window.c b/matchbox2/mb-wm-root-window.c
index 62016bb..8fb9053 100644
--- a/matchbox2/core/mb-wm-root-window.c
+++ b/matchbox2/mb-wm-root-window.c
@@ -20,9 +20,9 @@
#include "mb-wm.h"
-#include "../theme-engines/mb-wm-theme.h"
-#include "../client-types/mb-wm-client-dialog.h"
-#include "../client-types/mb-wm-client-app.h"
+#include "mb-wm-theme.h"
+#include "mb-wm-client-dialog.h"
+#include "mb-wm-client-app.h"
#include <X11/Xmd.h>
diff --git a/matchbox2/core/mb-wm-root-window.h b/matchbox2/mb-wm-root-window.h
index 7d3cdbe..7d3cdbe 100644
--- a/matchbox2/core/mb-wm-root-window.h
+++ b/matchbox2/mb-wm-root-window.h
diff --git a/matchbox2/core/mb-wm-stack.c b/matchbox2/mb-wm-stack.c
index f75b228..f75b228 100644
--- a/matchbox2/core/mb-wm-stack.c
+++ b/matchbox2/mb-wm-stack.c
diff --git a/matchbox2/core/mb-wm-stack.h b/matchbox2/mb-wm-stack.h
index 58afc45..58afc45 100644
--- a/matchbox2/core/mb-wm-stack.h
+++ b/matchbox2/mb-wm-stack.h
diff --git a/matchbox2/theme-engines/mb-wm-theme-png.c b/matchbox2/mb-wm-theme-png.c
index a747691..a747691 100644
--- a/matchbox2/theme-engines/mb-wm-theme-png.c
+++ b/matchbox2/mb-wm-theme-png.c
diff --git a/matchbox2/theme-engines/mb-wm-theme-png.h b/matchbox2/mb-wm-theme-png.h
index bfc4c18..e134c9b 100644
--- a/matchbox2/theme-engines/mb-wm-theme-png.h
+++ b/matchbox2/mb-wm-theme-png.h
@@ -22,7 +22,7 @@
#define _HAVE_MB_WM_THEME_PNG_H
#include <matchbox2/mb-wm-config.h>
-#include <matchbox2/theme-engines/mb-wm-theme.h>
+#include <matchbox2/mb-wm-theme.h>
#include <X11/extensions/Xrender.h>
diff --git a/matchbox2/theme-engines/mb-wm-theme-xml.c b/matchbox2/mb-wm-theme-xml.c
index e075b7b..e075b7b 100644
--- a/matchbox2/theme-engines/mb-wm-theme-xml.c
+++ b/matchbox2/mb-wm-theme-xml.c
diff --git a/matchbox2/theme-engines/mb-wm-theme-xml.h b/matchbox2/mb-wm-theme-xml.h
index 8388985..00ea589 100644
--- a/matchbox2/theme-engines/mb-wm-theme-xml.h
+++ b/matchbox2/mb-wm-theme-xml.h
@@ -1,8 +1,8 @@
#ifndef _HAVE_MB_WM_THEME_PRIVATE_H
#define _HAVE_MB_WM_THEME_PRIVATE_H
-#include <matchbox2/core/mb-wm.h>
-#include <matchbox2/theme-engines/mb-wm-theme.h>
+#include <matchbox2/mb-wm.h>
+#include <matchbox2/mb-wm-theme.h>
/*
* Helper structs for xml theme
*/
diff --git a/matchbox2/theme-engines/mb-wm-theme.c b/matchbox2/mb-wm-theme.c
index 93e8fe7..93e8fe7 100644
--- a/matchbox2/theme-engines/mb-wm-theme.c
+++ b/matchbox2/mb-wm-theme.c
diff --git a/matchbox2/theme-engines/mb-wm-theme.h b/matchbox2/mb-wm-theme.h
index 4c25297..fb4b6f5 100644
--- a/matchbox2/theme-engines/mb-wm-theme.h
+++ b/matchbox2/mb-wm-theme.h
@@ -22,7 +22,7 @@
#define _HAVE_MB_WM_THEME_H
#include <matchbox2/mb-wm-config.h>
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
#define MB_WM_THEME(c) ((MBWMTheme*)(c))
#define MB_WM_THEME_CLASS(c) ((MBWMThemeClass*)(c))
diff --git a/matchbox2/core/mb-wm-types.h b/matchbox2/mb-wm-types.h
index 9c1c71a..9c1c71a 100644
--- a/matchbox2/core/mb-wm-types.h
+++ b/matchbox2/mb-wm-types.h
diff --git a/matchbox2/core/mb-wm-util.c b/matchbox2/mb-wm-util.c
index 792cb81..792cb81 100644
--- a/matchbox2/core/mb-wm-util.c
+++ b/matchbox2/mb-wm-util.c
diff --git a/matchbox2/core/mb-wm-util.h b/matchbox2/mb-wm-util.h
index c9bd6b5..66a0149 100644
--- a/matchbox2/core/mb-wm-util.h
+++ b/matchbox2/mb-wm-util.h
@@ -1,7 +1,7 @@
#ifndef _MB_HAVE_UTIL_H
#define _MB_HAVE_UTIL_H
-#include <matchbox2/core/mb-wm.h>
+#include <matchbox2/mb-wm.h>
/* See http://rlove.org/log/2005102601 */
#if __GNUC__ >= 3
diff --git a/matchbox2/core/mb-wm.h b/matchbox2/mb-wm.h
index 0643510..2e2db49 100644
--- a/matchbox2/core/mb-wm.h
+++ b/matchbox2/mb-wm.h
@@ -32,7 +32,7 @@
#include <X11/keysym.h> /* key mask defines */
#include <matchbox2/mb-wm-config.h>
-#include <matchbox2/core/xas.h> /* async stuff not needed for xlib on xcb */
+#include <matchbox2/xas.h> /* async stuff not needed for xlib on xcb */
#ifndef TRUE
#define TRUE 1
@@ -42,21 +42,21 @@
#define FALSE 0
#endif
-#include <matchbox2/core/mb-wm-macros.h>
-#include <matchbox2/core/mb-wm-debug.h>
-#include <matchbox2/core/mb-wm-types.h>
-#include <matchbox2/core/mb-wm-util.h>
-#include <matchbox2/core/mb-wm-object.h>
-#include <matchbox2/core/mb-wm-atoms.h>
-#include <matchbox2/core/mb-wm-props.h>
-#include <matchbox2/core/mb-wm-keys.h>
-#include <matchbox2/core/mb-wm-decor.h>
-#include <matchbox2/core/mb-wm-client-window.h>
-#include <matchbox2/core/mb-wm-root-window.h>
-#include <matchbox2/core/mb-wm-client.h>
-#include <matchbox2/core/mb-wm-client-base.h>
-#include <matchbox2/core/mb-wm-layout.h>
-#include <matchbox2/core/mb-wm-stack.h>
-#include <matchbox2/core/mb-window-manager.h>
-#include <matchbox2/core/mb-wm-main-context.h>
+#include <matchbox2/mb-wm-macros.h>
+#include <matchbox2/mb-wm-debug.h>
+#include <matchbox2/mb-wm-types.h>
+#include <matchbox2/mb-wm-util.h>
+#include <matchbox2/mb-wm-object.h>
+#include <matchbox2/mb-wm-atoms.h>
+#include <matchbox2/mb-wm-props.h>
+#include <matchbox2/mb-wm-keys.h>
+#include <matchbox2/mb-wm-decor.h>
+#include <matchbox2/mb-wm-client-window.h>
+#include <matchbox2/mb-wm-root-window.h>
+#include <matchbox2/mb-wm-client.h>
+#include <matchbox2/mb-wm-client-base.h>
+#include <matchbox2/mb-wm-layout.h>
+#include <matchbox2/mb-wm-stack.h>
+#include <matchbox2/mb-window-manager.h>
+#include <matchbox2/mb-wm-main-context.h>
#endif
diff --git a/matchbox2/theme-engines/Makefile.am b/matchbox2/theme-engines/Makefile.am
deleted file mode 100644
index 1ec6599..0000000
--- a/matchbox2/theme-engines/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-
-if THEME_PNG
-PNG_SRC = mb-wm-theme-png.c mb-wm-theme-png.h
-endif
-
-COMMON_SRC = mb-wm-theme.h mb-wm-theme.c mb-wm-theme-xml.h mb-wm-theme-xml.c
-
-pkgincludedir = $(includedir)/$(MBWM2_INCDIR)/theme-engines
-
-pkginclude_HEADERS = mb-wm-theme.h mb-wm-theme-png.h mb-wm-theme-xml.h
-
-noinst_LTLIBRARIES = libmb-theme.la
-libmb_theme_la_SOURCES = $(COMMON_SRC) $(PNG_SRC)
-libmb_theme_la_CFLAGS =
-
-INCLUDES = $(MBWM_INCS) $(MBWM_CFLAGS) -DDATADIR=\"$(datadir)\"
-
-MAINTAINERCLEANFILES = config.h.in Makefile.in
diff --git a/matchbox2/tidy/tidy-texture-frame.c b/matchbox2/tidy/tidy-texture-frame.c
new file mode 100644
index 0000000..7ba4671
--- /dev/null
+++ b/matchbox2/tidy/tidy-texture-frame.c
@@ -0,0 +1,641 @@
+/* tidy-texture-frame.h: Expandible texture actor
+ *
+ * Copyright (C) 2007 OpenedHand
+ *
+ * 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.
+ */
+
+/**
+ * SECTION:tidy-texture-frame
+ * @short_description: Stretch a texture to fit the entire allocation
+ *
+ * #TidyTextureFrame
+ *
+ */
+
+#include <cogl/cogl.h>
+
+#include "tidy-texture-frame.h"
+
+#define TIDY_PARAM_READABLE \
+ (G_PARAM_READABLE | \
+ G_PARAM_STATIC_NICK | G_PARAM_STATIC_NAME | G_PARAM_STATIC_BLURB)
+
+#define TIDY_PARAM_READWRITE \
+ (G_PARAM_READABLE | G_PARAM_WRITABLE | \
+ G_PARAM_STATIC_NICK | G_PARAM_STATIC_NAME | G_PARAM_STATIC_BLURB)
+
+enum
+{
+ PROP_0,
+
+ PROP_PARENT_TEXTURE,
+
+ PROP_LEFT,
+ PROP_TOP,
+ PROP_RIGHT,
+ PROP_BOTTOM
+};
+
+G_DEFINE_TYPE (TidyTextureFrame, tidy_texture_frame, CLUTTER_TYPE_ACTOR);
+
+#define TIDY_TEXTURE_FRAME_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TIDY_TYPE_TEXTURE_FRAME, TidyTextureFramePrivate))
+
+struct _TidyTextureFramePrivate
+{
+ ClutterTexture *parent_texture;
+
+ gfloat left;
+ gfloat top;
+ gfloat right;
+ gfloat bottom;
+
+ CoglHandle material;
+
+ guint needs_paint : 1;
+};
+
+static void
+tidy_texture_frame_get_preferred_width (ClutterActor *self,
+ gfloat for_height,
+ gfloat *min_width_p,
+ gfloat *natural_width_p)
+{
+ TidyTextureFramePrivate *priv = TIDY_TEXTURE_FRAME (self)->priv;
+
+ if (G_UNLIKELY (priv->parent_texture == NULL))
+ {
+ if (min_width_p)
+ *min_width_p = 0;
+
+ if (natural_width_p)
+ *natural_width_p = 0;
+ }
+ else
+ {
+ ClutterActorClass *klass;
+
+ /* by directly querying the parent texture's class implementation
+ * we are going around any override mechanism the parent texture
+ * might have in place, and we ask directly for the original
+ * preferred width
+ */
+ klass = CLUTTER_ACTOR_GET_CLASS (priv->parent_texture);
+ klass->get_preferred_width (CLUTTER_ACTOR (priv->parent_texture),
+ for_height,
+ min_width_p,
+ natural_width_p);
+ }
+}
+
+static void
+tidy_texture_frame_get_preferred_height (ClutterActor *self,
+ gfloat for_width,
+ gfloat *min_height_p,
+ gfloat *natural_height_p)
+{
+ TidyTextureFramePrivate *priv = TIDY_TEXTURE_FRAME (self)->priv;
+
+ if (G_UNLIKELY (priv->parent_texture == NULL))
+ {
+ if (min_height_p)
+ *min_height_p = 0;
+
+ if (natural_height_p)
+ *natural_height_p = 0;
+ }
+ else
+ {
+ ClutterActorClass *klass;
+
+ /* by directly querying the parent texture's class implementation
+ * we are going around any override mechanism the parent texture
+ * might have in place, and we ask directly for the original
+ * preferred height
+ */
+ klass = CLUTTER_ACTOR_GET_CLASS (priv->parent_texture);
+ klass->get_preferred_height (CLUTTER_ACTOR (priv->parent_texture),
+ for_width,
+ min_height_p,
+ natural_height_p);
+ }
+}
+
+static void
+tidy_texture_frame_realize (ClutterActor *self)
+{
+ TidyTextureFramePrivate *priv = TIDY_TEXTURE_FRAME (self)->priv;
+
+ if (priv->material != COGL_INVALID_HANDLE)
+ return;
+
+ priv->material = cogl_material_new ();
+
+ CLUTTER_ACTOR_SET_FLAGS (self, CLUTTER_ACTOR_REALIZED);
+}
+
+static void
+tidy_texture_frame_unrealize (ClutterActor *self)
+{
+ TidyTextureFramePrivate *priv = TIDY_TEXTURE_FRAME (self)->priv;
+
+ if (priv->material == COGL_INVALID_HANDLE)
+ return;
+
+ cogl_handle_unref (priv->material);
+ priv->material = COGL_INVALID_HANDLE;
+
+ CLUTTER_ACTOR_UNSET_FLAGS (self, CLUTTER_ACTOR_REALIZED);
+}
+
+static void
+tidy_texture_frame_paint (ClutterActor *self)
+{
+ TidyTextureFramePrivate *priv = TIDY_TEXTURE_FRAME (self)->priv;
+ CoglHandle cogl_texture = COGL_INVALID_HANDLE;
+ ClutterActorBox box = { 0, };
+ gfloat width, height;
+ gfloat tex_width, tex_height;
+ gfloat ex, ey;
+ gfloat tx1, ty1, tx2, ty2;
+ guint8 opacity;
+
+ /* no need to paint stuff if we don't have a texture */
+ if (G_UNLIKELY (priv->parent_texture == NULL))
+ return;
+
+ if (!priv->needs_paint)
+ return;
+
+ /* parent texture may have been hidden, so need to make sure it gets
+ * realized
+ */
+ if (!CLUTTER_ACTOR_IS_REALIZED (priv->parent_texture))
+ clutter_actor_realize (CLUTTER_ACTOR (priv->parent_texture));
+
+ cogl_texture = clutter_texture_get_cogl_texture (priv->parent_texture);
+ if (cogl_texture == COGL_INVALID_HANDLE)
+ return;
+
+ tex_width = cogl_texture_get_width (cogl_texture);
+ tex_height = cogl_texture_get_height (cogl_texture);
+
+ clutter_actor_get_allocation_box (self, &box);
+ width = box.x2 - box.x1;
+ height = box.y2 - box.y1;
+
+ tx1 = priv->left / tex_width;
+ tx2 = (tex_width - priv->right) / tex_width;
+ ty1 = priv->top / tex_height;
+ ty2 = (tex_height - priv->bottom) / tex_height;
+
+ ex = width - priv->right;
+ if (ex < 0)
+ ex = priv->right; /* FIXME ? */
+
+ ey = height - priv->bottom;
+ if (ey < 0)
+ ey = priv->bottom; /* FIXME ? */
+
+ opacity = clutter_actor_get_paint_opacity (self);
+
+ g_assert (priv->material != COGL_INVALID_HANDLE);
+
+ /* set the source material using the parent texture's COGL handle */
+ cogl_material_set_color4ub (priv->material, opacity, opacity, opacity, opacity);
+ cogl_material_set_layer (priv->material, 0, cogl_texture);
+ cogl_set_source (priv->material);
+
+ /* top left corner */
+ cogl_rectangle_with_texture_coords (0, 0, priv->left, priv->top,
+ 0.0, 0.0,
+ tx1, ty1);
+
+ /* top middle */
+ cogl_rectangle_with_texture_coords (priv->left, 0, ex, priv->top,
+ tx1, 0.0,
+ tx2, ty1);
+
+ /* top right */
+ cogl_rectangle_with_texture_coords (ex, 0, width, priv->top,
+ tx2, 0.0,
+ 1.0, ty1);
+
+ /* mid left */
+ cogl_rectangle_with_texture_coords (0, priv->top, priv->left, ey,
+ 0.0, ty1,
+ tx1, ty2);
+
+ /* center */
+ cogl_rectangle_with_texture_coords (priv->left, priv->top, ex, ey,
+ tx1, ty1,
+ tx2, ty2);
+
+ /* mid right */
+ cogl_rectangle_with_texture_coords (ex, priv->top, width, ey,
+ tx2, ty1,
+ 1.0, ty2);
+
+ /* bottom left */
+ cogl_rectangle_with_texture_coords (0, ey, priv->left, height,
+ 0.0, ty2,
+ tx1, 1.0);
+
+ /* bottom center */
+ cogl_rectangle_with_texture_coords (priv->left, ey, ex, height,
+ tx1, ty2,
+ tx2, 1.0);
+
+ /* bottom right */
+ cogl_rectangle_with_texture_coords (ex, ey, width, height,
+ tx2, ty2,
+ 1.0, 1.0);
+}
+
+static inline void
+tidy_texture_frame_set_frame_internal (TidyTextureFrame *frame,
+ gfloat left,
+ gfloat top,
+ gfloat right,
+ gfloat bottom)
+{
+ TidyTextureFramePrivate *priv = frame->priv;
+ GObject *gobject = G_OBJECT (frame);
+ gboolean changed = FALSE;
+
+ g_object_freeze_notify (gobject);
+
+ if (priv->top != top)
+ {
+ priv->top = top;
+ g_object_notify (gobject, "top");
+ changed = TRUE;
+ }
+
+ if (priv->right != right)
+ {
+ priv->right = right;
+ g_object_notify (gobject, "right");
+ changed = TRUE;
+ }
+
+ if (priv->bottom != bottom)
+ {
+ priv->bottom = bottom;
+ g_object_notify (gobject, "bottom");
+ changed = TRUE;
+ }
+
+ if (priv->left != left)
+ {
+ priv->left = left;
+ g_object_notify (gobject, "left");
+ changed = TRUE;
+ }
+
+ if (changed && CLUTTER_ACTOR_IS_VISIBLE (frame))
+ clutter_actor_queue_redraw (CLUTTER_ACTOR (frame));
+
+ g_object_thaw_notify (gobject);
+}
+
+static void
+tidy_texture_frame_set_property (GObject *gobject,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ TidyTextureFrame *frame = TIDY_TEXTURE_FRAME (gobject);
+ TidyTextureFramePrivate *priv = frame->priv;
+
+ switch (prop_id)
+ {
+ case PROP_PARENT_TEXTURE:
+ tidy_texture_frame_set_parent_texture (frame,
+ g_value_get_object (value));
+ break;
+
+ case PROP_TOP:
+ tidy_texture_frame_set_frame_internal (frame,
+ priv->left,
+ g_value_get_float (value),
+ priv->right,
+ priv->bottom);
+ break;
+
+ case PROP_RIGHT:
+ tidy_texture_frame_set_frame_internal (frame,
+ priv->top,
+ g_value_get_float (value),
+ priv->bottom,
+ priv->left);
+ break;
+
+ case PROP_BOTTOM:
+ tidy_texture_frame_set_frame_internal (frame,
+ priv->top,
+ priv->right,
+ g_value_get_float (value),
+ priv->left);
+ break;
+
+ case PROP_LEFT:
+ tidy_texture_frame_set_frame_internal (frame,
+ priv->top,
+ priv->right,
+ priv->bottom,
+ g_value_get_float (value));
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+tidy_texture_frame_get_property (GObject *gobject,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ TidyTextureFramePrivate *priv = TIDY_TEXTURE_FRAME (gobject)->priv;
+
+ switch (prop_id)
+ {
+ case PROP_PARENT_TEXTURE:
+ g_value_set_object (value, priv->parent_texture);
+ break;
+
+ case PROP_LEFT:
+ g_value_set_float (value, priv->left);
+ break;
+
+ case PROP_TOP:
+ g_value_set_float (value, priv->top);
+ break;
+
+ case PROP_RIGHT:
+ g_value_set_float (value, priv->right);
+ break;
+
+ case PROP_BOTTOM:
+ g_value_set_float (value, priv->bottom);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+tidy_texture_frame_dispose (GObject *gobject)
+{
+ TidyTextureFramePrivate *priv = TIDY_TEXTURE_FRAME (gobject)->priv;
+
+ if (priv->parent_texture)
+ {
+ g_object_unref (priv->parent_texture);
+ priv->parent_texture = NULL;
+ }
+
+ if (priv->material)
+ {
+ cogl_handle_unref (priv->material);
+ priv->material = COGL_INVALID_HANDLE;
+ }
+
+ G_OBJECT_CLASS (tidy_texture_frame_parent_class)->dispose (gobject);
+}
+
+static void
+tidy_texture_frame_class_init (TidyTextureFrameClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
+ GParamSpec *pspec;
+
+ g_type_class_add_private (gobject_class, sizeof (TidyTextureFramePrivate));
+
+ actor_class->get_preferred_width =
+ tidy_texture_frame_get_preferred_width;
+ actor_class->get_preferred_height =
+ tidy_texture_frame_get_preferred_height;
+ actor_class->realize = tidy_texture_frame_realize;
+ actor_class->unrealize = tidy_texture_frame_unrealize;
+ actor_class->paint = tidy_texture_frame_paint;
+
+ gobject_class->set_property = tidy_texture_frame_set_property;
+ gobject_class->get_property = tidy_texture_frame_get_property;
+ gobject_class->dispose = tidy_texture_frame_dispose;
+
+ pspec = g_param_spec_object ("parent-texture",
+ "Parent Texture",
+ "The parent ClutterTexture",
+ CLUTTER_TYPE_TEXTURE,
+ TIDY_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT);
+ g_object_class_install_property (gobject_class, PROP_PARENT_TEXTURE, pspec);
+
+ pspec = g_param_spec_float ("left",
+ "Left",
+ "Left offset",
+ 0, G_MAXFLOAT,
+ 0,
+ TIDY_PARAM_READWRITE);
+ g_object_class_install_property (gobject_class, PROP_LEFT, pspec);
+
+ pspec = g_param_spec_float ("top",
+ "Top",
+ "Top offset",
+ 0, G_MAXFLOAT,
+ 0,
+ TIDY_PARAM_READWRITE);
+ g_object_class_install_property (gobject_class, PROP_TOP, pspec);
+
+ pspec = g_param_spec_float ("bottom",
+ "Bottom",
+ "Bottom offset",
+ 0, G_MAXFLOAT,
+ 0,
+ TIDY_PARAM_READWRITE);
+ g_object_class_install_property (gobject_class, PROP_BOTTOM, pspec);
+
+ pspec = g_param_spec_float ("right",
+ "Right",
+ "Right offset",
+ 0, G_MAXFLOAT,
+ 0,
+ TIDY_PARAM_READWRITE);
+ g_object_class_install_property (gobject_class, PROP_RIGHT, pspec);
+}
+
+static void
+tidy_texture_frame_init (TidyTextureFrame *self)
+{
+ TidyTextureFramePrivate *priv;
+
+ self->priv = priv = TIDY_TEXTURE_FRAME_GET_PRIVATE (self);
+
+ priv->material = COGL_INVALID_HANDLE;
+}
+
+/**
+ * tidy_texture_frame_new:
+ * @texture: a #ClutterTexture or %NULL
+ * @left: left margin preserving its content
+ * @top: top margin preserving its content
+ * @right: right margin preserving its content
+ * @bottom: bottom margin preserving its content
+ *
+ * A #TidyTextureFrame is a specialized texture that efficiently clones
+ * an area of the given @texture while keeping preserving portions of the
+ * same texture.
+ *
+ * A #TidyTextureFrame can be used to make a rectangular texture fit a
+ * given size without stretching its borders.
+ *
+ * Return value: the newly created #TidyTextureFrame
+ */
+ClutterActor*
+tidy_texture_frame_new (ClutterTexture *texture,
+ gfloat left,
+ gfloat top,
+ gfloat right,
+ gfloat bottom)
+{
+ g_return_val_if_fail (texture == NULL || CLUTTER_IS_TEXTURE (texture), NULL);
+
+ return g_object_new (TIDY_TYPE_TEXTURE_FRAME,
+ "parent-texture", texture,
+ "left", left,
+ "top", top,
+ "right", right,
+ "bottom", bottom,
+ NULL);
+}
+
+ClutterTexture *
+tidy_texture_frame_get_parent_texture (TidyTextureFrame *frame)
+{
+ g_return_val_if_fail (TIDY_IS_TEXTURE_FRAME (frame), NULL);
+
+ return frame->priv->parent_texture;
+}
+
+void
+tidy_texture_frame_set_parent_texture (TidyTextureFrame *frame,
+ ClutterTexture *texture)
+{
+ TidyTextureFramePrivate *priv;
+ gboolean was_visible;
+
+ g_return_if_fail (TIDY_IS_TEXTURE_FRAME (frame));
+ g_return_if_fail (texture == NULL || CLUTTER_IS_TEXTURE (texture));
+
+ priv = frame->priv;
+
+ was_visible = CLUTTER_ACTOR_IS_VISIBLE (frame);
+
+ if (priv->parent_texture == texture)
+ return;
+
+ if (priv->parent_texture)
+ {
+ g_object_unref (priv->parent_texture);
+ priv->parent_texture = NULL;
+
+ if (was_visible)
+ clutter_actor_hide (CLUTTER_ACTOR (frame));
+ }
+
+ if (texture)
+ {
+ priv->parent_texture = g_object_ref (texture);
+
+ if (was_visible && CLUTTER_ACTOR_IS_VISIBLE (priv->parent_texture))
+ clutter_actor_show (CLUTTER_ACTOR (frame));
+ }
+
+ clutter_actor_queue_relayout (CLUTTER_ACTOR (frame));
+
+ g_object_notify (G_OBJECT (frame), "parent-texture");
+}
+
+void
+tidy_texture_frame_set_frame (TidyTextureFrame *frame,
+ gfloat top,
+ gfloat right,
+ gfloat bottom,
+ gfloat left)
+{
+ g_return_if_fail (TIDY_IS_TEXTURE_FRAME (frame));
+
+ tidy_texture_frame_set_frame_internal (frame, top, right, bottom, left);
+}
+
+void
+tidy_texture_frame_get_frame (TidyTextureFrame *frame,
+ gfloat *top,
+ gfloat *right,
+ gfloat *bottom,
+ gfloat *left)
+{
+ TidyTextureFramePrivate *priv;
+
+ g_return_if_fail (TIDY_IS_TEXTURE_FRAME (frame));
+
+ priv = frame->priv;
+
+ if (top)
+ *top = priv->top;
+
+ if (right)
+ *right = priv->right;
+
+ if (bottom)
+ *bottom = priv->bottom;
+
+ if (left)
+ *left = priv->left;
+}
+
+/**
+ * tidy_texture_frame_set_needs_paint:
+ * @frame: a #TidyTextureframe
+ * @needs_paint: if %FALSE, the paint will be skipped
+ *
+ * Provides a hint to the texture frame that it is totally obscured
+ * and doesn't need to be painted. This would typically be called
+ * by a parent container if it detects the condition prior to
+ * painting its children and then unset afterwards.
+ *
+ * Since it is not supposed to have any effect on display, it does
+ * not queue a repaint.
+ */
+void
+tidy_texture_frame_set_needs_paint (TidyTextureFrame *frame,
+ gboolean needs_paint)
+{
+ TidyTextureFramePrivate *priv;
+
+ g_return_if_fail (TIDY_IS_TEXTURE_FRAME (frame));
+
+ priv = frame->priv;
+
+ priv->needs_paint = needs_paint;
+}
diff --git a/matchbox2/tidy/tidy-texture-frame.h b/matchbox2/tidy/tidy-texture-frame.h
new file mode 100644
index 0000000..71dd40c
--- /dev/null
+++ b/matchbox2/tidy/tidy-texture-frame.h
@@ -0,0 +1,84 @@
+/* tidy-texture-frame.h: Expandible texture actor
+ *
+ * Copyright (C) 2007, 2008 OpenedHand Ltd
+ * Copyright (C) 2009 Intel Corp.
+ *
+ * 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.
+ */
+
+#ifndef _HAVE_TIDY_TEXTURE_FRAME_H
+#define _HAVE_TIDY_TEXTURE_FRAME_H
+
+#include <clutter/clutter.h>
+
+G_BEGIN_DECLS
+
+#define TIDY_TYPE_TEXTURE_FRAME (tidy_texture_frame_get_type ())
+#define TIDY_TEXTURE_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TIDY_TYPE_TEXTURE_FRAME, TidyTextureFrame))
+#define TIDY_TEXTURE_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TIDY_TYPE_TEXTURE_FRAME, TidyTextureFrameClass))
+#define TIDY_IS_TEXTURE_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TIDY_TYPE_TEXTURE_FRAME))
+#define TIDY_IS_TEXTURE_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TIDY_TYPE_TEXTURE_FRAME))
+#define TIDY_TEXTURE_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TIDY_TYPE_TEXTURE_FRAME, TidyTextureFrameClass))
+
+typedef struct _TidyTextureFrame TidyTextureFrame;
+typedef struct _TidyTextureFramePrivate TidyTextureFramePrivate;
+typedef struct _TidyTextureFrameClass TidyTextureFrameClass;
+
+struct _TidyTextureFrame
+{
+ /*< private >*/
+ ClutterActor parent_instance;
+
+ TidyTextureFramePrivate *priv;
+};
+
+struct _TidyTextureFrameClass
+{
+ ClutterActorClass parent_class;
+
+ /* padding for future expansion */
+ void (*_clutter_box_1) (void);
+ void (*_clutter_box_2) (void);
+ void (*_clutter_box_3) (void);
+ void (*_clutter_box_4) (void);
+};
+
+GType tidy_texture_frame_get_type (void) G_GNUC_CONST;
+ClutterActor * tidy_texture_frame_new (ClutterTexture *texture,
+ gfloat top,
+ gfloat right,
+ gfloat bottom,
+ gfloat left);
+void tidy_texture_frame_set_parent_texture (TidyTextureFrame *frame,
+ ClutterTexture *texture);
+ClutterTexture *tidy_texture_frame_get_parent_texture (TidyTextureFrame *frame);
+void tidy_texture_frame_set_frame (TidyTextureFrame *frame,
+ gfloat top,
+ gfloat right,
+ gfloat bottom,
+ gfloat left);
+void tidy_texture_frame_get_frame (TidyTextureFrame *frame,
+ gfloat *top,
+ gfloat *right,
+ gfloat *bottom,
+ gfloat *left);
+
+void tidy_texture_frame_set_needs_paint (TidyTextureFrame *frame,
+ gboolean needs_paint);
+
+G_END_DECLS
+
+#endif /* _HAVE_TIDY_TEXTURE_FRAME_H */
diff --git a/matchbox2/core/xas.c b/matchbox2/xas.c
index 47329dc..47329dc 100644
--- a/matchbox2/core/xas.c
+++ b/matchbox2/xas.c
diff --git a/matchbox2/core/xas.h b/matchbox2/xas.h
index e9b7ca8..e9b7ca8 100644
--- a/matchbox2/core/xas.h
+++ b/matchbox2/xas.h