/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: June 12, 1992 1:17:11 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XTkXScrollerImpl, module: XTkXScrollerImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [577989105,1250511228] XTkXScrollerImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef W5 *W5Pt;
typedef struct {W8 f; W2 r;} W10;
#define SOURCE(p, l) /* source p, l */
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
#define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define IOP2(op, x, y) ( (word) ((x) op (y)) )
static void NoName←Q1668();
static void XTkXScrollerImpl←P0();
static word InitClass←P60();
static word EntrySetPos←P120();
static void EntryGetPos←P180();
static word CreateXScroller←P240();
static word IsXScroller←P300();
static void XScrollerInitInstPart←P420();
static word Child←P480();
static void GetOffset←P540();
static void SetOffset←P600();
static void SetBindXY←P660();
static void PleaseResizeChild←P720();
static word InternalEnumerateChildren←P780();
static void ConfigureLR←P840();
static void SizingLR←P1020();
static void ReplaceChild←P900();
static void action←P1224();
static void PreferredSizeLR←P960();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\042\163\151\361\300\112\211\111\174\100\214\000\000"};
static struct {unsigned f; char r[12];} string4 = {589836, "XScroller\000\000"};
static struct {unsigned f; char r[12];} string5 = {589836, "xScroller\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\042\163\151\361\300\112\211\111\174\100\164\000\000"};
static struct {unsigned f; char r[8];} string7 = {262148, "\004\200a\000\000\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\143\260\340\122\300\057\146\075\005\100\150\000\000"};
static struct {
word f0[15]; word f15; word f16; word f17;
word f18; word f19; word f20; word f21;
word f22; word f23; word f24; word f25;
word f26; word f27; word f28; word f29;
word f30; word f31; word f32; word f33;
word f34; word f35; word f36; word f37;
word f38; word f39; word f40; word f41;
word f42; word f43; word f44; word f45;
word f46; word f47; word f48; word f49;
word f50; word f51; word f52[4];
} globalframe = {
{0}, (word) PreferredSizeLR←P960, 0, (word) ReplaceChild←P900,
0, (word) ConfigureLR←P840, 0, (word) InternalEnumerateChildren←P780,
0, (word) PleaseResizeChild←P720, 0, (word) SetBindXY←P660,
0, (word) SetOffset←P600, 0, (word) GetOffset←P540,
0, (word) Child←P480, 0, (word) XScrollerInitInstPart←P420,
0, (word) IsXScroller←P300, 0, (word) CreateXScroller←P240,
0, (word) EntryGetPos←P180, 0, (word) EntrySetPos←P120,
0, (word) InitClass←P60, 0, (word) XTkXScrollerImpl←P0,
0, 2147483648, 2147483648, 2147483648,
2147483648, 2147483648, {0}
};
static void NoName←Q1668()
{
register ptr gf←c0113 = (ptr) &globalframe;
word var←c17648;
(* (( (ptr) gf←c0113)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0113)+11) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
(* (ptr) (( (bPt) gf←c0113)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0113)+10) ), (word) &string4);
(* (ptr) (( (bPt) gf←c0113)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0113)+10) ), (word) &string5);
(void) XR←DeclareGlobalFrame((word) "XTkXScrollerImpl", &globalframe, (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7)
, (word) (( (bPt) gf←c0113)+180)/* var←c17136 */ );
var←c17648 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string8)), 218);
(* (( (ptr) gf←c0113)+54)/* var←c17584 */ ) = var←c17648;
(void) XR←ImportProcS(var←c17648, 539906);
var←c17648 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string9)), 50);
(* (( (ptr) gf←c0113)+53)/* var←c17328 */ ) = var←c17648;
(void) XR←ImportProcS(var←c17648, 274177);
(void) XR←ImportProcS(var←c17648, 272641);
(void) XR←ImportProcS(var←c17648, 786947);
(void) XR←ImportProcS(var←c17648, 67642370);
(void) XR←ImportProcS(var←c17648, 69992451);
var←c17648 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string10)), 33);
(* (( (ptr) gf←c0113)+52)/* var←c17264 */ ) = var←c17648;
(void) XR←ImportProcS(var←c17648, 265217);
(void) XR←ImportProcS(var←c17648, 531970);
(void) XR←ImportProcS(var←c17648, 531202);
(void) XR←ImportProcS(var←c17648, 264961);
(void) XR←ImportProcS(var←c17648, 2098180);
(void) XR←ImportProcS(var←c17648, 337643012);
(void) XR←ImportProcS(var←c17648, 2102532);
(void) XR←ImportProcS(var←c17648, 530178);
(void) XR←ImportProcS(var←c17648, 73666049);
var←c17648 = (word) XR←ExportInterface((word) "XTkXScroller", (word) XR←GetTypeIndexS((word) (&string11)), 8);
(* (( (ptr) gf←c0113)+55)/* var←c17680 */ ) = var←c17648;
(void) XR←ExportVar(var←c17648, 0, (word) (( (bPt) gf←c0113)+32)/* xScrollerClass←v2664 */ );
(void) XR←ExportProcS(var←c17648, (word) (( (bPt) gf←c0113)+148)/* var←c17008 */ , 70254852);
(void) XR←ExportProcS(var←c17648, (word) (( (bPt) gf←c0113)+140)/* var←c16976 */ , 67371521);
(void) XR←ExportProcS(var←c17648, (word) (( (bPt) gf←c0113)+124)/* var←c16912 */ , 67371777);
(void) XR←ExportProcS(var←c17648, (word) (( (bPt) gf←c0113)+68)/* var←c16688 */ , 1049604);
(void) XR←ExportProcS(var←c17648, (word) (( (bPt) gf←c0113)+116)/* var←c16880 */ , 134481153);
(void) XR←ExportProcS(var←c17648, (word) (( (bPt) gf←c0113)+108)/* var←c16848 */ , 787970);
(void) XR←ExportProcS(var←c17648, (word) (( (bPt) gf←c0113)+100)/* var←c16816 */ , 788227);
}
static void XTkXScrollerImpl←P0(formal←c028, formal←c027)
word formal←c028;
word formal←c027;
{
register ptr gf←c17712 = (ptr) &globalframe;
/* XTkXScrollerImpl: */
SOURCE(47, 6957)
/* moved to installation proc */
/* moved to installation proc */
/* moved to installation proc */
/* moved to installation proc */
/* moved to installation proc */
SOURCE(263, 46)
(* (( (ptr) gf←c17712)+8)/* xScrollerClass←v2664 */ ) = (word) InitClass←P60();
}
static word InitClass←P60()
{
register ptr gf←c17744 = (ptr) &globalframe;
word csc←v3248;
/* InitClass: */
SOURCE(311, 359)
SOURCE(311, 359)
csc←v3248 = 0;
SOURCE(370, 300)
{
W25 var←c031;
(* (ptr) &var←c031 ) = (* (( (ptr) gf←c17744)+14) );
(* (( (ptr) &var←c031)+1) ) = (* (( (ptr) gf←c17744)+13) );
(* (( (ptr) &var←c031)+2) ) = 0;
(* (( (ptr) &var←c031)+3) ) = 1;
(* (( (ptr) &var←c031)+4) ) = 0;
(* (( (ptr) &var←c031)+5) ) = 0;
(* (( (ptr) &var←c031)+6) ) = (word) (( (bPt) gf←c17744)+60)/* var←c16656 */ ;
(* (( (ptr) &var←c031)+7) ) = (word) (( (bPt) gf←c17744)+76)/* var←c16720 */ ;
(* (( (ptr) &var←c031)+8) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+9) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+10) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+11) ) = (* (( (ptr) (* (( (ptr) gf←c17744)+52)/* var←c17264 */ ))+27) );
(* (( (ptr) &var←c031)+12) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+13) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+14) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+15) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+16) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+17) ) = (word) (( (bPt) gf←c17744)+84)/* var←c16752 */ ;
(* (( (ptr) &var←c031)+18) ) = (word) (( (bPt) gf←c17744)+132)/* var←c16944 */ ;
(* (( (ptr) &var←c031)+19) ) = 0;
(* (( (ptr) &var←c031)+20) ) = 0;
(* (( (ptr) &var←c031)+21) ) = 0;
(* (( (ptr) &var←c031)+22) ) = 0;
(* (( (ptr) &var←c031)+23) ) = XR←CheckProc(0);
(* (( (ptr) &var←c031)+24) ) = XR←CheckProc(0);
{
word pd12;
pd12 = (* (( (ptr) (* (( (ptr) gf←c17744)+52)/* var←c17264 */ ))+18) );
csc←v3248 = (word) ( *( (fPt) ((* (ptr) pd12 ))))((word) (&var←c031), pd12);
};
};
SOURCE(311, 359)
return(csc←v3248);
}
static word EntrySetPos←P120(xsd←v3448, p←v3476)
word xsd←v3448;
W2 p←v3476;
{
register ptr gf←c17776 = (ptr) &globalframe;
word new←v3520;
/* EntrySetPos: */
SOURCE(813, 272)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17776)+16)/* LOCK←v2580 */ ));
SOURCE(888, 66)
if ((0 != (* (( (ptr) xsd←v3448)+1) ))) {
SOURCE(907, 13)
p←v3476.f0 = 0;
}
else {
SOURCE(920, 34)
{
word x13;
word x14;
p←v3476.f0 = (x14 = (x13 = p←v3476.f0,
MAX((int)(word), x13, 4294957296)),
MIN((int)(word), x14, 10000));
};
};
SOURCE(956, 66)
if ((0 != (* (( (ptr) xsd←v3448)+2) ))) {
SOURCE(975, 13)
p←v3476.f1 = 0;
}
else {
SOURCE(988, 34)
{
word x15;
word x16;
p←v3476.f1 = (x16 = (x15 = p←v3476.f1,
MAX((int)(word), x15, 4294957296)),
MIN((int)(word), x16, 10000));
};
};
SOURCE(1024, 32)
if (XR←EqualWords((( (ptr) xsd←v3448)+3), &p←v3476, 2)) {
SOURCE(1042, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17776)+16)/* LOCK←v2580 */ ));
return(0);
};
SOURCE(1058, 11)
(* (W2Pt) (( (ptr) xsd←v3448)+3) ) = p←v3476;
SOURCE(1071, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17776)+16)/* LOCK←v2580 */ ));
return(1);
}
static void EntryGetPos←P180(formal←c038, xsd←v3580)
word formal←c038;
word xsd←v3580;
{
register ptr gf←c17808 = (ptr) &globalframe;
W2 p←v3624;
/* EntryGetPos: */
SOURCE(1090, 81)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17808)+16)/* LOCK←v2580 */ ));
SOURCE(1154, 17)
p←v3624 = (* (W2Pt) (( (ptr) xsd←v3580)+3) );
/* removed tail goto */
(void) (XR←MonitorExit((word) (( (bPt) gf←c17808)+16)/* LOCK←v2580 */ ));
(* (W2Pt) formal←c038 ) = p←v3624;
return;
}
static word CreateXScroller←P240(widgetSpec←v3684, child←v3712, bindx←v3740, bindy←v3768)
W9 widgetSpec←v3684;
word child←v3712;
word bindx←v3740;
word bindy←v3768;
{
register ptr gf←c17840 = (ptr) &globalframe;
word xScroller←v3812;
/* CreateXScroller: */
SOURCE(1176, 292)
SOURCE(1176, 292)
xScroller←v3812 = 0;
SOURCE(1319, 56)
{
word pd17;
pd17 = (* (( (ptr) (* (( (ptr) gf←c17840)+53)/* var←c17328 */ ))+4) );
xScroller←v3812 = (word) ( *( (fPt) ((* (ptr) pd17 ))))(widgetSpec←v3684, (* (( (ptr) gf←c17840)+8)/* xScrollerClass←v2664 */ ), 0, pd17)
;
};
SOURCE(1377, 54)
if ((child←v3712 != 0)) {
SOURCE(1395, 36)
(void) ReplaceChild←P900(xScroller←v3812, child←v3712, 1, 0);
};
SOURCE(1433, 35)
(void) SetBindXY←P660(xScroller←v3812, bindx←v3740, bindy←v3768);
SOURCE(1176, 292)
return(xScroller←v3812);
}
static word IsXScroller←P300(widget←v3872)
word widget←v3872;
{
register ptr gf←c17872 = (ptr) &globalframe;
word var←c3916;
/* IsXScroller: */
SOURCE(1472, 111)
SOURCE(1537, 46)
{
word var←c17392;
word widget←v16580;
word class←v16608;
widget←v16580 = widget←v3872;
class←v16608 = (* (( (ptr) gf←c17872)+8)/* xScrollerClass←v2664 */ );
{
word pd18;
if (((* (( (ptr) widget←v16580)+4) ) == class←v16608)) {
var←c17392 = 1;
}
else {
pd18 = (* (( (ptr) (* (( (ptr) gf←c17872)+53)/* var←c17328 */ ))+40) );
var←c17392 = (word) ( *( (fPt) ((* (ptr) pd18 ))))(widget←v16580, class←v16608, pd18);
};
};
return(var←c17392);
};
}
static void XScrollerInitInstPart←P420(widget←v8160, arguments←v8188)
word widget←v8160;
word arguments←v8188;
{
register ptr gf←c17904 = (ptr) &globalframe;
word xsd←v4604;
/* XScrollerInitInstPart: */
SOURCE(1728, 256)
SOURCE(1780, 33)
xsd←v4604 = XR←NewObject(20, (* (( (ptr) gf←c17904)+11) ));
SOURCE(1815, 54)
{
word val←v16532;
val←v16532 = xsd←v4604;
{
word idx19;
word limit20;
(* ((( (ptr) widget←v8160)+49)+(
idx19 = (* (( (ptr) (* (( (ptr) gf←c17904)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit20 = (* (( (ptr) widget←v8160)+48) ),
BCK(idx19, limit20)
)) ) = val←v16532;
};
};
SOURCE(1871, 38)
{
word pd21;
pd21 = (* (( (ptr) (* (( (ptr) gf←c17904)+53)/* var←c17328 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd21 ))))(widget←v8160, 6, 1, pd21);
};
SOURCE(1911, 73)
if (( (int)(* (( (ptr) widget←v8160)+9) ) < (int)0)) {
SOURCE(1951, 33)
(* (( (ptr) widget←v8160)+9) ) = 0;
};
}
static word Child←P480(xScroller←v4080)
word xScroller←v4080;
{
register ptr gf←c17936 = (ptr) &globalframe;
word var←c4124;
word xsd←v4648;
/* Child: */
SOURCE(1990, 135)
SOURCE(1990, 135)
var←c4124 = 0;
SOURCE(2064, 41)
{
word idx22;
word limit23;
xsd←v4648 = XR←Narrow((* ((( (ptr) xScroller←v4080)+49)+(
idx22 = (* (( (ptr) (* (( (ptr) gf←c17936)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit23 = (* (( (ptr) xScroller←v4080)+48) ),
BCK(idx22, limit23)
)) ), (* (( (ptr) gf←c17936)+11) ));
};
SOURCE(2107, 18)
return((* (ptr) xsd←v4648 ));
}
static void GetOffset←P540(formal←c060, xScroller←v4184)
word formal←c060;
word xScroller←v4184;
{
register ptr gf←c17968 = (ptr) &globalframe;
W2 p←v4228;
word xsd←v4692;
/* GetOffset: */
SOURCE(2131, 135)
SOURCE(2203, 41)
{
word idx24;
word limit25;
xsd←v4692 = XR←Narrow((* ((( (ptr) xScroller←v4184)+49)+(
idx24 = (* (( (ptr) (* (( (ptr) gf←c17968)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit25 = (* (( (ptr) xScroller←v4184)+48) ),
BCK(idx24, limit25)
)) ), (* (( (ptr) gf←c17968)+11) ));
};
SOURCE(2246, 20)
(void) EntryGetPos←P180((word) &p←v4228, xsd←v4692);
/* removed tail goto */
(* (W2Pt) formal←c060 ) = p←v4228;
return;
}
static void SetOffset←P600(xScroller←v4288, p←v4316)
word xScroller←v4288;
W2 p←v4316;
{
register ptr gf←c18000 = (ptr) &globalframe;
word xsd←v4736;
word new←v4764;
/* SetOffset: */
SOURCE(2273, 258)
SOURCE(2336, 41)
{
word idx26;
word limit27;
xsd←v4736 = XR←Narrow((* ((( (ptr) xScroller←v4288)+49)+(
idx26 = (* (( (ptr) (* (( (ptr) gf←c18000)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit27 = (* (( (ptr) xScroller←v4288)+48) ),
BCK(idx26, limit27)
)) ), (* (( (ptr) gf←c18000)+11) ));
};
SOURCE(2379, 31)
new←v4764 = (word) EntrySetPos←P120(xsd←v4736, p←v4316);
SOURCE(2412, 119)
if ((0 != new←v4764)) {
SOURCE(2426, 30)
{
word pd28;
pd28 = (* (( (ptr) (* (( (ptr) gf←c18000)+53)/* var←c17328 */ ))+45) );
(void) ( *( (fPt) ((* (ptr) pd28 ))))(xScroller←v4288, pd28);
};
SOURCE(2458, 73)
if (((* (( (ptr) xScroller←v4288)+38) ) == 0)) {
SOURCE(2491, 40)
{
word pd29;
pd29 = (* (( (ptr) (* (( (ptr) gf←c18000)+53)/* var←c17328 */ ))+51) );
(void) ( *( (fPt) ((* (ptr) pd29 ))))(xScroller←v4288, pd29);
};
};
};
}
static void SetBindXY←P660(xScroller←v4376, bindx←v4404, bindy←v4432)
word xScroller←v4376;
word bindx←v4404;
word bindy←v4432;
{
register ptr gf←c18032 = (ptr) &globalframe;
word xsd←v4808;
word new←v4836;
/* SetBindXY: */
SOURCE(2539, 318)
SOURCE(2609, 41)
{
word idx30;
word limit31;
xsd←v4808 = XR←Narrow((* ((( (ptr) xScroller←v4376)+49)+(
idx30 = (* (( (ptr) (* (( (ptr) gf←c18032)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit31 = (* (( (ptr) xScroller←v4376)+48) ),
BCK(idx30, limit31)
)) ), (* (( (ptr) gf←c18032)+11) ));
};
SOURCE(2652, 46)
new←v4836 = ( ((* (( (ptr) xsd←v4808)+1) ) != bindx←v4404) ? 1 : ((* (( (ptr) xsd←v4808)+2) ) != bindy←v4432) ) ;
SOURCE(2700, 157)
if ((0 != new←v4836)) {
SOURCE(2714, 17)
(* (( (ptr) xsd←v4808)+1) ) = bindx←v4404;
SOURCE(2733, 17)
(* (( (ptr) xsd←v4808)+2) ) = bindy←v4432;
SOURCE(2752, 30)
{
word pd32;
pd32 = (* (( (ptr) (* (( (ptr) gf←c18032)+53)/* var←c17328 */ ))+45) );
(void) ( *( (fPt) ((* (ptr) pd32 ))))(xScroller←v4376, pd32);
};
SOURCE(2784, 73)
if (((* (( (ptr) xScroller←v4376)+38) ) == 0)) {
SOURCE(2817, 40)
{
word pd33;
pd33 = (* (( (ptr) (* (( (ptr) gf←c18032)+53)/* var←c17328 */ ))+51) );
(void) ( *( (fPt) ((* (ptr) pd33 ))))(xScroller←v4376, pd33);
};
};
};
}
static void PleaseResizeChild←P720(widget←v8248, child←v8276)
word widget←v8248;
word child←v8276;
{
register ptr gf←c18064 = (ptr) &globalframe;
/* PleaseResizeChild: */
SOURCE(2865, 110)
SOURCE(2909, 27)
{
word pd34;
pd34 = (* (( (ptr) (* (( (ptr) gf←c18064)+53)/* var←c17328 */ ))+45) );
(void) ( *( (fPt) ((* (ptr) pd34 ))))(widget←v8248, pd34);
};
SOURCE(2938, 37)
{
word pd35;
pd35 = (* (( (ptr) (* (( (ptr) gf←c18064)+53)/* var←c17328 */ ))+51) );
(void) ( *( (fPt) ((* (ptr) pd35 ))))(widget←v8248, pd35);
};
}
static word InternalEnumerateChildren←P780(self←v8336, classLevel←v8364, proc←v8392, data←v8420)
word self←v8336;
word classLevel←v8364;
word proc←v8392;
word data←v8420;
{
register ptr gf←c18096 = (ptr) &globalframe;
word stop←v8464;
word xsd←v4880;
word c←v4908;
/* InternalEnumerateChildren: */
SOURCE(2979, 217)
SOURCE(2979, 217)
stop←v8464 = 0;
SOURCE(3044, 36)
{
word idx36;
word limit37;
xsd←v4880 = XR←Narrow((* ((( (ptr) self←v8336)+49)+(
idx36 = (* (( (ptr) (* (( (ptr) gf←c18096)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit37 = (* (( (ptr) self←v8336)+48) ),
BCK(idx36, limit37)
)) ), (* (( (ptr) gf←c18096)+11) ));
};
SOURCE(3082, 25)
c←v4908 = (* (ptr) xsd←v4880 );
SOURCE(3109, 87)
if ( ( (c←v4908 != 0) ? ((* (( (ptr) c←v4908)+38) ) < 4) : 0 ) ) {
SOURCE(3143, 53)
if ((0 != (word) ( *( (fPt) ((* (ptr) proc←v8392 ))))(self←v8336, c←v4908, data←v8420, proc←v8392))) {
SOURCE(3177, 11)
stop←v8464 = 1;
SOURCE(3190, 6)
return(stop←v8464);
};
};
SOURCE(2979, 217)
return(stop←v8464);
}
static void ConfigureLR←P840(widget←v8524, formal←c0138, mapping←v8580, reConsiderChildren←v8608)
word widget←v8524;
W5 formal←c0138;
word mapping←v8580;
word reConsiderChildren←v8608;
{
W11 var←c18128;
/* declaration of geometry←v8552 skipped */
register ptr gf←c18160 = (ptr) &globalframe;
/* declaration of var←c17488 skipped */
word existW←v4980;
word createW←v5008;
(* (W5Pt) (( (ptr) &var←c18128)+4)/* geometry←v8552 */ ) = formal←c0138;
/* ConfigureLR: */
SOURCE(3206, 1639)
{
word tmpAddr38;
tmpAddr38 = (word) (( (ptr) &var←c18128)+9)/* var←c17488 */ ;
(* (ptr) tmpAddr38 ) = ( ((word) (fPt) SizingLR←P1020) );
(* (( (ptr) tmpAddr38) + 1) ) = 1;
};
SOURCE(4421, 48)
existW←v4980 = ((* (( (ptr) widget←v8524)+44) ) < 2);
SOURCE(4471, 48)
createW←v5008 = ( (mapping←v8580 < 2) ? (0 == existW←v4980) : 0 ) ;
SOURCE(4521, 150)
if ((0 != createW←v5008)) {
SOURCE(4539, 132)
if (((* (( (ptr) widget←v8524)+16) ) == (word) -1)) {
SOURCE(4598, 73)
(* (( (ptr) widget←v8524)+16) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) widget←v8524)+36) ))+1) ))+2) );
};
};
SOURCE(4674, 63)
{
word pd39;
pd39 = (* (( (ptr) (* (( (ptr) gf←c18160)+52)/* var←c17264 */ ))+25) );
(void) ( *( (fPt) ((* (ptr) pd39 ))))(widget←v8524, (* (W5Pt) (( (ptr) &var←c18128)+4)/* geometry←v8552 */ ), mapping←v8580, 0, pd39)
;
};
SOURCE(4739, 106)
if (((0 != existW←v4980) || (0 != createW←v5008))) {
SOURCE(4765, 82)
{
word doChildren←v5140;
SOURCE(4767, 48)
doChildren←v5140 = ((0 != reConsiderChildren←v8608) || (0 != createW←v5008));
SOURCE(4817, 28)
(void) SizingLR←P1020(widget←v8524, doChildren←v5140, (word) (( (bPt) &var←c18128)+36)/* var←c17488 */ );
};
};
}
static void SizingLR←P1020(widget←v5084, reConsiderChildren←v5112, formal←c18224)
word widget←v5084;
word reConsiderChildren←v5112;
word formal←c18224;
{
register ptr gf←c18192 = (ptr) &globalframe;
word xsd←v5184;
word child←v5212;
formal←c18224 = (formal←c18224 - 36);
/* SizingLR: */
SOURCE(3241, 1172)
SOURCE(3307, 38)
{
word idx40;
word limit41;
xsd←v5184 = XR←Narrow((* ((( (ptr) widget←v5084)+49)+(
idx40 = (* (( (ptr) (* (( (ptr) gf←c18192)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit41 = (* (( (ptr) widget←v5084)+48) ),
BCK(idx40, limit41)
)) ), (* (( (ptr) gf←c18192)+11) ));
};
SOURCE(3347, 29)
child←v5212 = (* (ptr) xsd←v5184 );
SOURCE(3378, 87)
if ((0 != reConsiderChildren←v5112)) {
SOURCE(3405, 60)
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c18192)+53)/* var←c17328 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd42 ))))(widget←v5084, 0, 0, pd42);
};
};
SOURCE(3467, 946)
if ((child←v5212 != 0)) {
SOURCE(3485, 930)
{
W5 g←v5256;
SOURCE(3487, 14)
g←v5256.f0 = 2147483648;
g←v5256.f1 = 2147483648;
g←v5256.f2 = 2147483648;
g←v5256.f3 = 2147483648;
g←v5256.f4 = 2147483648;
SOURCE(3503, 59)
if ( ( ((* (( (ptr) child←v5212)+38) ) != 0) ? (0 == reConsiderChildren←v5112) : 0 ) ) {
SOURCE(3556, 6)
return;
};
SOURCE(3564, 775)
if (((* (( (ptr) child←v5212)+10) ) == 0)) {
SOURCE(3595, 746)
{
W5 proposed←v5300;
word ms←v5328 = 25;
SOURCE(3598, 36)
proposed←v5300 = (* (W5Pt) (( (ptr) child←v5212)+39) );
SOURCE(3672, 75)
if ((0 != (* (( (ptr) xsd←v5184)+1) ))) {
SOURCE(3692, 41)
proposed←v5300.f2 = (* (( (ptr) formal←c18224)+6) );
SOURCE(3735, 12)
ms←v5328 = (ms←v5328 & 4294967291) | (((1)) << 2);
};
SOURCE(3752, 76)
if ((0 != (* (( (ptr) xsd←v5184)+2) ))) {
SOURCE(3772, 42)
proposed←v5300.f3 = (* (( (ptr) formal←c18224)+6) );
SOURCE(3816, 12)
ms←v5328 = (ms←v5328 & 4294967293) | (((1)) << 1);
};
SOURCE(3833, 78)
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c18192)+52)/* var←c17264 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd43 ))))((word) &g←v5256, child←v5212, 0, proposed←v5300, ms←v5328, pd43);
};
SOURCE(3913, 24)
(void) EntryGetPos←P180((word) &g←v5256, xsd←v5184);
SOURCE(3939, 41)
if (( (int)g←v5256.f4 < (int)0)) {
SOURCE(3963, 17)
g←v5256.f4 = 0;
};
SOURCE(3982, 130)
if ((0 != (* (( (ptr) xsd←v5184)+1) ))) {
SOURCE(4002, 39)
g←v5256.f2 = (* (( (ptr) widget←v5084)+41) );
SOURCE(4043, 69)
if (( (int)g←v5256.f2 > (int)0)) {
SOURCE(4066, 46)
g←v5256.f2 = (g←v5256.f2 - IOP2( * , (int)2, (int)g←v5256.f4));
};
};
SOURCE(4116, 135)
if ((0 != (* (( (ptr) xsd←v5184)+2) ))) {
SOURCE(4136, 41)
g←v5256.f3 = (* (( (ptr) widget←v5084)+42) );
SOURCE(4179, 72)
if (( (int)g←v5256.f3 > (int)0)) {
SOURCE(4203, 48)
g←v5256.f3 = (g←v5256.f3 - IOP2( * , (int)2, (int)g←v5256.f4));
};
};
SOURCE(4255, 40)
if (( (int)g←v5256.f2 <= (int)0)) {
SOURCE(4279, 16)
g←v5256.f2 = 1;
};
SOURCE(4297, 42)
if (( (int)g←v5256.f3 <= (int)0)) {
SOURCE(4322, 17)
g←v5256.f3 = 1;
};
};
};
SOURCE(4344, 69)
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c18192)+52)/* var←c17264 */ ))+8) );
(void) ( *( (fPt) ((* (ptr) pd44 ))))(child←v5212, g←v5256, (* (( (ptr) child←v5212)+10) ), reConsiderChildren←v5112, pd44)
;
};
};
};
}
static void ReplaceChild←P900(formal←c0139, formal←c0140, formal←c0141, formal←c0142)
word formal←c0139;
word formal←c0140;
word formal←c0141;
word formal←c0142;
{
W10 var←c18256;
/* declaration of xScroller←v4492 skipped */
/* declaration of child←v4520 skipped */
/* declaration of delayed←v4548 skipped */
/* declaration of preventDestructionOfOldChild←v4576 skipped */
register ptr gf←c18288 = (ptr) &globalframe;
/* declaration of var←c17552 skipped */
(* (( (ptr) &var←c18256)+4)/* xScroller←v4492 */ ) = formal←c0139;
(* (( (ptr) &var←c18256)+5)/* child←v4520 */ ) = formal←c0140;
(* (( (ptr) &var←c18256)+6)/* delayed←v4548 */ ) = formal←c0141;
(* (( (ptr) &var←c18256)+7)/* preventDestructionOfOldChild←v4576 */ ) = formal←c0142;
/* ReplaceChild: */
SOURCE(4854, 1016)
{
word tmpAddr45;
tmpAddr45 = (word) (( (ptr) &var←c18256)+8)/* var←c17552 */ ;
(* (ptr) tmpAddr45 ) = ( ((word) (fPt) action←P1224) );
(* (( (ptr) tmpAddr45) + 1) ) = 1;
};
SOURCE(5755, 115)
if (((* (( (ptr) (* (( (ptr) &var←c18256)+4)/* xScroller←v4492 */ ))+45) ) == 0) || ((* (( (ptr) (* (( (ptr) &var←c18256)+4)
/* xScroller←v4492 */ ))+38) ) >= 2)) {
SOURCE(5814, 15)
(void) action←P1224((word) ((( (bPt) &var←c18256)+32)/* var←c17552 */ ));
}
else {
SOURCE(5829, 41)
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c18288)+54)/* var←c17584 */ ))+65) );
(void) ( *( (fPt) ((* (ptr) pd46 ))))((* (( (ptr) (* (( (ptr) &var←c18256)+4)/* xScroller←v4492 */ ))+45) ), (word) (( (bPt) &var←c18256)+32)
/* var←c17552 */ , pd46);
};
};
}
static void action←P1224(formal←c18352)
word formal←c18352;
{
register ptr gf←c18320 = (ptr) &globalframe;
word xsd←v5432;
word oldChild←v5460;
formal←c18352 = (formal←c18352 - 32);
/* action: */
SOURCE(4994, 753)
SOURCE(5014, 41)
{
word idx47;
word limit48;
xsd←v5432 = XR←Narrow((* ((( (ptr) (* (( (ptr) formal←c18352)+4) ))+49)+(
idx47 = (* (( (ptr) (* (( (ptr) gf←c18320)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit48 = (* (( (ptr) (* (( (ptr) formal←c18352)+4) ))+48) ),
BCK(idx47, limit48)
)) ), (* (( (ptr) gf←c18320)+11) ));
};
SOURCE(5057, 32)
oldChild←v5460 = (* (ptr) xsd←v5432 );
SOURCE(5091, 29)
if ((oldChild←v5460 == (* (( (ptr) formal←c18352)+5) ))) {
SOURCE(5114, 6)
return;
};
SOURCE(5122, 275)
if ((oldChild←v5460 != 0)) {
SOURCE(5145, 34)
if (((* (( (ptr) oldChild←v5460)+31) ) != (* (( (ptr) formal←c18352)+4) ))) {
SOURCE(5179, 5)
(void) XR←RaiseUnnamedError();
};
SOURCE(5186, 89)
if (((* (( (ptr) oldChild←v5460)+38) ) < 2)) {
SOURCE(5219, 56)
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c18320)+52)/* var←c17264 */ ))+8) );
(void) ( *( (fPt) ((* (ptr) pd49 ))))(oldChild←v5460, (* (W5Pt) (( (ptr) gf←c18320)+47)/* var←c17200 */ ), 2, 1, pd49)
;
};
};
SOURCE(5277, 120)
if ((0 != (* (( (ptr) formal←c18352)+7) ))) {
SOURCE(5315, 41)
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c18320)+52)/* var←c17264 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd50 ))))(oldChild←v5460, pd50);
};
}
else {
SOURCE(5356, 41)
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c18320)+52)/* var←c17264 */ ))+31) );
(void) ( *( (fPt) ((* (ptr) pd51 ))))(oldChild←v5460, 0, pd51);
};
};
};
SOURCE(5400, 196)
if (((* (( (ptr) formal←c18352)+5) ) != 0)) {
SOURCE(5420, 100)
{
word var←c17616;
var←c17616 = (* (( (ptr) (* (( (ptr) formal←c18352)+5) ))+31) );
if ((var←c17616 == 0) || (var←c17616 == (* (( (ptr) formal←c18352)+4) ))) {
SOURCE(5463, 57)
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c18320)+52)/* var←c17264 */ ))+34) );
(void) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) formal←c18352)+5) ), (* (( (ptr) formal←c18352)+4) ), pd52);
};
}
else {
SOURCE(5533, 5)
(void) XR←RaiseUnnamedError();
};
};
SOURCE(5540, 56)
if (((* (( (ptr) (* (( (ptr) formal←c18352)+5) ))+10) ) == 3)) {
SOURCE(5572, 24)
(* (( (ptr) (* (( (ptr) formal←c18352)+5) ))+10) ) = 0;
};
};
SOURCE(5601, 17)
(* (ptr) xsd←v5432 ) = (* (( (ptr) formal←c18352)+5) );
SOURCE(5620, 30)
{
word pd53;
pd53 = (* (( (ptr) (* (( (ptr) gf←c18320)+53)/* var←c17328 */ ))+45) );
(void) ( *( (fPt) ((* (ptr) pd53 ))))((* ((( (ptr) formal←c18352)+4)) ), pd53);
};
SOURCE(5652, 95)
if (((* (( (ptr) (* (( (ptr) formal←c18352)+4) ))+38) ) == 0)) {
SOURCE(5687, 60)
if ((0 == (* (( (ptr) formal←c18352)+6) ))) {
SOURCE(5704, 43)
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c18320)+52)/* var←c17264 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd54 ))))((* ((( (ptr) formal←c18352)+4)) ), pd54);
};
};
};
}
static void PreferredSizeLR←P960(formal←c0112, widget←v8668, mode←v8696, proposed←v8724, maySkip←v8752)
word formal←c0112;
word widget←v8668;
word mode←v8696;
W5 proposed←v8724;
word maySkip←v8752;
{
register ptr gf←c18384 = (ptr) &globalframe;
W5 preferred←v8796;
word xsd←v5504;
/* PreferredSizeLR: */
SOURCE(5876, 1128)
SOURCE(5876, 1128)
preferred←v8796.f0 = 2147483648;
preferred←v8796.f1 = 2147483648;
preferred←v8796.f2 = 2147483648;
preferred←v8796.f3 = 2147483648;
preferred←v8796.f4 = 2147483648;
SOURCE(5919, 38)
{
word idx55;
word limit56;
xsd←v5504 = XR←Narrow((* ((( (ptr) widget←v8668)+49)+(
idx55 = (* (( (ptr) (* (( (ptr) gf←c18384)+8)/* xScrollerClass←v2664 */ ))+4) ),
limit56 = (* (( (ptr) widget←v8668)+48) ),
BCK(idx55, limit56)
)) ), (* (( (ptr) gf←c18384)+11) ));
};
SOURCE(5959, 157)
(* (W2Pt) &preferred←v8796 ) = (* (W2Pt) (( (ptr) widget←v8668)+5) );
preferred←v8796.f2 = (* (( (ptr) widget←v8668)+7) );
preferred←v8796.f3 = (* (( (ptr) widget←v8668)+8) );
preferred←v8796.f4 = (* (( (ptr) widget←v8668)+9) );
SOURCE(6119, 643)
if (((* (ptr) xsd←v5504 ) != 0)) {
SOURCE(6143, 62)
if (( (int)preferred←v8796.f2 > (int)0) || (0 == (* (( (ptr) xsd←v5504)+1) ))) {
SOURCE(6188, 17)
maySkip←v8752 = (maySkip←v8752 & 4294967291) | (((1)) << 2);
};
SOURCE(6207, 63)
if (( (int)preferred←v8796.f3 > (int)0) || (0 == (* (( (ptr) xsd←v5504)+2) ))) {
SOURCE(6253, 17)
maySkip←v8752 = (maySkip←v8752 & 4294967293) | (((1)) << 1);
};
SOURCE(6272, 490)
if ( ! (maySkip←v8752 & 04) || ! (maySkip←v8752 & 02)) {
SOURCE(6307, 457)
{
W5 proposed←v5548;
SOURCE(6309, 33)
proposed←v5548 = preferred←v8796;
SOURCE(6345, 24)
proposed←v5548.f4 = 0;
SOURCE(6371, 30)
maySkip←v8752 = (maySkip←v8752 & 4294967287) | (((1)) << 3);
maySkip←v8752 = (maySkip←v8752 & 4294967279) | (((1)) << 4);
SOURCE(6403, 73)
{
word pd57;
pd57 = (* (( (ptr) (* (( (ptr) gf←c18384)+52)/* var←c17264 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd57 ))))((word) &proposed←v5548, (* (ptr) xsd←v5504 ), mode←v8696, proposed←v5548, maySkip←v8752, pd57)
;
};
SOURCE(6478, 55)
if (( (int)proposed←v5548.f4 < (int)0)) {
SOURCE(6509, 24)
proposed←v5548.f4 = 0;
};
SOURCE(6535, 111)
if ( ( (0 != (* (( (ptr) xsd←v5504)+1) )) ? ( (int)proposed←v5548.f2 > (int)0) : 0 ) ) {
SOURCE(6580, 66)
preferred←v8796.f2 = (proposed←v5548.f2 + IOP2( * , (int)2, (int)proposed←v5548.f4));
};
SOURCE(6648, 114)
if ( ( (0 != (* (( (ptr) xsd←v5504)+2) )) ? ( (int)proposed←v5548.f3 > (int)0) : 0 ) ) {
SOURCE(6694, 68)
preferred←v8796.f3 = (proposed←v5548.f3 + IOP2( * , (int)2, (int)proposed←v5548.f4));
};
};
};
};
SOURCE(6770, 53)
preferred←v8796.f4 = (* (( (ptr) widget←v8668)+9) );
SOURCE(6825, 57)
if (( (int)preferred←v8796.f4 < (int)0)) {
SOURCE(6857, 25)
preferred←v8796.f4 = 0;
};
SOURCE(6884, 58)
if (( (int)preferred←v8796.f2 <= (int)0)) {
SOURCE(6916, 26)
preferred←v8796.f2 = 300;
};
SOURCE(6944, 60)
if (( (int)preferred←v8796.f3 <= (int)0)) {
SOURCE(6977, 27)
preferred←v8796.f3 = 200;
};
/* removed tail goto */
(* (W5Pt) formal←c0112 ) = preferred←v8796;
return;
}
/* file: XTkXScrollerImpl, module: XTkXScrollerImpl, compiled at: June 12, 1992 1:17:10 pm PDT */
extern void XR←install←XTkXScrollerImpl() {
NoName←Q1668();
}
extern void XR←run←XTkXScrollerImpl() { XR←Start(&globalframe); }