/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: September 17, 1993 10:34:20 am PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: XTkXBiScrollerImpl, module: XTkXBiScrollerImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [4153736367,763816401] XTkXBiScrollerImpl"; 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 W9 *W9Pt; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3;} W4; typedef struct {word f0, f1, f2;} W3; typedef struct {W8 f; W3 r;} W11; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define IOP2(op, x, y) ( (word) ((x) op (y)) ) #define INEG(x) ( (word) ( - ((int) (word) (x)) ) ) static void NoName←Q1632(); static void XTkXBiScrollerImpl←P0(); static word CreateXBiScrollerClass←P60(); static word CreateXBiScroller←P120(); static word IsXBiScroller←P180(); static void XBiScrollerInitInstPart←P300(); static void GetInnerSize←P360(); static void GetOuterSize←P420(); static void Scroll←P480(); static void SetFilterProc←P540(); static word Child←P600(); static void ReplaceChild←P660(); static word SizeSubtract←P720(); static void PublicSetState←P780(); static void CheckChildState←P840(); static void DirectSetState←P900(); static void action←P1236(); static void GetState←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\033\115\307\000\300\214\060\055\310\100\244\000\000"}; static struct {unsigned f; char r[40];} string4 = {2555943, "\011\000\004\106\000\040\006\011\020\004\101\201\100\174\001\100\200\001\100\204\001\100\210\001\100\220\001\100\264\001\100\270\001\100\274\001\100\304\001"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\367\224\374\257\300\055\206\351\321\101\020\000\000"}; static struct {unsigned f; char r[4];} string6 = {131074, "\003\001\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\367\224\374\257\300\055\206\351\321\100\274\000\000"}; static struct {unsigned f; char r[4];} string8 = {131074, "\004\011\000"}; static struct {unsigned f; char r[12];} string9 = {720908, "xBiScroller"}; static struct {unsigned f; char r[20];} string10 = {1048596, "XBiScrollerState\000\000\000"}; static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\367\224\374\257\300\055\206\351\321\100\164\000\000"}; static struct {unsigned f; char r[12];} string12 = {655370, "\006\003\040\001\044\001\100\100\004\003\000"}; static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\143\260\340\122\300\057\146\075\005\100\150\000\000"}; static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\245\223\103\375\300\127\103\204\036\100\150\000\000"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\173\157\171\371\300\357\320\310\165\100\150\000\000"}; static struct { word f0[18]; 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[2]; word f51; word f52; word f53; word f54; word f55; word f56; word f57[9]; } globalframe = { {0}, (word) GetState←P960, 0, (word) DirectSetState←P900, 0, (word) CheckChildState←P840, 0, (word) PublicSetState←P780, 0, (word) SizeSubtract←P720, 0, (word) ReplaceChild←P660, 0, (word) Child←P600, 0, (word) SetFilterProc←P540, 0, (word) Scroll←P480, 0, (word) GetOuterSize←P420, 0, (word) GetInnerSize←P360, 0, (word) XBiScrollerInitInstPart←P300, 0, (word) IsXBiScroller←P180, 0, (word) CreateXBiScroller←P120, 0, (word) CreateXBiScrollerClass←P60, 0, (word) XTkXBiScrollerImpl←P0, {0}, (word) 2147483648, (word) 2147483648, (word) 2147483648, (word) 2147483648, (word) 2147483648, (word) 3, {0} }; static void NoName←Q1632() { register ptr gf←c0128 = (ptr) &globalframe; word var←c22112; (* (( (ptr) gf←c0128)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0128)+11) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c0128)+14) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf←c0128)+15) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8); (* (ptr) (( (bPt) gf←c0128)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0128)+10) ), (word) &string9); (* (ptr) (( (bPt) gf←c0128)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0128)+10) ), (word) &string10); (void) XR←DeclareGlobalFrame((word) "XTkXBiScrollerImpl", &globalframe, (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12) , (word) (( (bPt) gf←c0128)+192)/* var←c21312 */ ); var←c22112 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string13)), 11); (* (( (ptr) gf←c0128)+63)/* var←c21760 */ ) = var←c22112; (void) XR←ImportProcS(var←c22112, 67371521); var←c22112 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string14)), 218); (* (( (ptr) gf←c0128)+64)/* var←c21984 */ ) = var←c22112; (void) XR←ImportProcS(var←c22112, 539906); var←c22112 = (word) XR←ImportInterface((word) "XTkXScroller", (word) XR←GetTypeIndexS((word) (&string15)), 8); (* (( (ptr) gf←c0128)+61)/* var←c21504 */ ) = var←c22112; (void) XR←ImportProcS(var←c22112, 787970); (void) XR←ImportProcS(var←c22112, 1049604); (void) XR←ImportProcS(var←c22112, 67371777); (void) XR←ImportProcS(var←c22112, 70254852); (void) XR←ImportProcS(var←c22112, 788227); var←c22112 = (word) XR←ImportInterface((word) "XTkBiScrollerFrame", (word) XR←GetTypeIndexS((word) (&string16)), 10); (* (( (ptr) gf←c0128)+59)/* var←c21440 */ ) = var←c22112; (void) XR←ImportProcS(var←c22112, 1574403); (void) XR←ImportProcS(var←c22112, 1049604); (void) XR←ImportProcS(var←c22112, 1050884); (void) XR←ImportProcS(var←c22112, 70779141); var←c22112 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string17)), 50); (* (( (ptr) gf←c0128)+62)/* var←c21632 */ ) = var←c22112; (void) XR←ImportProcS(var←c22112, 1050628); (void) XR←ImportProcS(var←c22112, 67642370); var←c22112 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string18)), 33); (* (( (ptr) gf←c0128)+60)/* var←c21472 */ ) = var←c22112; (void) XR←ImportProcS(var←c22112, 1048580); (void) XR←ImportProcS(var←c22112, 67637250); (void) XR←ImportProcS(var←c22112, 73666049); var←c22112 = (word) XR←ExportInterface((word) "XTkXBiScroller", (word) XR←GetTypeIndexS((word) (&string19)), 10); (* (( (ptr) gf←c0128)+65)/* var←c22144 */ ) = var←c22112; (void) XR←ExportVar(var←c22112, 0, (word) (( (bPt) gf←c0128)+36)/* xBiScrollerClass←v2804 */ ); (void) XR←ExportProcS(var←c22112, (word) (( (bPt) gf←c0128)+176)/* var←c21248 */ , 70779141, (word) "CreateXBiScroller"); (void) XR←ExportProcS(var←c22112, (word) (( (bPt) gf←c0128)+168)/* var←c21216 */ , 67371521, (word) "IsXBiScroller"); (void) XR←ExportProcS(var←c22112, (word) (( (bPt) gf←c0128)+120)/* var←c21024 */ , 67371777, (word) "Child"); (void) XR←ExportProcS(var←c22112, (word) (( (bPt) gf←c0128)+112)/* var←c20992 */ , 1049604, (word) "ReplaceChild"); (void) XR←ExportProcS(var←c22112, (word) (( (bPt) gf←c0128)+72)/* var←c20832 */ , 134481153, (word) "GetState"); (void) XR←ExportProcS(var←c22112, (word) (( (bPt) gf←c0128)+80)/* var←c20864 */ , 1050115, (word) "DirectSetState"); (void) XR←ExportProcS(var←c22112, (word) (( (bPt) gf←c0128)+96)/* var←c20928 */ , 1050371, (word) "PublicSetState"); (void) XR←ExportProcS(var←c22112, (word) (( (bPt) gf←c0128)+128)/* var←c21056 */ , 788739, (word) "SetFilterProc"); } static void XTkXBiScrollerImpl←P0(formal←c032, formal←c031) word formal←c032; word formal←c031; { register ptr gf←c22176 = (ptr) &globalframe; /* XTkXBiScrollerImpl: */ SOURCE(89, 6137) /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ SOURCE(245, 45) (* (( (ptr) gf←c22176)+8)/* stateChanged←v2776 */ ) = (* (( (ptr) gf←c22176)+17) ); SOURCE(293, 61) (* (( (ptr) gf←c22176)+9)/* xBiScrollerClass←v2804 */ ) = (word) CreateXBiScrollerClass←P60(); } static word CreateXBiScrollerClass←P60() { register ptr gf←c22208 = (ptr) &globalframe; word var←c3472; word class←v5380; /* CreateXBiScrollerClass: */ SOURCE(356, 245) SOURCE(412, 173) { W25 var←c036; (* (ptr) &var←c036 ) = (* (( (ptr) gf←c22208)+16) ); (* (( (ptr) &var←c036)+1) ) = 0; (* (( (ptr) &var←c036)+2) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c22208)+59)/* var←c21440 */ ))+4) ) ); (* (( (ptr) &var←c036)+3) ) = 1; (* (( (ptr) &var←c036)+4) ) = 0; (* (( (ptr) &var←c036)+5) ) = 0; (* (( (ptr) &var←c036)+6) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+7) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+8) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+9) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+10) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+11) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+12) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+13) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+14) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+15) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+16) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+17) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+18) ) = (word) (( (bPt) gf←c22208)+160)/* var←c21184 */ ; (* (( (ptr) &var←c036)+19) ) = 0; (* (( (ptr) &var←c036)+20) ) = 0; (* (( (ptr) &var←c036)+21) ) = 0; (* (( (ptr) &var←c036)+22) ) = 0; (* (( (ptr) &var←c036)+23) ) = XR←CheckProc(0); (* (( (ptr) &var←c036)+24) ) = XR←CheckProc(0); { word pd20; pd20 = (* (( (ptr) (* (( (ptr) gf←c22208)+60)/* var←c21472 */ ))+18) ); class←v5380 = (word) ( *( (fPt) ((* (ptr) pd20 ))))((word) (&var←c036), pd20); }; }; SOURCE(587, 14) return(class←v5380); } static word CreateXBiScroller←P120(widgetSpec←v3532, child←v3560, insideSize←v3588, vsbar←v3616, hsbar←v3644) W9 widgetSpec←v3532; word child←v3560; W2 insideSize←v3588; word vsbar←v3616; word hsbar←v3644; { register ptr gf←c22240 = (ptr) &globalframe; word var←c3688; /* CreateXBiScroller: */ SOURCE(607, 630) SOURCE(793, 80) { word pd21; pd21 = (* (( (ptr) (* (( (ptr) gf←c22240)+60)/* var←c21472 */ ))+20) ); (* (ptr) &widgetSpec←v3532 ) = (word) ( *( (fPt) ((* (ptr) pd21 ))))((* (ptr) &widgetSpec←v3532 ), (* (( (ptr) gf←c22240)+9) /* xBiScrollerClass←v2804 */ ), pd21); }; SOURCE(875, 364) { word xBiScroller←v5424; word xbsd←v5452; SOURCE(881, 109) { word pd22; pd22 = (* (( (ptr) (* (( (ptr) gf←c22240)+59)/* var←c21440 */ ))+5) ); xBiScroller←v5424 = (word) ( *( (fPt) ((* (ptr) pd22 ))))(widgetSpec←v3532, 0, insideSize←v3588, vsbar←v3616, hsbar←v3644, pd22) ; }; SOURCE(992, 47) { word idx23; word limit24; xbsd←v5452 = XR←Narrow((* ((( (ptr) xBiScroller←v5424)+49)+( idx23 = (* (( (ptr) (* (( (ptr) gf←c22240)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit24 = (* (( (ptr) xBiScroller←v5424)+48) ), BCK(idx23, limit24) )) ), (* (( (ptr) gf←c22240)+15) )); }; SOURCE(1041, 56) if ((child←v3560 != 0)) { SOURCE(1059, 38) (void) ReplaceChild←P660(xBiScroller←v5424, child←v3560, 1, 0); }; SOURCE(1099, 53) { word pd25; pd25 = (* (( (ptr) (* (( (ptr) gf←c22240)+59)/* var←c21440 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd25 ))))(xBiScroller←v5424, (word) (( (bPt) gf←c22240)+136)/* var←c21088 */ , 0, 0, pd25); }; SOURCE(1154, 61) { word pd26; pd26 = (* (( (ptr) (* (( (ptr) gf←c22240)+61)/* var←c21504 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd26 ))))((* (ptr) xbsd←v5452 ), (unsigned) (0 == hsbar←v3644), (unsigned) (0 == vsbar←v3616), pd26) ; }; SOURCE(1217, 20) return(xBiScroller←v5424); }; } static word IsXBiScroller←P180(widget←v3748) word widget←v3748; { register ptr gf←c22272 = (ptr) &globalframe; word var←c3792; /* IsXBiScroller: */ SOURCE(1248, 115) SOURCE(1315, 48) { word var←c21568; word widget←v20784; widget←v20784 = widget←v3748; { word pd27; if (((* (( (ptr) widget←v20784)+4) ) == (* (( (ptr) gf←c22272)+9)/* xBiScrollerClass←v2804 */ ))) { var←c21568 = 1; } else { pd27 = (* (( (ptr) (* (( (ptr) gf←c22272)+62)/* var←c21632 */ ))+40) ); var←c21568 = (word) ( *( (fPt) ((* (ptr) pd27 ))))(widget←v20784, (* (( (ptr) gf←c22272)+9)/* xBiScrollerClass←v2804 */ ), pd27) ; }; }; return(var←c21568); }; } static void XBiScrollerInitInstPart←P300(widget←v8812, arguments←v8840) word widget←v8812; word arguments←v8840; { register ptr gf←c22304 = (ptr) &globalframe; word xbsd←v5496; /* XBiScrollerInitInstPart: */ SOURCE(1715, 438) SOURCE(1769, 36) xbsd←v5496 = XR←NewObject(16, (* (( (ptr) gf←c22304)+15) )); SOURCE(1807, 57) { word val←v20736; val←v20736 = xbsd←v5496; { word idx28; word limit29; (* ((( (ptr) widget←v8812)+49)+( idx28 = (* (( (ptr) (* (( (ptr) gf←c22304)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit29 = (* (( (ptr) widget←v8812)+48) ), BCK(idx28, limit29) )) ) = val←v20736; }; }; SOURCE(1866, 48) { word pd30; pd30 = (* (( (ptr) (* (( (ptr) gf←c22304)+61)/* var←c21504 */ ))+5) ); (* (ptr) xbsd←v5496 ) = (word) ( *( (fPt) ((* (ptr) pd30 ))))((* (W9Pt) (( (ptr) gf←c22304)+50)/* var←c21376 */ ), 0, 0, 0, pd30) ; }; SOURCE(1916, 56) { word pd31; pd31 = (* (( (ptr) (* (( (ptr) gf←c22304)+59)/* var←c21440 */ ))+8) ); (void) ( *( (fPt) ((* (ptr) pd31 ))))(widget←v8812, (* (ptr) xbsd←v5496 ), 0, 0, pd31); }; SOURCE(1974, 86) { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c22304)+62)/* var←c21632 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd32 ))))((* (ptr) xbsd←v5496 ), (* (ptr) (* (( (ptr) (* (( (ptr) gf←c22304)+62)/* var←c21632 */ ))+18) ) ), (word) (( (bPt) gf←c22304)+88)/* var←c20896 */ , widget←v8812, pd32); }; SOURCE(2062, 91) { word pd33; pd33 = (* (( (ptr) (* (( (ptr) gf←c22304)+62)/* var←c21632 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd33 ))))((* (ptr) xbsd←v5496 ), (* (ptr) (* (( (ptr) (* (( (ptr) gf←c22304)+62)/* var←c21632 */ ))+16) ) ), (word) (( (bPt) gf←c22304)+88)/* var←c20896 */ , widget←v8812, pd33); }; } static void GetInnerSize←P360(formal←c055, w←v4080) word formal←c055; word w←v4080; { W2 sz←v4124; /* GetInnerSize: */ SOURCE(2159, 194) SOURCE(2159, 194) sz←v4124.f0 = 200; sz←v4124.f1 = 200; SOURCE(2233, 120) if ((w←v4080 != 0)) { SOURCE(2249, 50) { word x34; word idx35; word x36; sz←v4124.f0 = (x36 = ( idx35 = (word) (x34 = (* (( (ptr) w←v4080)+41) ), MAX((int)(word), x34, 1)), SGNCK(idx35) ), MIN( (unsigned) , x36, 10000)); }; SOURCE(2301, 52) { word x37; word idx38; word x39; sz←v4124.f1 = (x39 = ( idx38 = (word) (x37 = (* (( (ptr) w←v4080)+42) ), MAX((int)(word), x37, 1)), SGNCK(idx38) ), MIN( (unsigned) , x39, 10000)); }; }; /* removed tail goto */ (* (W2Pt) formal←c055 ) = sz←v4124; return; } static void GetOuterSize←P420(formal←c060, w←v4184) word formal←c060; word w←v4184; { W2 sz←v4228; /* GetOuterSize: */ SOURCE(2362, 215) SOURCE(2362, 215) sz←v4228.f0 = 200; sz←v4228.f1 = 200; SOURCE(2436, 141) if ((w←v4184 != 0)) { SOURCE(2450, 129) { word b←v5540; SOURCE(2452, 47) { word x40; word idx41; word x42; b←v5540 = (x42 = ( idx41 = (word) (x40 = (* (( (ptr) w←v4184)+43) ), MAX((int)(word), x40, 0)), SGNCK(idx41) ), MIN( (unsigned) , x42, 500)); }; SOURCE(2501, 20) (void) GetInnerSize←P360((word) &sz←v4228, w←v4184); SOURCE(2523, 25) sz←v4228.f0 = (sz←v4228.f0 + IOP2( * , (int)2, (int)b←v5540)); SOURCE(2550, 27) sz←v4228.f1 = (sz←v4228.f1 + IOP2( * , (int)2, (int)b←v5540)); }; }; /* removed tail goto */ (* (W2Pt) formal←c060 ) = sz←v4228; return; } static void Scroll←P480(biScrollerFrame←v8900, hAction←v8928, vAction←v8956, x←v8984, y←v9012, event←v9040, clientData←v9068) word biScrollerFrame←v8900; word hAction←v8928; word vAction←v8956; word x←v8984; word y←v9012; word event←v9040; word clientData←v9068; { register ptr gf←c22336 = (ptr) &globalframe; word xBiScroller←v5584; word doit←v5612 = 0; word xbsd←v5640; word dummyChild←v5668; word realChild←v5696; W2 docsz←v5724; W2 winsz←v5752; W2 p←v5780; /* Scroll: */ SOURCE(2586, 904) SOURCE(2628, 42) xBiScroller←v5584 = biScrollerFrame←v8900; SOURCE(2702, 47) { word idx43; word limit44; xbsd←v5640 = XR←Narrow((* ((( (ptr) xBiScroller←v5584)+49)+( idx43 = (* (( (ptr) (* (( (ptr) gf←c22336)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit44 = (* (( (ptr) xBiScroller←v5584)+48) ), BCK(idx43, limit44) )) ), (* (( (ptr) gf←c22336)+15) )); }; SOURCE(2751, 40) dummyChild←v5668 = (* (ptr) xbsd←v5640 ); SOURCE(2793, 54) { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf←c22336)+61)/* var←c21504 */ ))+7) ); realChild←v5696 = (word) ( *( (fPt) ((* (ptr) pd45 ))))(dummyChild←v5668, pd45); }; SOURCE(2849, 40) (void) GetOuterSize←P420((word) &docsz←v5724, realChild←v5696); SOURCE(2891, 41) (void) GetInnerSize←P360((word) &winsz←v5752, dummyChild←v5668); SOURCE(2934, 33) SOURCE(6133, 93) (void) (XR←MonitorEntry((word) (( (bPt) gf←c22336)+16)/* LOCK←v2748 */ )); SOURCE(6208, 18) p←v5780 = (* (W2Pt) (( (ptr) xbsd←v5640)+1) ); (void) (XR←MonitorExit((word) (( (bPt) gf←c22336)+16)/* LOCK←v2748 */ )); SOURCE(2969, 214) { word var←c21728; var←c21728 = hAction←v8928; switch (var←c21728) { case 3: SOURCE(3000, 33) { word pd46; word x47; float tf48; pd46 = (* (( (ptr) (* (( (ptr) gf←c22336)+63)/* var←c21760 */ ))+6) ); p←v5780.f0 = INEG((word) ( *( (fPt) ((* (ptr) pd46 ))))(( tf48 = ( x47 = x←v8984, *(float*)&x47 ) * (float)(int)docsz←v5724.f0, *(word*)&tf48 ), pd46)); }; SOURCE(3035, 11) doit←v5612 = 1; break; case 2: SOURCE(3064, 37) { word pd49; word x50; float tf51; pd49 = (* (( (ptr) (* (( (ptr) gf←c22336)+63)/* var←c21760 */ ))+6) ); p←v5780.f0 = (p←v5780.f0 - (word) ( *( (fPt) ((* (ptr) pd49 ))))(( tf51 = ( x50 = x←v8984, *(float*)&x50 ) * (float)(int)winsz←v5752.f0, *(word*)&tf51 ), pd49)); }; SOURCE(3103, 11) doit←v5612 = 1; break; case 1: SOURCE(3133, 37) { word pd52; word x53; float tf54; pd52 = (* (( (ptr) (* (( (ptr) gf←c22336)+63)/* var←c21760 */ ))+6) ); p←v5780.f0 = (p←v5780.f0 + (word) ( *( (fPt) ((* (ptr) pd52 ))))(( tf54 = ( x53 = x←v8984, *(float*)&x53 ) * (float)(int)winsz←v5752.f0, *(word*)&tf54 ), pd52)); }; SOURCE(3172, 11) doit←v5612 = 1; break; }; }; SOURCE(3203, 217) { word var←c21792; var←c21792 = vAction←v8956; switch (var←c21792) { case 3: SOURCE(3234, 34) { word pd55; word x56; float tf57; pd55 = (* (( (ptr) (* (( (ptr) gf←c22336)+63)/* var←c21760 */ ))+6) ); p←v5780.f1 = INEG((word) ( *( (fPt) ((* (ptr) pd55 ))))(( tf57 = ( x56 = y←v9012, *(float*)&x56 ) * (float)(int)docsz←v5724.f1, *(word*)&tf57 ), pd55)); }; SOURCE(3270, 11) doit←v5612 = 1; break; case 2: SOURCE(3299, 38) { word pd58; word x59; float tf60; pd58 = (* (( (ptr) (* (( (ptr) gf←c22336)+63)/* var←c21760 */ ))+6) ); p←v5780.f1 = (p←v5780.f1 - (word) ( *( (fPt) ((* (ptr) pd58 ))))(( tf60 = ( x59 = y←v9012, *(float*)&x59 ) * (float)(int)winsz←v5752.f1, *(word*)&tf60 ), pd58)); }; SOURCE(3339, 11) doit←v5612 = 1; break; case 1: SOURCE(3369, 38) { word pd61; word x62; float tf63; pd61 = (* (( (ptr) (* (( (ptr) gf←c22336)+63)/* var←c21760 */ ))+6) ); p←v5780.f1 = (p←v5780.f1 + (word) ( *( (fPt) ((* (ptr) pd61 ))))(( tf63 = ( x62 = y←v9012, *(float*)&x62 ) * (float)(int)winsz←v5752.f1, *(word*)&tf63 ), pd61)); }; SOURCE(3409, 11) doit←v5612 = 1; break; }; }; SOURCE(3440, 50) if ((0 != doit←v5612)) { SOURCE(3453, 37) (void) PublicSetState←P780(xBiScroller←v5584, p←v5780, event←v9040); }; } static void SetFilterProc←P540(xBiScroller←v4376, filterProc←v4404, filterData←v4432) word xBiScroller←v4376; word filterProc←v4404; word filterData←v4432; { register ptr gf←c22368 = (ptr) &globalframe; word xbsd←v5824; word pair←v5852 = 0; /* SetFilterProc: */ SOURCE(3581, 279) SOURCE(3686, 47) { word idx64; word limit65; xbsd←v5824 = XR←Narrow((* ((( (ptr) xBiScroller←v4376)+49)+( idx64 = (* (( (ptr) (* (( (ptr) gf←c22368)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit65 = (* (( (ptr) xBiScroller←v4376)+48) ), BCK(idx64, limit65) )) ), (* (( (ptr) gf←c22368)+15) )); }; SOURCE(3763, 72) if ((filterProc←v4404 != 0)) { SOURCE(3786, 49) { word var←c21824; var←c21824 = XR←NewObject(8, (* (( (ptr) gf←c22368)+14) )); (* (ptr) var←c21824 ) = XR←CheckProc(filterProc←v4404); (* (( (ptr) var←c21824)+1) ) = filterData←v4432; pair←v5852 = var←c21824; }; }; SOURCE(3837, 23) (* (( (ptr) xbsd←v5824)+3) ) = pair←v5852; } static word Child←P600(xBiScroller←v4504) word xBiScroller←v4504; { register ptr gf←c22400 = (ptr) &globalframe; word var←c4548; word xbsd←v5908; /* Child: */ SOURCE(3864, 169) SOURCE(3864, 169) var←c4548 = 0; SOURCE(3940, 47) { word idx66; word limit67; xbsd←v5908 = XR←Narrow((* ((( (ptr) xBiScroller←v4504)+49)+( idx66 = (* (( (ptr) (* (( (ptr) gf←c22400)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit67 = (* (( (ptr) xBiScroller←v4504)+48) ), BCK(idx66, limit67) )) ), (* (( (ptr) gf←c22400)+15) )); }; SOURCE(3989, 44) { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c22400)+61)/* var←c21504 */ ))+7) ); return((word) ( *( (fPt) ((* (ptr) pd68 ))))((* (ptr) (xbsd←v5908) ), pd68)); }; } static void ReplaceChild←P660(xBiScroller←v4608, child←v4636, delayed←v4664, preventDestructionOfOldChild←v4692) word xBiScroller←v4608; word child←v4636; word delayed←v4664; word preventDestructionOfOldChild←v4692; { register ptr gf←c22432 = (ptr) &globalframe; word xbsd←v5952; /* ReplaceChild: */ SOURCE(4039, 280) SOURCE(4182, 47) { word idx69; word limit70; xbsd←v5952 = XR←Narrow((* ((( (ptr) xBiScroller←v4608)+49)+( idx69 = (* (( (ptr) (* (( (ptr) gf←c22432)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit70 = (* (( (ptr) xBiScroller←v4608)+48) ), BCK(idx69, limit70) )) ), (* (( (ptr) gf←c22432)+15) )); }; SOURCE(4231, 88) { word pd71; pd71 = (* (( (ptr) (* (( (ptr) gf←c22432)+61)/* var←c21504 */ ))+8) ); (void) ( *( (fPt) ((* (ptr) pd71 ))))((* (ptr) xbsd←v5952 ), child←v4636, delayed←v4664, preventDestructionOfOldChild←v4692, pd71) ; }; } static word SizeSubtract←P720(szVal←v4752, sub←v4780) word szVal←v4752; word sub←v4780; { word var←c4824; /* SizeSubtract: */ SOURCE(4325, 118) SOURCE(4385, 41) if (( (int)szVal←v4752 > (int)0)) { SOURCE(4401, 25) szVal←v4752 = (MAX((int)(word), (szVal←v4752 - sub←v4780), 1)); }; SOURCE(4428, 15) return(szVal←v4752); } static void PublicSetState←P780(xBiScroller←v4884, p←v4912, event←v4940) word xBiScroller←v4884; W2 p←v4912; word event←v4940; { register ptr gf←c22464 = (ptr) &globalframe; word xbsd←v5996; word pair←v6024; /* PublicSetState: */ SOURCE(4447, 310) SOURCE(4543, 47) { word idx72; word limit73; xbsd←v5996 = XR←Narrow((* ((( (ptr) xBiScroller←v4884)+49)+( idx72 = (* (( (ptr) (* (( (ptr) gf←c22464)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit73 = (* (( (ptr) xBiScroller←v4884)+48) ), BCK(idx72, limit73) )) ), (* (( (ptr) gf←c22464)+15) )); }; SOURCE(4592, 38) pair←v6024 = (* (( (ptr) xbsd←v5996)+3) ); SOURCE(4632, 125) if ((pair←v6024 == 0)) { SOURCE(4658, 43) (void) DirectSetState←P900(xBiScroller←v4884, p←v4912, event←v4940); } else { SOURCE(4701, 56) { word pd74; pd74 = (* (ptr) pair←v6024 ); (void) ( *( (fPt) ((* (ptr) pd74 ))))(xBiScroller←v4884, p←v4912, (* (( (ptr) pair←v6024)+1) ), event←v4940, pd74); }; }; } static void CheckChildState←P840(widget←v9128, registerData←v9156, callData←v9184, event←v9212) word widget←v9128; word registerData←v9156; word callData←v9184; word event←v9212; { register ptr gf←c22496 = (ptr) &globalframe; word xBiScroller←v6080; word xbsd←v6108; W4 state←v6136; word f←v6164; W2 docSize←v6192; W2 winSize←v6220; W2 p←v6248; /* CheckChildState: */ SOURCE(4762, 659) SOURCE(4804, 46) xBiScroller←v6080 = XR←Narrow(registerData←v9156, (* (( (ptr) gf←c22496)+11) )); SOURCE(4852, 47) { word idx75; word limit76; xbsd←v6108 = XR←Narrow((* ((( (ptr) xBiScroller←v6080)+49)+( idx75 = (* (( (ptr) (* (( (ptr) gf←c22496)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit76 = (* (( (ptr) xBiScroller←v6080)+48) ), BCK(idx75, limit76) )) ), (* (( (ptr) gf←c22496)+15) )); }; SOURCE(4944, 68) { word var←c21888; { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c22496)+61)/* var←c21504 */ ))+7) ); var←c21888 = (word) ( *( (fPt) ((* (ptr) pd77 ))))((* (ptr) (xbsd←v6108) ), pd77); }; (void) GetOuterSize←P420((word) &docSize←v6192, var←c21888); }; SOURCE(5014, 48) (void) GetInnerSize←P360((word) &winSize←v6220, (* (ptr) xbsd←v6108 )); SOURCE(5064, 33) SOURCE(6133, 93) (void) (XR←MonitorEntry((word) (( (bPt) gf←c22496)+16)/* LOCK←v2748 */ )); SOURCE(6208, 18) p←v6248 = (* (W2Pt) (( (ptr) xbsd←v6108)+1) ); (void) (XR←MonitorExit((word) (( (bPt) gf←c22496)+16)/* LOCK←v2748 */ )); SOURCE(5099, 49) { word var←c0144; { word x78; float tf79; f←v6164 = ( tf79 = (float)(int)(x78 = INEG(p←v6248.f1), MAX((int)(word), x78, 0)), *(word*)&tf79 ); }; var←c0144 = f←v6164; { word x80; *(float*)&state←v6136.f2 = ( x80 = var←c0144, *(float*)&x80 ) / (float)(int)docSize←v6192.f1; }; }; SOURCE(5150, 48) { word var←c0145; { word x81; float tf82; f←v6164 = ( tf82 = (float)(int)(x81 = INEG(p←v6248.f0), MAX((int)(word), x81, 0)), *(word*)&tf82 ); }; var←c0145 = f←v6164; { word x83; *(float*)&state←v6136.f0 = ( x83 = var←c0145, *(float*)&x83 ) / (float)(int)docSize←v6192.f0; }; }; SOURCE(5200, 66) { word var←c0146; word var←c0147; { float tf84; f←v6164 = ( tf84 = (float)(int)winSize←v6220.f1, *(word*)&tf84 ); }; var←c0146 = f←v6164; { word x85; *(float*)&var←c0147 = ( x85 = var←c0146, *(float*)&x85 ) / (float)(int)docSize←v6192.f1; }; { word x86; word x87; *(float*)&state←v6136.f3 = ( x86 = state←v6136.f2, *(float*)&x86 ) + ( x87 = var←c0147, *(float*)&x87 ); }; }; SOURCE(5268, 64) { word var←c0148; word var←c0149; { float tf88; f←v6164 = ( tf88 = (float)(int)winSize←v6220.f0, *(word*)&tf88 ); }; var←c0148 = f←v6164; { word x89; *(float*)&var←c0149 = ( x89 = var←c0148, *(float*)&x89 ) / (float)(int)docSize←v6192.f0; }; { word x90; word x91; *(float*)&state←v6136.f1 = ( x90 = state←v6136.f0, *(float*)&x90 ) + ( x91 = var←c0149, *(float*)&x91 ); }; }; SOURCE(5359, 62) { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c22496)+59)/* var←c21440 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd92 ))))(xBiScroller←v6080, state←v6136, event←v9212, pd92); }; } static void DirectSetState←P900(formal←c0152, formal←c0153, formal←c0154) word formal←c0152; W2 formal←c0153; word formal←c0154; { W11 var←c22528; /* declaration of xBiScroller←v5000 skipped */ /* declaration of p←v5028 skipped */ /* declaration of event←v5056 skipped */ register ptr gf←c22560 = (ptr) &globalframe; /* declaration of var←c21952 skipped */ /* declaration of xbsd←v6292 skipped */ word rootTQ←v6320; (* (( (ptr) &var←c22528)+4)/* xBiScroller←v5000 */ ) = formal←c0152; (* (W2Pt) (( (ptr) &var←c22528)+5)/* p←v5028 */ ) = formal←c0153; (* (( (ptr) &var←c22528)+7)/* event←v5056 */ ) = formal←c0154; /* DirectSetState: */ SOURCE(5427, 456) { word tmpAddr93; tmpAddr93 = (word) (( (ptr) &var←c22528)+8)/* var←c21952 */ ; (* (ptr) tmpAddr93 ) = ( ((word) (fPt) action←P1236) ); (* (( (ptr) tmpAddr93) + 1) ) = 1; }; SOURCE(5523, 47) { word idx94; word limit95; (* (( (ptr) &var←c22528)+10)/* xbsd←v6292 */ ) = XR←Narrow((* ((( (ptr) (* (( (ptr) &var←c22528)+4)/* xBiScroller←v5000 */ ))+49) +( idx94 = (* (( (ptr) (* (( (ptr) gf←c22560)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit95 = (* (( (ptr) (* (( (ptr) &var←c22528)+4)/* xBiScroller←v5000 */ ))+48) ), BCK(idx94, limit95) )) ), (* (( (ptr) gf←c22560)+15) )); }; SOURCE(5572, 34) rootTQ←v6320 = (* (( (ptr) (* (( (ptr) &var←c22528)+4)/* xBiScroller←v5000 */ ))+45) ); SOURCE(5786, 97) if ((rootTQ←v6320 == 0) || ((* (( (ptr) (* (( (ptr) &var←c22528)+4)/* xBiScroller←v5000 */ ))+38) ) >= 2)) { SOURCE(5837, 15) (void) action←P1236((word) ((( (bPt) &var←c22528)+32)/* var←c21952 */ )); } else { SOURCE(5852, 31) { word pd96; pd96 = (* (( (ptr) (* (( (ptr) gf←c22560)+64)/* var←c21984 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd96 ))))(rootTQ←v6320, (word) (( (bPt) &var←c22528)+32)/* var←c21952 */ , pd96); }; }; } static void action←P1236(formal←c22624) word formal←c22624; { register ptr gf←c22592 = (ptr) &globalframe; formal←c22624 = (formal←c22624 - 32); /* action: */ SOURCE(5608, 173) SOURCE(5628, 22) SOURCE(5628, 22) (void) (XR←MonitorEntry((word) (( (bPt) gf←c22592)+16)/* LOCK←v2748 */ )); SOURCE(6115, 13) (* (W2Pt) (( (ptr) (* (( (ptr) formal←c22624)+10) ))+1) ) = (* (W2Pt) (( (ptr) formal←c22624)+5) ); (void) (XR←MonitorExit((word) (( (bPt) gf←c22592)+16)/* LOCK←v2748 */ )); SOURCE(5673, 42) { word pd97; pd97 = (* (( (ptr) (* (( (ptr) gf←c22592)+61)/* var←c21504 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd97 ))))((* (ptr) (* (( (ptr) formal←c22624)+10) ) ), (* (W2Pt) (( (ptr) formal←c22624)+5) ), pd97); }; SOURCE(5717, 64) { word pd98; pd98 = (* (( (ptr) (* (( (ptr) gf←c22592)+60)/* var←c21472 */ ))+4) ); (void) ( *( (fPt) ((* (ptr) pd98 ))))((* (( (ptr) formal←c22624)+4) ), (* (( (ptr) gf←c22592)+8)/* stateChanged←v2776 */ ), (* ( ( (ptr) formal←c22624)+10) ), (* (( (ptr) formal←c22624)+7) ), pd98); }; } static void GetState←P960(formal←c0127, xBiScroller←v5116) word formal←c0127; word xBiScroller←v5116; { register ptr gf←c22656 = (ptr) &globalframe; W2 p←v5160; word xbsd←v6408; /* GetState: */ SOURCE(5890, 152) SOURCE(5965, 47) { word idx99; word limit100; xbsd←v6408 = XR←Narrow((* ((( (ptr) xBiScroller←v5116)+49)+( idx99 = (* (( (ptr) (* (( (ptr) gf←c22656)+9)/* xBiScrollerClass←v2804 */ ))+4) ), limit100 = (* (( (ptr) xBiScroller←v5116)+48) ), BCK(idx99, limit100) )) ), (* (( (ptr) gf←c22656)+15) )); }; SOURCE(6014, 28) { W2 var←c22080; { W2 var←c22048; SOURCE(6133, 93) (void) (XR←MonitorEntry((word) (( (bPt) gf←c22656)+16)/* LOCK←v2748 */ )); SOURCE(6208, 18) var←c22048 = (* (W2Pt) (( (ptr) xbsd←v6408)+1) ); (void) (XR←MonitorExit((word) (( (bPt) gf←c22656)+16)/* LOCK←v2748 */ )); var←c22080 = var←c22048; }; p←v5160 = var←c22080; /* removed tail goto */ }; (* (W2Pt) formal←c0127 ) = p←v5160; return; } /* file: XTkXBiScrollerImpl, module: XTkXBiScrollerImpl, compiled at: September 17, 1993 10:34:20 am PDT */ extern void XR←install←XTkXBiScrollerImpl() { NoName←Q1632(); } extern void XR←run←XTkXBiScrollerImpl() { XR←Start(&globalframe); }