diff src/gui_at_sb.h @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children a49d06539452
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/gui_at_sb.h
@@ -0,0 +1,161 @@
+/* vi:set ts=8 sts=4 sw=4: */
+/* MODIFIED ATHENA SCROLLBAR (USING ARROWHEADS AT ENDS OF TRAVEL) */
+/* Modifications Copyright 1992 by Mitch Trachtenberg		  */
+/* Rights, permissions, and disclaimer of warranty are as in the  */
+/* DEC and MIT notice below.  See usage warning in .c file.	  */
+/*
+ * $XConsortium: ScrollbarP.h,v 1.3 94/04/17 20:12:42 jim Exp $
+ */
+
+
+/***********************************************************
+
+Copyright (c) 1987, 1988  X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+			All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef _Scrollbar_h
+#define _Scrollbar_h
+
+/****************************************************************
+ *
+ * Scrollbar Widget
+ *
+ ****************************************************************/
+
+#include <X11/IntrinsicP.h>
+#include <X11/Xaw/SimpleP.h>
+#include <X11/Xmu/Converters.h>
+
+/*
+ * Most things we need are in StringDefs.h
+ */
+#define XtCMinimumThumb		"MinimumThumb"
+#define XtCShown		"Shown"
+#define XtCTopOfThumb		"TopOfThumb"
+#define XtCMaxOfThumb		"MaxOfThumb"
+#define XtCShadowWidth		"ShadowWidth"
+#define XtCTopShadowPixel	"TopShadowPixel"
+#define XtCBottomShadowPixel	"BottomShadowPixel"
+#define XtCLimitThumb		"LimitThumb"
+
+#define XtNminimumThumb		"minimumThumb"
+#define XtNtopOfThumb		"topOfThumb"
+#define XtNmaxOfThumb		"maxOfThumb"
+#define XtNshadowWidth		"shadowWidth"
+#define XtNtopShadowPixel	"topShadowPixel"
+#define XtNbottomShadowPixel	"bottomShadowPixel"
+#define XtNlimitThumb		"limitThumb"
+
+typedef struct _ScrollbarRec	  *ScrollbarWidget;
+typedef struct _ScrollbarClassRec *ScrollbarWidgetClass;
+
+extern WidgetClass vim_scrollbarWidgetClass;
+
+extern void vim_XawScrollbarSetThumb __ARGS((Widget, double, double, double));
+
+typedef struct
+{
+     /* public */
+    Pixel	  foreground;	/* thumb foreground color */
+    XtOrientation orientation;	/* horizontal or vertical */
+    XtCallbackList scrollProc;	/* proportional scroll */
+    XtCallbackList thumbProc;	/* jump (to position) scroll */
+    XtCallbackList jumpProc;	/* same as thumbProc but pass data by ref */
+    Pixmap	  thumb;	/* thumb color */
+    float	  top;		/* What percent is above the win's top */
+    float	  shown;	/* What percent is shown in the win */
+    float	  max;		/* Maximum value for top */
+    Dimension	  length;	/* either height or width */
+    Dimension	  thickness;	/* either width or height */
+    Dimension	  min_thumb;	/* minium size for the thumb. */
+
+     /* private */
+    XtIntervalId  timer_id;	/* autorepeat timer; remove on destruction */
+    char	  scroll_mode;	/* see below */
+    float	  scroll_off;	/* offset from event to top of thumb */
+    GC		  gc;		/* a (shared) gc */
+    Position	  topLoc;	/* Pixel that corresponds to top */
+    Dimension	  shownLength;	/* Num pixels corresponding to shown */
+
+    /* From 3d widget */
+    Dimension	shadow_width;
+    Pixel	top_shadow_pixel;
+    Pixel	bot_shadow_pixel;
+    Bool	limit_thumb;	/* limit thumb to inside scrollbar */
+    int		top_shadow_contrast;
+    int		bot_shadow_contrast;
+    GC		top_shadow_GC;
+    GC		bot_shadow_GC;
+} ScrollbarPart;
+
+#define SMODE_NONE		0
+#define SMODE_CONT		1
+#define SMODE_PAGE_UP		2
+#define SMODE_PAGE_DOWN		3
+#define SMODE_LINE_UP		4
+#define SMODE_LINE_DOWN		5
+
+#define ONE_LINE_DATA		1
+#define ONE_PAGE_DATA		10
+#define END_PAGE_DATA		9999
+
+typedef struct _ScrollbarRec {
+    CorePart		core;
+    SimplePart		simple;
+    ScrollbarPart	scrollbar;
+} ScrollbarRec;
+
+typedef struct {int empty;} ScrollbarClassPart;
+
+typedef struct _ScrollbarClassRec {
+    CoreClassPart		core_class;
+    SimpleClassPart		simple_class;
+    ScrollbarClassPart		scrollbar_class;
+} ScrollbarClassRec;
+
+extern ScrollbarClassRec vim_scrollbarClassRec;
+
+#endif /* _Scrollbar_h */