/* 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); }