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