aboutsummaryrefslogtreecommitdiff
path: root/vendor/x11iraf/obm/ObmW/scroll.h
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/x11iraf/obm/ObmW/scroll.h')
-rw-r--r--vendor/x11iraf/obm/ObmW/scroll.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/vendor/x11iraf/obm/ObmW/scroll.h b/vendor/x11iraf/obm/ObmW/scroll.h
new file mode 100644
index 00000000..1ecbe1ed
--- /dev/null
+++ b/vendor/x11iraf/obm/ObmW/scroll.h
@@ -0,0 +1,96 @@
+/*
+ * File: <Xfwf/scroll.h>
+ *
+ * Declarations and typedefs for the Free Widget Foundation
+ * Scrolling Widget Interface Policy.
+ * =
+
+ */
+
+#ifndef _XFWF_SCROLL_H
+#define _XFWF_SCROLL_H 1
+
+/*
+ * The XfwfSReason typedef defines all the possible types
+ * of scroll messages. XfwfSNotify indicates a _notify_
+ * message, and all others indicate a _command_ message.
+ */
+typedef enum _XfwfSReason
+{
+ XfwfSNotify, /* Widget has changed position or size */
+
+ XfwfSMove, /* Request to move widget */
+ XfwfSDrag, /* widget is being moved continuously */
+
+ XfwfSZoom, /* Request to Zoom (resize visible area) */
+ XfwfSStretch, /* widget is being zoomed continuously */
+
+ XfwfSUp, /* User request to ``move up one unit'' */
+ XfwfSLeft, /* User request to ``move left one unit'' */
+ XfwfSDown, XfwfSRight, /* similar */
+
+ XfwfSPageUp, /* User request to ``move up one page'' */
+ XfwfSPageLeft, XfwfSPageDown, XfwfSPageRight, /* similar */
+
+ XfwfSZoomIn, /* User invoked ``Zoom In'' */
+ XfwfSZoomOut, /* User invoked ``Zoom Out'' */
+
+ XfwfSTop, /* User invoked ``Scroll to top'' */
+ XfwfSBottom, XfwfSLeftSide, XfwfSRightSide, /* similar */
+
+ XfwfSZoomInFull, XfwfSZoomOutFull /* similar, but wrt zoom state */
+
+} XfwfSReason;
+
+/* =
+
+ * #define's for the 'flags' field:
+ */
+typedef unsigned short XfwfSFlags;
+#define XFWF_VPOS 0x1 /* vpos set */
+#define XFWF_VSIZE 0x2 /* vsize set */
+#define XFWF_HPOS 0x4 /* hpos set */
+#define XFWF_HSIZE 0x8 /* hsize set */
+
+/*
+ * The XfwfScrollInfo structure defines the scroll message passed
+ * between scrolling widgets:
+ */
+typedef struct _XfwfScrollInfo
+{
+ XfwfSReason reason; /* see above */
+ XfwfSFlags flags; /* defines which fields are relev=
+ant */
+ float vpos; /* "top" position, [0..1] */
+ float vsize; /* total visible vertical size [0=
+=2E.1] */
+ float hpos; /* "left" position */
+ float hsize; /* total visible horizontal size =
+*/
+} XfwfScrollInfo;
+
+
+/*
+ * Application convenience functions:
+ *
+ * XfwfConnectScrollingWidgets(Widget, Widget) attaches two
+ * widgets, which must have the scrollCallback and scrollResponse
+ * resources.
+ */
+
+extern void XfwfConnectScrollingWidgets( /* Widget w1, Widget w2 */);
+
+
+/*
+ * Widget convenience functions:
+ *
+ * =
+
+ * XcwfCvtStringToScrollReason(char *s) converts 's' to one
+ * of the XfwfS* enumerated values. The comparison is case-insensitive,
+ * and the XfwfS prefix may be present but is not necessary.
+ */
+
+extern XfwfSReason XfwfCvtStringToScrollReason(/* char * */);
+
+#endif /* _XFWF_SCROLL_H */