aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/include/DPS/DPSScrollW.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/include/DPS/DPSScrollW.h')
-rw-r--r--nx-X11/include/DPS/DPSScrollW.h192
1 files changed, 192 insertions, 0 deletions
diff --git a/nx-X11/include/DPS/DPSScrollW.h b/nx-X11/include/DPS/DPSScrollW.h
new file mode 100644
index 000000000..5baeec785
--- /dev/null
+++ b/nx-X11/include/DPS/DPSScrollW.h
@@ -0,0 +1,192 @@
+/*
+ * DPSScrollW.h
+ *
+ * (c) Copyright 1993-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86$ */
+
+#ifndef _DPSScrolledWindow_h
+#define _DPSScrolledWindow_h
+
+#include <DPS/dpsXshare.h>
+
+/* New resouce names and classes */
+
+#define XtNcontext "context"
+#define XtCContext "Context"
+#define XtNareaWidth "areaWidth"
+#define XtCAreaWidth "AreaWidth"
+#define XtNareaHeight "areaHeight"
+#define XtCAreaHeight "AreaHeight"
+#define XtNscale "scale"
+#define XtCScale "Scale"
+#define XtNctm "ctm"
+#define XtCCtm "Ctm"
+#define XtNinvCtm "invCtm"
+#define XtCInvCtm "InvCtm"
+#define XtNuseBackingPixmap "useBackingPixmap"
+#define XtCUseBackingPixmap "UseBackingPixmap"
+#define XtNuseFeedbackPixmap "useFeedbackPixmap"
+#define XtCUseFeedbackPixmap "UseFeedbackPixmap"
+#define XtNbackingPixmap "backingPixmap"
+#define XtCBackingPixmap "BackingPixmap"
+#define XtNfeedbackPixmap "feedbackPixmap"
+#define XtCFeedbackPixmap "FeedbackPixmap"
+#define XtNdocumentSizePixmaps "documentSizePixmaps"
+#define XtCDocumentSizePixmaps "DocumentSizePixmaps"
+#define XtNwindowGState "windowGState"
+#define XtCWindowGState "WindowGState"
+#define XtNbackingGState "backingGState"
+#define XtCBackingGState "BackingGState"
+#define XtNfeedbackGState "feedbackGState"
+#define XtCFeedbackGState "FeedbackGState"
+#define XtNdirtyAreas "dirtyAreas"
+#define XtCDirtyAreas "DirtyAreas"
+#define XtNnumDirtyAreas "numDirtyAreas"
+#define XtCNumDirtyAreas "NumDirtyAreas"
+#define XtNpixmapLimit "pixmapLimit"
+#define XtCPixmapLimit "PixmapLimit"
+#define XtNabsolutePixmapLimit "absolutePixmapLimit"
+#define XtCAbsolutePixmapLimit "AbsolutePixmapLimit"
+#define XtNwatchProgress "watchProgress"
+#define XtCWatchProgress "WatchProgress"
+#define XtNminimalDrawing "minimalDrawing"
+#define XtCMinimalDrawing "MinimalDrawing"
+#define XtNwatchProgressDelay "watchProgressDelay"
+#define XtCWatchProgressDelay "WatchProgressDelay"
+#define XtNapplicationScrolling "applicationScrolling"
+#define XtCApplicationScrolling "ApplicationScrolling"
+#define XtNsetupCallback "setupCallback"
+#define XtNexposeCallback "exposeCallback"
+#define XtNbackgroundCallback "backgroundCallback"
+#define XtNfeedbackCallback "feedbackCallback"
+#define XtNresizeCallback "resizeCallback"
+
+/* New resource types */
+
+#define XtRDPSContext "DPSContext"
+#define XtRDPSGState "DPSGState"
+#define XtRFloatArray "FloatArray"
+
+/* Callback records */
+
+typedef struct {
+ DPSContext context;
+} DSWSetupCallbackRec;
+
+typedef enum {DSWWindow, DSWBackingPixmap, DSWFeedbackPixmap} DSWDrawableType;
+typedef enum {DSWDrawSome, DSWAbort, DSWFinish,
+ DSWAbortOrFinish} DSWDirections;
+typedef enum {DSWUndefined, DSWCallAgain, DSWAborted, DSWFinished} DSWResults;
+
+typedef struct {
+ DSWDrawableType type;
+ DSWDirections directions;
+ DSWResults results; /* Filled in by callback */
+ Boolean first;
+ Boolean background;
+ Drawable drawable;
+ DPSGState gstate;
+ DPSContext context;
+ float *rects;
+ int rect_count;
+} DSWExposeCallbackRec;
+
+typedef struct {
+ Dimension oldw, oldh;
+ Dimension neww, newh;
+ Position x, y;
+} DSWResizeCallbackRec;
+
+typedef struct {
+ XtPointer start_feedback_data;
+ XtPointer continue_feedback_data;
+ DSWDrawableType type;
+ Drawable drawable;
+ DPSGState gstate;
+ DPSContext context;
+ float *dirty_rects;
+ int dirty_count;
+} DSWFeedbackCallbackRec;
+
+/* Class record constants */
+
+extern WidgetClass dpsScrolledWindowWidgetClass;
+
+typedef struct _DPSScrolledWindowRec *DPSScrolledWindowWidget;
+
+/* Interface routines */
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+/* Note use of long and double in prototypes: this makes the library
+ work correctly when linked with no-prototype compiled objects */
+
+extern void DSWSetScale(Widget w, double scale, long fixedX, long fixedY);
+extern void DSWScrollPoint(Widget w, double psX, double psY, long xX, long xY);
+extern void DSWScrollBy(Widget w, long dx, long dy);
+extern void DSWScrollTo(Widget w, long x, long y);
+extern void DSWSetScaleAndScroll(Widget w, double scale,
+ double psX, double psY, long xX, long xY);
+extern void DSWConvertXToPS(Widget w, long xX, long xY,
+ float *psX, float *psY);
+extern void DSWConvertPSToX(Widget w, double psX, double psY,
+ int *xX, int *xY);
+extern void DSWAddToDirtyArea(Widget w, float *rect, long n);
+extern Boolean DSWTakeFeedbackPixmap(Widget w, Pixmap *p, int *width,
+ int *height, int *depth, Screen **screen);
+extern Boolean DSWGiveFeedbackPixmap(Widget w, Pixmap p, int width, int height,
+ int depth, Screen *screen);
+extern void DSWStartFeedbackDrawing(Widget w, XtPointer start_feedback_data);
+extern void DSWEndFeedbackDrawing(Widget w, Bool restore_window);
+extern void DSWSetFeedbackDirtyArea(Widget w, float *rects, int count,
+ XtPointer continue_feedback_data);
+extern void DSWFinishPendingDrawing(Widget w);
+extern void DSWAbortPendingDrawing(Widget w);
+extern void DSWGetDrawingInfo(Widget w, DSWDrawableType *type,
+ Drawable *drawable, DPSGState *gstate,
+ DPSContext *context);
+extern void DSWUpdateDrawing(Widget w, float *rects, int count);
+extern void DSWGetScrollInfo(Widget w, int *h_value, int *h_size, int *h_max,
+ int *v_value, int *v_size, int *v_max);
+
+#if defined(__cplusplus) || defined(c_plusplus)
+};
+#endif
+
+#endif /* _DPSScrolledWindow_h */
+/* DON'T ADD ANYTHING AFTER THIS #endif */