Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h')
-rw-r--r--features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h
new file mode 100644
index 000000000..26b807b8a
--- /dev/null
+++ b/features/org.eclipse.equinox.executable.feature/library/motif/eclipseMotif.h
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+#ifndef ECLIPSE_MOTIF_H
+#define ECLIPSE_MOTIF_H
+
+#include <Xm/XmAll.h>
+#include <X11/X.h>
+#include <X11/Xlib.h>
+#include <X11/IntrinsicP.h>
+#include <X11/Intrinsic.h>
+#include <X11/Shell.h>
+
+#ifndef NO_XINERAMA_EXTENSIONS
+#include <X11/extensions/Xinerama.h>
+#endif
+
+struct MOTIF_PTRS {
+#ifndef NO_XINERAMA_EXTENSIONS
+ Bool (*XineramaIsActive) (Display*);
+ XineramaScreenInfo* (*XineramaQueryScreens) (Display*, int*);
+#endif
+ Widget (*XmCreateDrawingArea) (Widget, String, ArgList, Cardinal);
+ Widget (*XmCreateLabelGadget) (Widget, char *, Arg *, Cardinal);
+ Widget (*XmCreateMainWindow) (Widget, char *, ArgList, Cardinal);
+ Widget (*XmCreateMessageDialog)(Widget, String, ArgList, Cardinal);
+ Widget (*XmMessageBoxGetChild) (Widget, unsigned char);
+ void (*XmStringFree) (XmString);
+ XmString (*XmStringGenerate) (XtPointer, XmStringTag, XmTextType, XmStringTag);
+
+ void (*XtAddCallback) (Widget, String, XtCallbackProc, XtPointer);
+ Widget (*XtAppCreateShell) (String, String, WidgetClass, Display*, ArgList, Cardinal);
+ void (*XtAppNextEvent) (XtAppContext, XEvent*);
+ XtInputMask (*XtAppPending) (XtAppContext);
+ void (*XtAppProcessEvent) (XtAppContext, XtInputMask);
+ void (*XtDestroyWidget) (Widget);
+ Boolean (*XtDispatchEvent) (XEvent*);
+ void (*XtGetValues) (Widget, ArgList, Cardinal);
+ Widget (*XtInitialize) (String, String, XrmOptionDescRec*, Cardinal, int*, char**);
+#ifdef AIX
+ Widget (*eclipseXtInitialize) (String, String, XrmOptionDescRec*, Cardinal, int*, char**);
+#endif
+ Boolean (*XtIsManaged) (Widget);
+ void (*XtManageChild) (Widget);
+ int (*XtMapWidget) (Widget);
+ void (*XtPopup) (Widget, XtGrabKind);
+ void (*XtRealizeWidget) (Widget);
+ Widget (*XtSetLanguageProc) (XtAppContext, XtLanguageProc, XtPointer);
+ void (*XtSetMappedWhenManaged)(Widget, Boolean);
+ void (*XtSetValues) (Widget, ArgList, Cardinal);
+ void (*XtUnmanageChild) (Widget);
+ XtAppContext (*XtWidgetToApplicationContext) (Widget);
+ Window (*XtWindowOfObject) (Widget);
+
+ Screen * (*XDefaultScreenOfDisplay)(Display*);
+ int (*XFree) (void*);
+ int (*XFlush) (Display*);
+ Status (*XGetGeometry) (Display*, Drawable, Window*, int*, int*, unsigned int*, unsigned int*, unsigned int*, unsigned int*);
+ int (*XMapWindow) (Display*, Window);
+
+ char * _XmStrings;
+ char * XtShellStrings;
+ char * XtStrings;
+ WidgetClass *applicationShellWidgetClass;
+};
+
+extern struct MOTIF_PTRS motif;
+
+#define motif_XtDisplay XtDisplay
+#define motif_XtSetArg XtSetArg
+#define motif_XtWindow XtWindow
+#define motif_XtIsTopLevelShell XtIsTopLevelShell
+#define motif_XtIsRealized(object) (motif.XtWindowOfObject(object) != None)
+#define motif_XtMapWidget(widget) motif.XMapWindow(XtDisplay(widget), XtWindow(widget))
+
+#define _XmStrings motif._XmStrings
+#define XtShellStrings motif.XtShellStrings
+#define XtStrings motif.XtStrings
+
+/* macro resolves to { (void**)&motif.foo, "foo" }, use it to initialize FN_TABLEs */
+#define FN_TABLE_ENTRY(fn) { (void**)&motif.fn, #fn }
+typedef struct {
+ void ** fnPtr;
+ char * fnName;
+} FN_TABLE;
+
+extern int loadMotif();
+#endif

Back to the top