git: d32c335a148f - main - x11-toolkits/libXaw3d: Replace with the freedesktop.org version
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 24 Mar 2025 14:54:31 UTC
The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/ports/commit/?id=d32c335a148f02de30acd38e964fb037074bcd61 commit d32c335a148f02de30acd38e964fb037074bcd61 Author: Cy Schubert <cy@FreeBSD.org> AuthorDate: 2025-03-19 15:47:02 +0000 Commit: Cy Schubert <cy@FreeBSD.org> CommitDate: 2025-03-24 14:54:05 +0000 x11-toolkits/libXaw3d: Replace with the freedesktop.org version Replace the unmaintained Slackware Xaw3d with the maintained freedesktop.org libXaw3d. Assume maintainership. PR: 285528 Exp-run by: antoine --- x11-toolkits/libXaw3d/Makefile | 33 +- x11-toolkits/libXaw3d/distinfo | 6 +- x11-toolkits/libXaw3d/files/patch-Box.c | 24 - .../libXaw3d/files/patch-runtime_scrollbars | 824 --------------------- x11-toolkits/libXaw3d/pkg-descr | 19 +- x11-toolkits/libXaw3d/pkg-plist | 12 +- 6 files changed, 34 insertions(+), 884 deletions(-) diff --git a/x11-toolkits/libXaw3d/Makefile b/x11-toolkits/libXaw3d/Makefile index 73bf890a75bc..042fe2e1d4a1 100644 --- a/x11-toolkits/libXaw3d/Makefile +++ b/x11-toolkits/libXaw3d/Makefile @@ -1,36 +1,21 @@ PORTNAME= libXaw3d -PORTVERSION= 1.5E -PORTREVISION= 8 +PORTVERSION= 1.6.6 CATEGORIES= x11-toolkits -MASTER_SITES= http://slackware.cs.utah.edu/pub/slackware/slackware64-13.1/source/x/xaw3d/ -DISTNAME= Xaw3d-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} -DOCSDIR= ${PREFIX}/share/doc/Xaw3d -MAINTAINER= cy@FreeBSD.org -COMMENT= 3-D Athena Widget set that looks like Motif +MAINTAINER= x11@FreeBSD.org +COMMENT= Xaw3d is the X 3D Athena Widget Set +WWW= https://www.freedesktop.org/wiki/Software/xlibs/ LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/COPYING -WRKSRC= ${WRKDIR}/xc/lib/Xaw3d -USES= gettext imake xorg -USE_XORG= x11 xext xmu xt sm ice xpm -USE_LDCONFIG= yes +USES= gmake tar:xz xorg xorg-cat:lib +USE_XORG= x11 xau xext xmu xpm xorgproto xt + +CONFIGURE_ARGS= --without-xmlto SUB_FILES= pkg-message XAWVER= 8 SUB_LIST= XAWVER="${XAWVER}" -OPTIONS_DEFINE= DOCS - -post-extract: - @${MKDIR} ${WRKSRC}/X11/Xaw3d - @cd ${WRKSRC}/X11/Xaw3d; ${LN} -sf ../../*.h . - -post-install: - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libXaw3d.so - -post-install-DOCS-on: - @${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/README.XAW3D ${STAGEDIR}${DOCSDIR}/ - .include <bsd.port.mk> diff --git a/x11-toolkits/libXaw3d/distinfo b/x11-toolkits/libXaw3d/distinfo index 2d8dfef5406c..e9e1089ee540 100644 --- a/x11-toolkits/libXaw3d/distinfo +++ b/x11-toolkits/libXaw3d/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1742827849 -SHA256 (Xaw3d-1.5E.tar.gz) = 433ad7057d745f6313b5be91b65b983881a27a11711e3332fcaa56bf3befe32b -SIZE (Xaw3d-1.5E.tar.gz) = 309264 +TIMESTAMP = 1742393918 +SHA256 (xorg/lib/libXaw3d-1.6.6.tar.xz) = a41c3e37135ad616b1f28bbde70002afbf3cb59a30df34141f829d32eadc8646 +SIZE (xorg/lib/libXaw3d-1.6.6.tar.xz) = 482040 diff --git a/x11-toolkits/libXaw3d/files/patch-Box.c b/x11-toolkits/libXaw3d/files/patch-Box.c deleted file mode 100644 index 53cfe5b80905..000000000000 --- a/x11-toolkits/libXaw3d/files/patch-Box.c +++ /dev/null @@ -1,24 +0,0 @@ -*** Box.c~ 1996-10-15 10:41:18.000000000 -0400 ---- Box.c 2007-04-21 14:12:44.000000000 -0400 -*************** -*** 353,360 **** - else { - width = preferred_width; - do { /* find some width big enough to stay within this height */ -! width *= 2; -! if (width > constraint->width) width = constraint->width; - DoLayout(w, width, 0, &preferred_width, &preferred_height, FALSE); - } while (preferred_height > constraint->height && - width < constraint->width); ---- 353,363 ---- - else { - width = preferred_width; - do { /* find some width big enough to stay within this height */ -! if (width > constraint->width/2) /* avoid short int overflow */ -! width = constraint->width; -! else -! width *= 2; -! - DoLayout(w, width, 0, &preferred_width, &preferred_height, FALSE); - } while (preferred_height > constraint->height && - width < constraint->width); diff --git a/x11-toolkits/libXaw3d/files/patch-runtime_scrollbars b/x11-toolkits/libXaw3d/files/patch-runtime_scrollbars deleted file mode 100644 index 877cb0ff8020..000000000000 --- a/x11-toolkits/libXaw3d/files/patch-runtime_scrollbars +++ /dev/null @@ -1,824 +0,0 @@ -Index: ChangeLog -=================================================================== -RCS file: ChangeLog -diff -N ChangeLog ---- /dev/null 1 Jan 1970 00:00:00 -0000 -+++ ChangeLog 4 Apr 2005 13:41:08 -0000 1.1 -@@ -0,0 +1,5 @@ -+2005-04-04 Stefan Monnier <monnier@iro.umontreal.ca> -+ -+ * Scrollbar.c (FractionLoc): Don't constrain to 0.0 ... 1.0. -+ (MoveThumb): Rewrite the "picked" handling. -+ -Index: Imakefile -=================================================================== -RCS file: /u/monnier/cvsroot/Xaw3d/Imakefile,v -retrieving revision 1.1.1.9 -retrieving revision 1.2 -diff -u -r1.1.1.9 -r1.2 ---- Imakefile 25 Mar 2005 18:12:03 -0000 1.1.1.9 -+++ Imakefile 27 Mar 2005 13:53:38 -0000 1.2 -@@ -8,8 +8,6 @@ - #undef MULTIPLANE_PIXMAPS - XCOMM For grayed stipple shadows, define GRAY_BLKWHT_STIPPLES: - #define GRAY_BLKWHT_STIPPLES --XCOMM For scrollbars with arrows, define ARROW_SCROLLBARS: --#undef ARROW_SCROLLBARS - - #define DoNormalLib NormalLibXaw - #define DoSharedLib SharedLibXaw -@@ -22,7 +20,7 @@ - #define IncSubSubdir Xaw3d - - XCOMM When building outside an X11 source tree: --XCOMM EXTRA_INCLUDES = -I. -+EXTRA_INCLUDES = -I. - - #ifdef SharedXawReqs - REQUIREDLIBS = SharedXawReqs -@@ -119,13 +117,6 @@ - XAW_GRAY_BLKWHT_STIPPLES = \ - -e 's/\/\* gray stipples \*\//\#undef XAW_GRAY_BLKWHT_STIPPLES/' - #endif --#ifdef ARROW_SCROLLBARS --XAW_ARROW_SCROLLBARS = \ -- -e 's/\/\* arrow scrollbars \*\//\#define XAW_ARROW_SCROLLBARS/' --#else --XAW_ARROW_SCROLLBARS = \ -- -e 's/\/\* arrow scrollbars \*\//\#undef XAW_ARROW_SCROLLBARS/' --#endif - - depend:: laygram.c laygram.h laylex.c Xaw3dP.h - -@@ -148,8 +139,7 @@ - - Xaw3dP.h: Xaw3dP.h.sed - sed $(XAW_INTERNATIONALIZATION) $(XAW_MULTIPLANE_PIXMAPS) \ -- $(XAW_GRAY_BLKWHT_STIPPLES) $(XAW_ARROW_SCROLLBARS) \ -- Xaw3dP.h.sed > Xaw3dP.h -+ $(XAW_GRAY_BLKWHT_STIPPLES) Xaw3dP.h.sed > Xaw3dP.h - - $(OBJS): Xaw3dP.h - -Index: README.XAW3D -=================================================================== -RCS file: /u/monnier/cvsroot/Xaw3d/README.XAW3D,v -retrieving revision 1.1.1.4 -retrieving revision 1.2 -diff -u -r1.1.1.4 -r1.2 ---- README.XAW3D 25 Mar 2005 18:12:04 -0000 1.1.1.4 -+++ README.XAW3D 27 Mar 2005 13:53:38 -0000 1.2 -@@ -48,7 +48,6 @@ - #define XAW_INTERNATIONALIZATION - #define XAW_MULTIPLANE_PIXMAPS - #define XAW_GRAY_BLKWHT_STIPPLES -- #undef XAW_ARROW_SCROLLBARS - - Xaw3dP.h need not be included by the application source, as the public - headers that reference any 3D features include this header. The -@@ -133,16 +132,6 @@ - beNiceToColormap resource is True and 3) the display allows it. This - option was disabled in previous Xaw3d releases. - -- The default Xaw3d does not use arrow scrollbars. At the top of this -- distribution's Imakefile are the lines: -- -- XCOMM For scrollbars with arrows, define ARROW_SCROLLBARS: -- #undef ARROW_SCROLLBARS -- -- If you want arrow-style scrollbars, change the "#undef" to "#define". -- Note that the Scrollbar widget's translations and actions will change -- accordingly. -- - Building Xaw3d within an X11 source tree: - ----------------------------------------- - -Index: Scrollbar.c -=================================================================== -RCS file: /u/monnier/cvsroot/Xaw3d/Scrollbar.c,v -retrieving revision 1.1.1.6 -retrieving revision 1.4 -diff -u -r1.1.1.6 -r1.4 ---- Scrollbar.c 25 Mar 2005 18:12:04 -0000 1.1.1.6 -+++ Scrollbar.c 4 Apr 2005 16:06:04 -0000 1.4 -@@ -53,6 +53,11 @@ - - ******************************************************************/ - -+/* TODO: -+ - avoid adhoc tests for `->arrows'. -+ - add support for scroll wheels. -+ */ -+ - /* ScrollBar.c */ - /* created by weissman, Mon Jul 7 13:20:03 1986 */ - /* converted by swick, Thu Aug 27 1987 */ -@@ -69,38 +74,48 @@ - - /* Private definitions. */ - --#ifdef XAW_ARROW_SCROLLBARS --static char defaultTranslations[] = -- "<Btn1Down>: NotifyScroll()\n\ -- <Btn2Down>: MoveThumb() NotifyThumb() \n\ -- <Btn3Down>: NotifyScroll()\n\ -- <Btn1Motion>: HandleThumb() \n\ -- <Btn3Motion>: HandleThumb() \n\ -- <Btn2Motion>: MoveThumb() NotifyThumb() \n\ -- <BtnUp>: EndScroll()"; --#else - static char defaultTranslations[] = -+#ifdef XAW_SCROLL_WHEEL -+ "<Btn4Down>: StartScroll(Wheel, Backward) \n\ -+ <Btn5Down>: StartScroll(Wheel, Forward) \n" -+#endif - "<Btn1Down>: StartScroll(Forward) \n\ - <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\ - <Btn3Down>: StartScroll(Backward) \n\ -+ <Btn1Motion>: HandleThumb() \n\ -+ <Btn3Motion>: HandleThumb() \n\ - <Btn2Motion>: MoveThumb() NotifyThumb() \n\ - <BtnUp>: NotifyScroll(Proportional) EndScroll()"; --#ifdef bogusScrollKeys -- /* examples */ -- "<KeyPress>f: StartScroll(Forward) NotifyScroll(FullLength) EndScroll()" -- "<KeyPress>b: StartScroll(Backward) NotifyScroll(FullLength) EndScroll()" --#endif --#endif -+/* #ifdef XAW_ARROW_SCROLLBARS -+ * "<Btn1Down>: NotifyScroll()\n\ -+ * <Btn2Down>: MoveThumb() NotifyThumb() \n\ -+ * <Btn3Down>: NotifyScroll()\n\ -+ * <Btn1Motion>: HandleThumb() \n\ -+ * <Btn3Motion>: HandleThumb() \n\ -+ * <Btn2Motion>: MoveThumb() NotifyThumb() \n\ -+ * <BtnUp>: EndScroll()"; -+ * #else -+ * "<Btn1Down>: StartScroll(Forward) \n\ -+ * <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\ -+ * <Btn3Down>: StartScroll(Backward) \n\ -+ * <Btn2Motion>: MoveThumb() NotifyThumb() \n\ -+ * <BtnUp>: NotifyScroll(Proportional) EndScroll()"; -+ * #ifdef bogusScrollKeys -+ * /\* examples *\/ -+ * "<KeyPress>f: StartScroll(Forward) NotifyScroll(FullLength) EndScroll()" -+ * "<KeyPress>b: StartScroll(Backward) NotifyScroll(FullLength) EndScroll()" -+ * #endif -+ * #endif */ - - static float floatZero = 0.0; - - #define Offset(field) XtOffsetOf(ScrollbarRec, field) - - static XtResource resources[] = { --#ifdef XAW_ARROW_SCROLLBARS - /* {XtNscrollCursor, XtCCursor, XtRCursor, sizeof(Cursor), - Offset(scrollbar.cursor), XtRString, "crosshair"},*/ --#else -+ {XtNarrowScrollbars, XtCArrowScrollbars, XtRBoolean, sizeof(Boolean), -+ Offset(scrollbar.arrows), XtRBoolean, (XtPointer) False}, - {XtNscrollVCursor, XtCCursor, XtRCursor, sizeof(Cursor), - Offset(scrollbar.verCursor), XtRString, "sb_v_double_arrow"}, - {XtNscrollHCursor, XtCCursor, XtRCursor, sizeof(Cursor), -@@ -113,7 +128,6 @@ - Offset(scrollbar.leftCursor), XtRString, "sb_left_arrow"}, - {XtNscrollRCursor, XtCCursor, XtRCursor, sizeof(Cursor), - Offset(scrollbar.rightCursor), XtRString, "sb_right_arrow"}, --#endif - {XtNlength, XtCLength, XtRDimension, sizeof(Dimension), - Offset(scrollbar.length), XtRImmediate, (XtPointer) 1}, - {XtNthickness, XtCThickness, XtRDimension, sizeof(Dimension), -@@ -149,22 +163,16 @@ - static void Redisplay(); - static Boolean SetValues(); - --#ifdef XAW_ARROW_SCROLLBARS - static void HandleThumb(); --#else - static void StartScroll(); --#endif - static void MoveThumb(); - static void NotifyThumb(); - static void NotifyScroll(); - static void EndScroll(); - - static XtActionsRec actions[] = { --#ifdef XAW_ARROW_SCROLLBARS - {"HandleThumb", HandleThumb}, --#else - {"StartScroll", StartScroll}, --#endif - {"MoveThumb", MoveThumb}, - {"NotifyThumb", NotifyThumb}, - {"NotifyScroll", NotifyScroll}, -@@ -235,12 +243,11 @@ - (XtConvertArgList)NULL, (Cardinal)0 ); - } - --#ifdef XAW_ARROW_SCROLLBARS --/* CHECKIT #define MARGIN(sbw) (sbw)->scrollbar.thickness + (sbw)->threeD.shadow_width */ --#define MARGIN(sbw) (sbw)->scrollbar.thickness --#else --#define MARGIN(sbw) (sbw)->threeD.shadow_width --#endif -+#define MARGIN(sbw) \ -+ ((sbw)->scrollbar.arrows \ -+ /* CHECKIT (sbw)->scrollbar.thickness + (sbw)->threeD.shadow_width */ \ -+ ? (sbw)->scrollbar.thickness \ -+ : (sbw)->threeD.shadow_width) - - /* - The original Xaw Scrollbar's FillArea *really* relied on the fact that the -@@ -357,7 +364,6 @@ - } - } - --#ifdef XAW_ARROW_SCROLLBARS - static void PaintArrows (sbw) - ScrollbarWidget sbw; - { -@@ -453,7 +459,6 @@ - } - } - } --#endif - - /* Function Name: Destroy - * Description: Called as the scrollbar is going away... -@@ -464,10 +469,8 @@ - Widget w; - { - ScrollbarWidget sbw = (ScrollbarWidget) w; --#ifdef XAW_ARROW_SCROLLBARS - if(sbw->scrollbar.timer_id != (XtIntervalId) 0) - XtRemoveTimeOut (sbw->scrollbar.timer_id); --#endif - XtReleaseGC (w, sbw->scrollbar.gc); - } - -@@ -552,12 +555,8 @@ - ? sbw->scrollbar.thickness : sbw->scrollbar.length; - - SetDimensions (sbw); --#ifdef XAW_ARROW_SCROLLBARS -- sbw->scrollbar.scroll_mode = 0; - sbw->scrollbar.timer_id = (XtIntervalId)0; --#else - sbw->scrollbar.direction = 0; --#endif - sbw->scrollbar.topLoc = 0; - sbw->scrollbar.shownLength = sbw->scrollbar.min_thumb; - } -@@ -568,19 +567,19 @@ - XSetWindowAttributes *attributes; - { - ScrollbarWidget sbw = (ScrollbarWidget) w; --#ifdef XAW_ARROW_SCROLLBARS -- if(sbw->simple.cursor_name == NULL) -- XtVaSetValues(w, XtNcursorName, "crosshair", NULL); -- /* dont set the cursor of the window to anything */ -- *valueMask &= ~CWCursor; --#else -- sbw->scrollbar.inactiveCursor = -- (sbw->scrollbar.orientation == XtorientVertical) -- ? sbw->scrollbar.verCursor -- : sbw->scrollbar.horCursor; -+ if (sbw->scrollbar.arrows) { -+ /* if (sbw->simple.cursor_name == NULL) -+ * XtVaSetValues(w, XtNcursorName, "crosshair", NULL); */ -+ /* dont set the cursor of the window to anything */ -+ *valueMask &= ~CWCursor; -+ } else { -+ sbw->scrollbar.inactiveCursor = -+ (sbw->scrollbar.orientation == XtorientVertical) -+ ? sbw->scrollbar.verCursor -+ : sbw->scrollbar.horCursor; - -- XtVaSetValues (w, XtNcursor, sbw->scrollbar.inactiveCursor, NULL); --#endif -+ XtVaSetValues (w, XtNcursor, sbw->scrollbar.inactiveCursor, NULL); -+ } - /* - * The Simple widget actually stuffs the value in the valuemask. - */ -@@ -669,11 +668,9 @@ - sbw->scrollbar.topLoc = -(sbw->scrollbar.length + 1); - PaintThumb (sbw, event); - } --#ifdef XAW_ARROW_SCROLLBARS -- /* we'd like to be region aware here!!!! */ -- PaintArrows (sbw); --#endif -- -+ if (sbw->scrollbar.arrows) -+ /* we'd like to be region aware here!!!! */ -+ PaintArrows (sbw); - } - - -@@ -776,7 +773,6 @@ - } - } - --#ifdef XAW_ARROW_SCROLLBARS - /* ARGSUSED */ - static void HandleThumb (w, event, params, num_params) - Widget w; -@@ -787,10 +783,14 @@ - Position x,y; - ScrollbarWidget sbw = (ScrollbarWidget) w; - -+ /* The old non-ARROW_SCROLLBAR binding emulation: -+ HandleThumb() -> <nothing> */ -+ if (!sbw->scrollbar.arrows) return; -+ - ExtractPosition( event, &x, &y ); - /* if the motion event puts the pointer in thumb, call Move and Notify */ - /* also call Move and Notify if we're already in continuous scroll mode */ -- if (sbw->scrollbar.scroll_mode == 2 || -+ if (sbw->scrollbar.direction == 'C' || - (PICKLENGTH (sbw,x,y) >= sbw->scrollbar.topLoc && - PICKLENGTH (sbw,x,y) <= sbw->scrollbar.topLoc + sbw->scrollbar.shownLength)){ - XtCallActionProc(w, "MoveThumb", event, params, *num_params); -@@ -805,12 +805,12 @@ - #define A_FEW_PIXELS 5 - ScrollbarWidget sbw = (ScrollbarWidget) client_data; - int call_data; -- if (sbw->scrollbar.scroll_mode != 1 && sbw->scrollbar.scroll_mode != 3) { -+ if (sbw->scrollbar.direction != 'B' && sbw->scrollbar.direction != 'F') { - sbw->scrollbar.timer_id = (XtIntervalId) 0; - return; - } - call_data = MAX (A_FEW_PIXELS, sbw->scrollbar.length / 20); -- if (sbw->scrollbar.scroll_mode == 1) -+ if (sbw->scrollbar.direction == 'B') - call_data = -call_data; - XtCallCallbacks((Widget)sbw, XtNscrollProc, (XtPointer) call_data); - sbw->scrollbar.timer_id = -@@ -820,12 +820,11 @@ - client_data); - } - --#else /* XAW_ARROW_SCROLLBARS */ - /* ARGSUSED */ - static void StartScroll (w, event, params, num_params ) - Widget w; - XEvent *event; -- String *params; /* direction: Back|Forward|Smooth */ -+ String *params; /* direction: Back|Forward|Continuous */ - Cardinal *num_params; /* we only support 1 */ - { - ScrollbarWidget sbw = (ScrollbarWidget) w; -@@ -833,11 +832,24 @@ - char direction; - - if (sbw->scrollbar.direction != 0) return; /* if we're already scrolling */ -- if (*num_params > 0) -+ if (*num_params > 0) - direction = *params[0]; - else - direction = 'C'; - -+ if (sbw->scrollbar.arrows) { -+ /* The old ARROW_SCROLLBAR binding emulation: -+ StartScroll(Forward) -> NotifyScroll() -+ StartScroll(Backward) -> NotifyScroll() -+ StartScroll(Continuous) -> <nothing> */ -+ switch (direction) { -+ case 'b': case 'B': case 'f': case 'F': -+ NotifyScroll(w, event, params, 0); -+ break; -+ } -+ return; -+ } -+ - sbw->scrollbar.direction = direction; - - switch (direction) { -@@ -865,20 +877,17 @@ - XtVaSetValues (w, XtNcursor, cursor, NULL); - XFlush (XtDisplay (w)); - } --#endif /* XAW_ARROW_SCROLLBARS */ - - /* - * Make sure the first number is within the range specified by the other - * two numbers. - */ - --#ifndef XAW_ARROW_SCROLLBARS - static int InRange(num, small, big) - int num, small, big; - { - return (num < small) ? small : ((num > big) ? big : num); - } --#endif - - /* - * Same as above, but for floating numbers. -@@ -891,7 +900,6 @@ - } - - --#ifdef XAW_ARROW_SCROLLBARS - static void NotifyScroll (w, event, params, num_params) - Widget w; - XEvent *event; -@@ -902,94 +910,94 @@ - int call_data; - Position x, y; - -- if (sbw->scrollbar.scroll_mode == 2 /* if scroll continuous */ -- || LookAhead (w, event)) -- return; -- -- ExtractPosition (event, &x, &y); -+ if (sbw->scrollbar.arrows) { -+ if (sbw->scrollbar.direction == 'C' /* if scroll continuous */ -+ || LookAhead (w, event)) -+ return; -+ -+ /* Old ARROW_SCROLLBAR bindings emulation: -+ NotifyScroll(Proportional) -> <nothing> */ -+ if (num_params > 0 && (*params[0] == 'P' || *params[0] == 'p')) -+ return; - -- if (PICKLENGTH (sbw,x,y) < sbw->scrollbar.thickness) { -- /* handle first arrow zone */ -- call_data = -MAX (A_FEW_PIXELS, sbw->scrollbar.length / 20); -- XtCallCallbacks (w, XtNscrollProc, (XtPointer)(call_data)); -- /* establish autoscroll */ -- sbw->scrollbar.timer_id = -- XtAppAddTimeOut (XtWidgetToApplicationContext (w), -- (unsigned long) 300, RepeatNotify, (XtPointer)w); -- sbw->scrollbar.scroll_mode = 1; -- } else if (PICKLENGTH (sbw,x,y) > sbw->scrollbar.length - sbw->scrollbar.thickness) { -- /* handle last arrow zone */ -- call_data = MAX (A_FEW_PIXELS, sbw->scrollbar.length / 20); -- XtCallCallbacks (w, XtNscrollProc, (XtPointer)(call_data)); -- /* establish autoscroll */ -- sbw->scrollbar.timer_id = -- XtAppAddTimeOut (XtWidgetToApplicationContext (w), -- (unsigned long) 300, RepeatNotify, (XtPointer)w); -- sbw->scrollbar.scroll_mode = 3; -- } else if (PICKLENGTH (sbw, x, y) < sbw->scrollbar.topLoc) { -- /* handle zone "above" the thumb */ -- call_data = - sbw->scrollbar.length; -- XtCallCallbacks (w, XtNscrollProc, (XtPointer)(call_data)); -- } else if (PICKLENGTH (sbw, x, y) > sbw->scrollbar.topLoc + sbw->scrollbar.shownLength) { -- /* handle zone "below" the thumb */ -- call_data = sbw->scrollbar.length; -- XtCallCallbacks (w, XtNscrollProc, (XtPointer)(call_data)); -- } else -- { -- /* handle the thumb in the motion notify action */ -- } -- return; --} --#else /* XAW_ARROW_SCROLLBARS */ --static void NotifyScroll (w, event, params, num_params) -- Widget w; -- XEvent *event; -- String *params; /* style: Proportional|FullLength */ -- Cardinal *num_params; /* we only support 1 */ --{ -- ScrollbarWidget sbw = (ScrollbarWidget) w; -- int call_data; -- char style; -- Position x, y; -- -- if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */ -- if (LookAhead (w, event)) return; -- if (*num_params > 0) -- style = *params[0]; -- else -- style = 'P'; -- -- switch (style) { -- case 'P': /* Proportional */ -- case 'p': - ExtractPosition (event, &x, &y); -- call_data = -- InRange (PICKLENGTH (sbw, x, y), 0, (int) sbw->scrollbar.length); -- break; - -- case 'F': /* FullLength */ -- case 'f': -- call_data = sbw->scrollbar.length; -- break; -- } -- switch (sbw->scrollbar.direction) { -- case 'B': -- case 'b': -- call_data = -call_data; -- /* fall through */ -+ if (PICKLENGTH (sbw,x,y) < sbw->scrollbar.thickness) { -+ /* handle first arrow zone */ -+ call_data = -MAX (A_FEW_PIXELS, sbw->scrollbar.length / 20); -+ XtCallCallbacks (w, XtNscrollProc, (XtPointer)(call_data)); -+ /* establish autoscroll */ -+ sbw->scrollbar.timer_id = -+ XtAppAddTimeOut (XtWidgetToApplicationContext (w), -+ (unsigned long) 300, RepeatNotify, (XtPointer)w); -+ sbw->scrollbar.direction = 'B'; -+ } else if (PICKLENGTH (sbw,x,y) > sbw->scrollbar.length - sbw->scrollbar.thickness) { -+ /* handle last arrow zone */ -+ call_data = MAX (A_FEW_PIXELS, sbw->scrollbar.length / 20); -+ XtCallCallbacks (w, XtNscrollProc, (XtPointer)(call_data)); -+ /* establish autoscroll */ -+ sbw->scrollbar.timer_id = -+ XtAppAddTimeOut (XtWidgetToApplicationContext (w), -+ (unsigned long) 300, RepeatNotify, (XtPointer)w); -+ sbw->scrollbar.direction = 'F'; -+ } else if (PICKLENGTH (sbw, x, y) < sbw->scrollbar.topLoc) { -+ /* handle zone "above" the thumb */ -+ call_data = - sbw->scrollbar.length; -+ XtCallCallbacks (w, XtNscrollProc, (XtPointer)(call_data)); -+ } else if (PICKLENGTH (sbw, x, y) > sbw->scrollbar.topLoc + sbw->scrollbar.shownLength) { -+ /* handle zone "below" the thumb */ -+ call_data = sbw->scrollbar.length; -+ XtCallCallbacks (w, XtNscrollProc, (XtPointer)(call_data)); -+ } else -+ { -+ /* handle the thumb in the motion notify action */ -+ } -+ } else { /* XAW_ARROW_SCROLLBARS */ -+ char style; - -- case 'F': -- case 'f': -- XtCallCallbacks (w, XtNscrollProc, (XtPointer)call_data); -- break; -+ if (sbw->scrollbar.direction == 0) -+ /* Either we haven't yet done StartScoll, or w've already done -+ an EndScroll (e.g: Btn1Down, Btn2Down, Btn2up, Btn1up). */ -+ return; -+ if (LookAhead (w, event)) return; -+ if (*num_params > 0) -+ style = *params[0]; -+ else -+ style = 'P'; -+ -+ switch (style) { -+ case 'P': /* Proportional */ -+ case 'p': -+ ExtractPosition (event, &x, &y); -+ call_data = -+ InRange (PICKLENGTH (sbw, x, y), 0, (int) sbw->scrollbar.length); -+ break; -+ -+ /* case 'F': /\* FullLength *\/ -+ * case 'f': */ -+ default: -+ call_data = sbw->scrollbar.length; -+ break; -+ } - -- case 'C': -- case 'c': -- /* NotifyThumb has already called the thumbProc(s) */ -- break; -- } -+ switch (sbw->scrollbar.direction) { -+ case 'B': -+ case 'b': -+ call_data = -call_data; -+ /* fall through */ -+ -+ case 'F': -+ case 'f': -+ XtCallCallbacks (w, XtNscrollProc, (XtPointer)call_data); -+ break; -+ -+ case 'C': -+ case 'c': -+ /* NotifyThumb has already called the thumbProc(s) */ -+ break; -+ } -+ } /* XAW_ARROW_SCROLLBARS */ - } --#endif /* XAW_ARROW_SCROLLBARS */ - - /* ARGSUSED */ - static void EndScroll(w, event, params, num_params ) -@@ -1000,23 +1008,18 @@ - { - ScrollbarWidget sbw = (ScrollbarWidget) w; - --#ifdef XAW_ARROW_SCROLLBARS -- sbw->scrollbar.scroll_mode = 0; -- /* no need to remove any autoscroll timeout; it will no-op */ -- /* because the scroll_mode is 0 */ -- /* but be sure to remove timeout in destroy proc */ --#else - XtVaSetValues (w, XtNcursor, sbw->scrollbar.inactiveCursor, NULL); - XFlush (XtDisplay (w)); - sbw->scrollbar.direction = 0; --#endif -+ /* no need to remove any autoscroll timeout; it will no-op */ -+ /* because the direction is 0 */ -+ /* but be sure to remove timeout in destroy proc */ - } - - static float FractionLoc (sbw, x, y) - ScrollbarWidget sbw; - int x, y; - { -- float result; - int margin; - float height, width; - -@@ -1025,8 +1028,7 @@ - y -= margin; - height = sbw->core.height - 2 * margin; - width = sbw->core.width - 2 * margin; -- result = PICKLENGTH (sbw, x / width, y / height); -- return FloatInRange(result, 0.0, 1.0); -+ return PICKLENGTH (sbw, x / width, y / height); - } - - -@@ -1038,42 +1040,34 @@ - { - ScrollbarWidget sbw = (ScrollbarWidget) w; - Position x, y; -- float loc, t, s; -+ float loc; - --#ifndef XAW_ARROW_SCROLLBARS -- if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */ --#endif -+ if (!sbw->scrollbar.arrows) -+ if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */ - - if (LookAhead (w, event)) return; - - if (!event->xmotion.same_screen) return; - - ExtractPosition (event, &x, &y); -- loc = FractionLoc (sbw, x, y); -- t = sbw->scrollbar.top; -- s = sbw->scrollbar.shown; --#ifdef XAW_ARROW_SCROLLBARS -- if (sbw->scrollbar.scroll_mode != 2 ) -- /* initialize picked position */ -- sbw->scrollbar.picked = (FloatInRange( loc, t, t + s ) - t); --#else -- sbw->scrollbar.picked = 0.5 * s; --#endif -- if (sbw->scrollbar.pick_top) -- sbw->scrollbar.top = loc; -- else { -- sbw->scrollbar.top = loc - sbw->scrollbar.picked; -- if (sbw->scrollbar.top < 0.0) sbw->scrollbar.top = 0.0; -+ -+ if (sbw->scrollbar.direction != 'C') { -+ /* initialize picked position offset */ -+ sbw->scrollbar.picked -+ = sbw->scrollbar.pick_top ? 0 -+ : FractionLoc (sbw, x, y) - sbw->scrollbar.top; - } - -+ loc = FractionLoc (sbw, x, y) - sbw->scrollbar.picked; -+ -+ sbw->scrollbar.top = FloatInRange (loc, 0.0, 1.0); -+ - #if 0 - /* this breaks many text-line scrolls */ - if (sbw->scrollbar.top + sbw->scrollbar.shown > 1.0) - sbw->scrollbar.top = 1.0 - sbw->scrollbar.shown; - #endif --#ifdef XAW_ARROW_SCROLLBARS -- sbw->scrollbar.scroll_mode = 2; /* indicate continuous scroll */ --#endif -+ sbw->scrollbar.direction = 'C'; /* indicate continuous scroll */ - PaintThumb (sbw, event); - XFlush (XtDisplay (w)); /* re-draw it before Notifying */ - } -@@ -1089,9 +1083,8 @@ - register ScrollbarWidget sbw = (ScrollbarWidget) w; - float top = sbw->scrollbar.top; - --#ifndef XAW_ARROW_SCROLLBARS -- if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */ --#endif -+ if (!sbw->scrollbar.arrows) -+ if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */ - - if (LookAhead (w, event)) return; - -@@ -1152,12 +1145,6 @@ - w,top,shown); - #endif - --#ifdef XAW_ARROW_SCROLLBARS -- if (sbw->scrollbar.scroll_mode == (char) 2) return; /* if still thumbing */ --#else -- if (sbw->scrollbar.direction == 'c') return; /* if still thumbing */ --#endif -- - sbw->scrollbar.top = (top > 1.0) ? 1.0 : - (top >= 0.0) ? top : sbw->scrollbar.top; - -Index: Scrollbar.h -=================================================================== -RCS file: /u/monnier/cvsroot/Xaw3d/Scrollbar.h,v -retrieving revision 1.1.1.5 -retrieving revision 1.2 -diff -u -r1.1.1.5 -r1.2 ---- Scrollbar.h 25 Mar 2005 18:08:51 -0000 1.1.1.5 -+++ Scrollbar.h 25 Mar 2005 22:41:01 -0000 1.2 -@@ -116,10 +116,12 @@ - #define XtCShown "Shown" - #define XtCTopOfThumb "TopOfThumb" - #define XtCPickTop "PickTop" -+#define XtCArrowScrollbars "ArrowScrollbars" - - #define XtNminimumThumb "minimumThumb" - #define XtNtopOfThumb "topOfThumb" - #define XtNpickTop "pickTop" -+#define XtNarrowScrollbars "arrowScrollbars" - - typedef struct _ScrollbarRec *ScrollbarWidget; - typedef struct _ScrollbarClassRec *ScrollbarWidgetClass; -Index: ScrollbarP.h -=================================================================== -RCS file: /u/monnier/cvsroot/Xaw3d/ScrollbarP.h,v -retrieving revision 1.1.1.6 -retrieving revision 1.2 -diff -u -r1.1.1.6 -r1.2 ---- ScrollbarP.h 25 Mar 2005 18:12:04 -0000 1.1.1.6 -+++ ScrollbarP.h 25 Mar 2005 22:41:01 -0000 1.2 -@@ -70,14 +70,12 @@ - XtCallbackList thumbProc; /* jump (to position) scroll */ - XtCallbackList jumpProc; /* same as thumbProc but pass data by ref */ - Pixmap thumb; /* thumb color */ --#ifndef XAW_ARROW_SCROLLBARS - Cursor upCursor; /* scroll up cursor */ - Cursor downCursor; /* scroll down cursor */ - Cursor leftCursor; /* scroll left cursor */ - Cursor rightCursor; /* scroll right cursor */ - Cursor verCursor; /* scroll vertical cursor */ - Cursor horCursor; /* scroll horizontal cursor */ --#endif - float top; /* What percent is above the win's top */ - float shown; /* What percent is shown in the win */ - Dimension length; /* either height or width */ -@@ -87,18 +85,16 @@ - * when scrolling starts */ - - /* private */ --#ifdef XAW_ARROW_SCROLLBARS -- XtIntervalId timer_id; /* autorepeat timer; remove on destruction */ -- char scroll_mode; /* 0:none 1:up/back 2:track 3:down/forward */ --#else - Cursor inactiveCursor; /* the normal cursor for scrollbar */ -- char direction; /* a scroll has started; which direction */ --#endif -+ char direction; /* 0:none, C:drag, F:down/forw, B:up/back */ - GC gc; /* a (shared) gc */ - Position topLoc; /* Pixel that corresponds to top */ - Dimension shownLength; /* Num pixels corresponding to shown */ - Boolean pick_top; /* pick thumb at top or anywhere*/ -+ Boolean arrows; /* Whether it has arrows at the end. */ - -+ /* Only used for arrow-scrollbars. */ -+ XtIntervalId timer_id; /* autorepeat timer; remove on destruction */ - } ScrollbarPart; - - typedef struct _ScrollbarRec { -Index: Text.c -=================================================================== -RCS file: /u/monnier/cvsroot/Xaw3d/Text.c,v -retrieving revision 1.1.1.10 -retrieving revision 1.2 -diff -u -r1.1.1.10 -r1.2 ---- Text.c 25 Mar 2005 18:12:05 -0000 1.1.1.10 -+++ Text.c 27 Mar 2005 13:53:38 -0000 1.2 -@@ -1462,10 +1462,8 @@ - if (height < 1) - height = 1; - nlines = (int) (lines * (int) ctx->text.lt.lines) / height; --#ifdef XAW_ARROW_SCROLLBARS - if (nlines == 0 && lines != 0) - nlines = lines > 0 ? 1 : -1; --#endif - _XawTextPrepareToUpdate(ctx); - _XawTextVScroll(ctx, nlines); - _XawTextExecuteUpdate(ctx); -Index: Xaw3dP.h.sed -=================================================================== -RCS file: /u/monnier/cvsroot/Xaw3d/Xaw3dP.h.sed,v -retrieving revision 1.1.1.1 -retrieving revision 1.2 -diff -u -r1.1.1.1 -r1.2 ---- Xaw3dP.h.sed 25 Mar 2005 18:12:06 -0000 1.1.1.1 -+++ Xaw3dP.h.sed 27 Mar 2005 13:53:38 -0000 1.2 -@@ -36,7 +36,6 @@ - /* I18n support */ - /* XPM support */ - /* gray stipples */ --/* arrow scrollbars */ - - #ifndef XtX - #define XtX(w) (((RectObj)w)->rectangle.x) diff --git a/x11-toolkits/libXaw3d/pkg-descr b/x11-toolkits/libXaw3d/pkg-descr index 48b65cf5b80e..b31ece9396e1 100644 --- a/x11-toolkits/libXaw3d/pkg-descr +++ b/x11-toolkits/libXaw3d/pkg-descr @@ -1,2 +1,17 @@ -Xaw3d is a Xaw (Athena Widget Set) replacement that looks -three-dimensional. The author is Kalib Keithley (kaleb@x.org). +Xaw3d is the X 3D Athena Widget Set. Xaw3d is a widget set based on +the X Toolkit Intrinsics (Xt) Library. + +All questions regarding this software should be directed at the Xorg +mailing list: + +https://lists.x.org/mailman/listinfo/xorg + +The primary development code repository can be found at: + +https://gitlab.freedesktop.org/xorg/lib/libXaw3d + +Please submit bug reports and requests to merge patches there. + +For patch submission instructions, see: + +https://www.x.org/wiki/Development/Documentation/SubmittingPatches diff --git a/x11-toolkits/libXaw3d/pkg-plist b/x11-toolkits/libXaw3d/pkg-plist index 0a736a91fb55..d67e56ef029c 100644 --- a/x11-toolkits/libXaw3d/pkg-plist +++ b/x11-toolkits/libXaw3d/pkg-plist @@ -1,6 +1,3 @@ -lib/libXaw3d.a -lib/libXaw3d.so -lib/libXaw3d.so.8 include/X11/Xaw3d/AllWidgets.h include/X11/Xaw3d/AsciiSink.h include/X11/Xaw3d/AsciiSinkP.h @@ -56,9 +53,6 @@ include/X11/Xaw3d/SmeThreeD.h include/X11/Xaw3d/SmeThreeDP.h *** 18 LINES SKIPPED ***