Permalink
Browse files

2005-10-10 Jeroen Zwartepoorte <jeroen.zwartepoorte@gmail.com>

	* configure.in: metacity-sharp/glue/Makefile.
	* metacity-sharp/Makefile.am:
	* metacity-sharp/Metacity.metadata:
	* metacity-sharp/glue/Makefile.am:
	* metacity-sharp/glue/generated.c:
	* metacity-sharp/glue/metacity-private/common.h:
	* metacity-sharp/glue/metacity-private/gradient.h:
	* metacity-sharp/glue/metacity-private/preview-widget.h:
	* metacity-sharp/glue/metacity-private/theme-parser.h:
	* metacity-sharp/glue/metacity-private/theme.h:
	* metacity-sharp/glue/metacity-private/util.h:
	* metacity-sharp/test-preview.cs: 
	
	Generate code for the theme border widths. Since metacity headers
	are really private, copy them into the glue directory (yuck!).


svn path=/branches/stetic-summit/stetic/; revision=51528
  • Loading branch information...
1 parent 262f098 commit de857221ae344ec32a057f7c7a79758a9ad799cc Jeroen Zwartepoorte committed Oct 10, 2005
View
@@ -1,3 +1,21 @@
+2005-10-10 Jeroen Zwartepoorte <jeroen.zwartepoorte@gmail.com>
+
+ * configure.in: metacity-sharp/glue/Makefile.
+ * metacity-sharp/Makefile.am:
+ * metacity-sharp/Metacity.metadata:
+ * metacity-sharp/glue/Makefile.am:
+ * metacity-sharp/glue/generated.c:
+ * metacity-sharp/glue/metacity-private/common.h:
+ * metacity-sharp/glue/metacity-private/gradient.h:
+ * metacity-sharp/glue/metacity-private/preview-widget.h:
+ * metacity-sharp/glue/metacity-private/theme-parser.h:
+ * metacity-sharp/glue/metacity-private/theme.h:
+ * metacity-sharp/glue/metacity-private/util.h:
+ * metacity-sharp/test-preview.cs:
+
+ Generate code for the theme border widths. Since metacity headers
+ are really private, copy them into the glue directory (yuck!).
+
2005-10-10 Dan Winship <danw@novell.com>
* libstetic/EmbedWindow.cs: Hacks to embed a toplevel window as a
View
@@ -44,6 +44,7 @@ AC_OUTPUT([
Makefile
glue/Makefile
metacity-sharp/Makefile
+metacity-sharp/glue/Makefile
libstetic/Makefile
stetic/Makefile
])
@@ -1,3 +1,7 @@
+SUBDIRS = . glue
+
+pkg = metacity
+glue_includes = metacity-private/preview-widget.h
GAPI_SOURCE = metacity-sources.xml
RAW_API = metacity-api.raw
API = metacity-api.xml
@@ -26,7 +30,10 @@ $(API): $(RAW_API) $(METADATA)
$(GAPI_FIXUP) --api=$(API) --metadata=$(srcdir)/$(METADATA)
generated-stamp: $(API)
- $(GAPI_CODEGEN) --generate $(API) $(GTK_SHARP_CFLAGS) --outdir=generated --customdir=$(srcdir) --assembly-name=metacity-sharp && touch generated-stamp
+ $(GAPI_CODEGEN) --generate $(API) $(GTK_SHARP_CFLAGS) --outdir=generated \
+ --customdir=$(srcdir) --assembly-name=metacity-sharp \
+ --gluelib-name=$(pkg)sharpglue-2 --glue-filename=glue/generated.c \
+ --glue-includes=$(glue_includes) && touch generated-stamp
metacity-sharp.dll: $(build_sources) generated-stamp
$(MCS) -nowarn:169 -unsafe -target:library $(GTK_SHARP_LIBS) \
@@ -8,8 +8,12 @@
<attr path="/api/namespace/enum[@name='GrabOp']" name="hidden">1</attr>
<attr path="/api/namespace/enum[@name='MenuOp']" name="hidden">1</attr>
<attr path="/api/namespace/enum[@name='VirtualModifier']" name="hidden">1</attr>
+ <attr path="/api/namespace/object[@name='Preview']/field[@name='LeftWidth']" name="access">public</attr>
+ <attr path="/api/namespace/object[@name='Preview']/field[@name='RightWidth']" name="access">public</attr>
+ <attr path="/api/namespace/object[@name='Preview']/field[@name='TopHeight']" name="access">public</attr>
+ <attr path="/api/namespace/object[@name='Preview']/field[@name='BottomHeight']" name="access">public</attr>
<attr path="/api/namespace/struct[@name='ButtonLayout']/field" name="array_len">4</attr>
<attr path="/api/namespace/struct[@name='ResizePopup']" name="hidden">1</attr>
<attr path="/api/namespace/struct[@name='WindowMenu']" name="hidden">1</attr>
<add-node path="/api"><symbol type="manual" cname="MetaTheme" name="Metacity.Theme"/></add-node>
-</metadata>
+</metadata>
@@ -0,0 +1,19 @@
+lib_LTLIBRARIES = libmetacitysharpglue-2.la
+
+nodist_libmetacitysharpglue_2_la_SOURCES = generated.c
+
+# Adding a new glue file?
+# Please remember to update makefile.win32
+
+libmetacitysharpglue_2_la_LDFLAGS = -module -avoid-version -no-undefined
+
+libmetacitysharpglue_2_la_LIBADD = $(GTK_LIBS)
+
+INCLUDES = $(GTK_CFLAGS) $(GTK_SHARP_VERSION_CFLAGS) -I$(top_srcdir)
+
+libmetacitysharpglue.dll: $(libmetacitysharpglue_2_la_OBJECTS) libmetacitysharpglue.rc libmetacitysharpglue.def
+ ./build-dll libmetacitysharpglue-2 $(VERSION)
+
+CLEANFILES = lib*.a lib*.dll
+
+#EXTRA_DIST = makefile.win32 win32dll.c
@@ -0,0 +1,37 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+#include <metacity-private/preview-widget.h>
+
+guint metacitysharp_metacity_preview_get_right_width_offset (void);
+
+guint
+metacitysharp_metacity_preview_get_right_width_offset (void)
+{
+ return (guint)G_STRUCT_OFFSET (MetaPreview, right_width);
+}
+
+guint metacitysharp_metacity_preview_get_top_height_offset (void);
+
+guint
+metacitysharp_metacity_preview_get_top_height_offset (void)
+{
+ return (guint)G_STRUCT_OFFSET (MetaPreview, top_height);
+}
+
+guint metacitysharp_metacity_preview_get_bottom_height_offset (void);
+
+guint
+metacitysharp_metacity_preview_get_bottom_height_offset (void)
+{
+ return (guint)G_STRUCT_OFFSET (MetaPreview, bottom_height);
+}
+
+guint metacitysharp_metacity_preview_get_left_width_offset (void);
+
+guint
+metacitysharp_metacity_preview_get_left_width_offset (void)
+{
+ return (guint)G_STRUCT_OFFSET (MetaPreview, left_width);
+}
+
@@ -0,0 +1,232 @@
+/* Metacity common types shared by core.h and ui.h */
+
+/*
+ * Copyright (C) 2001 Havoc Pennington
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef META_COMMON_H
+#define META_COMMON_H
+
+/* Don't include GTK or core headers here */
+#include <X11/Xlib.h>
+#include <glib.h>
+
+typedef struct _MetaResizePopup MetaResizePopup;
+
+typedef enum
+{
+ META_FRAME_ALLOWS_DELETE = 1 << 0,
+ META_FRAME_ALLOWS_MENU = 1 << 1,
+ META_FRAME_ALLOWS_MINIMIZE = 1 << 2,
+ META_FRAME_ALLOWS_MAXIMIZE = 1 << 3,
+ META_FRAME_ALLOWS_VERTICAL_RESIZE = 1 << 4,
+ META_FRAME_ALLOWS_HORIZONTAL_RESIZE = 1 << 5,
+ META_FRAME_HAS_FOCUS = 1 << 6,
+ META_FRAME_SHADED = 1 << 7,
+ META_FRAME_STUCK = 1 << 8,
+ META_FRAME_MAXIMIZED = 1 << 9,
+ META_FRAME_ALLOWS_SHADE = 1 << 10,
+ META_FRAME_ALLOWS_MOVE = 1 << 11,
+ META_FRAME_FULLSCREEN = 1 << 12,
+ META_FRAME_IS_FLASHING = 1 << 13
+} MetaFrameFlags;
+
+typedef enum
+{
+ META_MENU_OP_DELETE = 1 << 0,
+ META_MENU_OP_MINIMIZE = 1 << 1,
+ META_MENU_OP_UNMAXIMIZE = 1 << 2,
+ META_MENU_OP_MAXIMIZE = 1 << 3,
+ META_MENU_OP_UNSHADE = 1 << 4,
+ META_MENU_OP_SHADE = 1 << 5,
+ META_MENU_OP_UNSTICK = 1 << 6,
+ META_MENU_OP_STICK = 1 << 7,
+ META_MENU_OP_WORKSPACES = 1 << 8,
+ META_MENU_OP_MOVE = 1 << 9,
+ META_MENU_OP_RESIZE = 1 << 10,
+ META_MENU_OP_ABOVE = 1 << 11,
+ META_MENU_OP_UNABOVE = 1 << 12,
+ META_MENU_OP_MOVE_LEFT = 1 << 13,
+ META_MENU_OP_MOVE_RIGHT = 1 << 14,
+ META_MENU_OP_MOVE_UP = 1 << 15,
+ META_MENU_OP_MOVE_DOWN = 1 << 16
+} MetaMenuOp;
+
+typedef struct _MetaWindowMenu MetaWindowMenu;
+
+typedef void (* MetaWindowMenuFunc) (MetaWindowMenu *menu,
+ Display *xdisplay,
+ Window client_xwindow,
+ Time timestamp,
+ MetaMenuOp op,
+ int workspace,
+ gpointer data);
+
+/* when changing this enum, there are various switch statements
+ * you have to update
+ */
+typedef enum
+{
+ META_GRAB_OP_NONE,
+
+ /* Mouse ops */
+ META_GRAB_OP_MOVING,
+ META_GRAB_OP_RESIZING_SE,
+ META_GRAB_OP_RESIZING_S,
+ META_GRAB_OP_RESIZING_SW,
+ META_GRAB_OP_RESIZING_N,
+ META_GRAB_OP_RESIZING_NE,
+ META_GRAB_OP_RESIZING_NW,
+ META_GRAB_OP_RESIZING_W,
+ META_GRAB_OP_RESIZING_E,
+
+ /* Keyboard ops */
+ META_GRAB_OP_KEYBOARD_MOVING,
+ META_GRAB_OP_KEYBOARD_RESIZING_UNKNOWN,
+ META_GRAB_OP_KEYBOARD_RESIZING_S,
+ META_GRAB_OP_KEYBOARD_RESIZING_N,
+ META_GRAB_OP_KEYBOARD_RESIZING_W,
+ META_GRAB_OP_KEYBOARD_RESIZING_E,
+ META_GRAB_OP_KEYBOARD_RESIZING_SE,
+ META_GRAB_OP_KEYBOARD_RESIZING_NE,
+ META_GRAB_OP_KEYBOARD_RESIZING_SW,
+ META_GRAB_OP_KEYBOARD_RESIZING_NW,
+
+ /* Alt+Tab */
+ META_GRAB_OP_KEYBOARD_TABBING_NORMAL,
+ META_GRAB_OP_KEYBOARD_TABBING_DOCK,
+
+ /* Alt+Esc */
+ META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL,
+ META_GRAB_OP_KEYBOARD_ESCAPING_DOCK,
+
+ META_GRAB_OP_KEYBOARD_WORKSPACE_SWITCHING,
+
+ /* Frame button ops */
+ META_GRAB_OP_CLICKING_MINIMIZE,
+ META_GRAB_OP_CLICKING_MAXIMIZE,
+ META_GRAB_OP_CLICKING_UNMAXIMIZE,
+ META_GRAB_OP_CLICKING_DELETE,
+ META_GRAB_OP_CLICKING_MENU
+} MetaGrabOp;
+
+typedef enum
+{
+ META_CURSOR_DEFAULT,
+ META_CURSOR_NORTH_RESIZE,
+ META_CURSOR_SOUTH_RESIZE,
+ META_CURSOR_WEST_RESIZE,
+ META_CURSOR_EAST_RESIZE,
+ META_CURSOR_SE_RESIZE,
+ META_CURSOR_SW_RESIZE,
+ META_CURSOR_NE_RESIZE,
+ META_CURSOR_NW_RESIZE,
+ META_CURSOR_MOVE_WINDOW,
+ META_CURSOR_RESIZE_WINDOW,
+ META_CURSOR_BUSY
+
+} MetaCursor;
+
+typedef enum
+{
+ META_FOCUS_MODE_CLICK,
+ META_FOCUS_MODE_SLOPPY,
+ META_FOCUS_MODE_MOUSE
+} MetaFocusMode;
+
+typedef enum
+{
+ META_ACTION_DOUBLE_CLICK_TITLEBAR_TOGGLE_SHADE,
+ META_ACTION_DOUBLE_CLICK_TITLEBAR_TOGGLE_MAXIMIZE,
+ META_ACTION_DOUBLE_CLICK_TITLEBAR_LAST
+} MetaActionDoubleClickTitlebar;
+
+typedef enum
+{
+ META_FRAME_TYPE_NORMAL,
+ META_FRAME_TYPE_DIALOG,
+ META_FRAME_TYPE_MODAL_DIALOG,
+ META_FRAME_TYPE_UTILITY,
+ META_FRAME_TYPE_MENU,
+ META_FRAME_TYPE_BORDER,
+ META_FRAME_TYPE_LAST
+} MetaFrameType;
+
+typedef enum
+{
+ /* Create gratuitous divergence from regular
+ * X mod bits, to be sure we find bugs
+ */
+ META_VIRTUAL_SHIFT_MASK = 1 << 5,
+ META_VIRTUAL_CONTROL_MASK = 1 << 6,
+ META_VIRTUAL_ALT_MASK = 1 << 7,
+ META_VIRTUAL_META_MASK = 1 << 8,
+ META_VIRTUAL_SUPER_MASK = 1 << 9,
+ META_VIRTUAL_HYPER_MASK = 1 << 10,
+ META_VIRTUAL_MOD2_MASK = 1 << 11,
+ META_VIRTUAL_MOD3_MASK = 1 << 12,
+ META_VIRTUAL_MOD4_MASK = 1 << 13,
+ META_VIRTUAL_MOD5_MASK = 1 << 14
+} MetaVirtualModifier;
+
+
+/* Function a window button can have. Note, you can't add stuff here
+ * without extending the theme format to draw a new function and
+ * breaking all existing themes.
+ */
+typedef enum
+{
+ META_BUTTON_FUNCTION_MENU,
+ META_BUTTON_FUNCTION_MINIMIZE,
+ META_BUTTON_FUNCTION_MAXIMIZE,
+ META_BUTTON_FUNCTION_CLOSE,
+ META_BUTTON_FUNCTION_LAST
+} MetaButtonFunction;
+
+#define MAX_BUTTONS_PER_CORNER META_BUTTON_FUNCTION_LAST
+
+typedef struct _MetaButtonLayout MetaButtonLayout;
+struct _MetaButtonLayout
+{
+ /* buttons in the group on the left side */
+ MetaButtonFunction left_buttons[MAX_BUTTONS_PER_CORNER];
+
+ /* buttons in the group on the right side */
+ MetaButtonFunction right_buttons[MAX_BUTTONS_PER_CORNER];
+};
+
+/* should investigate changing these to whatever most apps use */
+#define META_ICON_WIDTH 32
+#define META_ICON_HEIGHT 32
+#define META_MINI_ICON_WIDTH 16
+#define META_MINI_ICON_HEIGHT 16
+
+#define META_PRIORITY_PREFS_NOTIFY (G_PRIORITY_DEFAULT_IDLE + 10)
+#define META_PRIORITY_WORK_AREA_HINT (G_PRIORITY_DEFAULT_IDLE + 15)
+
+#define POINT_IN_RECT(xcoord, ycoord, rect) \
+ ((xcoord) >= (rect).x && \
+ (xcoord) < ((rect).x + (rect).width) && \
+ (ycoord) >= (rect).y && \
+ (ycoord) < ((rect).y + (rect).height))
+
+#endif
+
+
+
+
Oops, something went wrong.

0 comments on commit de85722

Please sign in to comment.