/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: March 19, 1993 5:48:05 pm PST */ /* C2C version: February 24, 1993 (sun4) */ /* ref-counting: off */ /* file: BiScrollersTransformsImpl, module: BiScrollersTransformsImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [2180410997,1075106069] BiScrollersTransformsImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1, f2;} W3; typedef struct {word f0, f1;} W2; typedef word (*fPt)(); typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; typedef W3 *W3Pt; #define SOURCE(p, l) /* source p, l */ #define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) ) static float fc58 = 0.0; #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static float fc67 = 1.0; static float fc102 = 2.0; #define FMIN(x, y, tx, ty) ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty ) static void NoName←Q1836(); static void BiScrollersTransformsImpl←P0(); static word Scale←P60(); static void ConstantVector←P120(); static word SGN←P180(); static word ZeroProtect←P240(); static word Rotate←P300(); static word Shift←P360(); static word Align←P420(); static word Blend←P1236(); static void ViewLimitsOfImage←P480(); static void ViewLimitsOfImage2←P540(); static word Round←P600(); static word BoxScale←P660(); static word Fit←P720(); static void Norm←P780(); static void BeVec←P840(); static word BeReal←P900(); static void BeRect←P960(); static word BeBool←P1020(); static word DoBSUserAction←P1080(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\247\031\224\326\300\123\162\224\023\100\164\000\000"}; static struct {unsigned f; char r[4];} string2 = {65540, "\256\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\000\172\225\152\300\104\041\252\375\100\200\000\000"}; static struct {unsigned f; char r[4];} string4 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string5 = {65537, "\001\000\000"}; static struct {unsigned f; char r[8];} string6 = {262152, "TRUE\000\000\000"}; static struct {unsigned f; char r[8];} string7 = {327688, "First\000\000"}; static struct {unsigned f; char r[8];} string8 = {262152, "Last\000\000\000"}; static struct {unsigned f; char r[4];} string9 = {196612, "Mid"}; static struct {unsigned f; char r[8];} string10 = {327688, "Shift\000\000"}; static struct {unsigned f; char r[8];} string11 = {327688, "Scale\000\000"}; static struct {unsigned f; char r[12];} string12 = {655372, "ScaleReset\000"}; static struct {unsigned f; char r[8];} string13 = {393224, "Rotate\000"}; static struct {unsigned f; char r[12];} string14 = {720908, "RotateReset"}; static struct {unsigned f; char r[8];} string15 = {327688, "FitXY\000\000"}; static struct {unsigned f; char r[16];} string16 = {786448, "FitUniformly\000\000\000"}; static struct {unsigned f; char r[8];} string17 = {458760, "Vanilla"}; static struct {unsigned f; char r[12];} string18 = {655372, "AlignFracs\000"}; static struct {unsigned f; char r[12];} string19 = {524300, "BoxScale\000\000\000"}; static struct {unsigned f; char r[8];} string20 = {262152, "Prev\000\000\000"}; static struct {unsigned f; char r[8];} string21 = {327688, "FALSE\000\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\201\366\156\165\300\100\024\321\025\100\164\000\000"}; static struct {unsigned f; char r[8];} string23 = {458759, "\006\001(\004\200\377\377"}; static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\133\220\237\206\300\254\332\015\112\100\164\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\000\172\225\152\300\104\041\252\375\100\150\000\000"}; static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\247\031\224\326\300\123\162\224\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\252\311\132\134\300\226\023\126\352\100\150\000\000"}; static W2 dummy140; static struct { word f0[26]; 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; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63[8]; } globalframe = { {0}, (word) DoBSUserAction←P1080, 0, (word) BeBool←P1020, 0, (word) BeRect←P960, 0, (word) BeReal←P900, 0, (word) BeVec←P840, 0, (word) Norm←P780, 0, (word) Fit←P720, 0, (word) BoxScale←P660, 0, (word) Round←P600, 0, (word) ViewLimitsOfImage2←P540, 0, (word) ViewLimitsOfImage←P480, 0, (word) Align←P420, 0, (word) Shift←P360, 0, (word) Rotate←P300, 0, (word) ZeroProtect←P240, 0, (word) SGN←P180, 0, (word) ConstantVector←P120, 0, (word) Scale←P60, 0, (word) BiScrollersTransformsImpl←P0, {0} }; static void NoName←Q1836() { register ptr gf←c0248 = (ptr) &globalframe; word var←c16664; (* (( (ptr) gf←c0248)+4) ) = (word) XR←GetTypeIndexS((word) (&string1)); (* (( (ptr) gf←c0248)+5) ) = (word) XR←GetTypeIndexS((word) (&string2)); (* (( (ptr) gf←c0248)+6) ) = (word) XR←GetTypeIndexS((word) (&string3)); (* (( (ptr) gf←c0248)+7) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5); (* (ptr) (( (bPt) gf←c0248)+40) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string6); (* (ptr) (( (bPt) gf←c0248)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string7); (* (ptr) (( (bPt) gf←c0248)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string8); (* (ptr) (( (bPt) gf←c0248)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string9); (* (ptr) (( (bPt) gf←c0248)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string10); (* (ptr) (( (bPt) gf←c0248)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string11); (* (ptr) (( (bPt) gf←c0248)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string12); (* (ptr) (( (bPt) gf←c0248)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string13); (* (ptr) (( (bPt) gf←c0248)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string14); (* (ptr) (( (bPt) gf←c0248)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string15); (* (ptr) (( (bPt) gf←c0248)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string16); (* (ptr) (( (bPt) gf←c0248)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string17); (* (ptr) (( (bPt) gf←c0248)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string18); (* (ptr) (( (bPt) gf←c0248)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string19); (* (ptr) (( (bPt) gf←c0248)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string20); (* (ptr) (( (bPt) gf←c0248)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0248)+7) ), (word) &string21); (void) XR←DeclareGlobalFrame((word) "BiScrollersTransformsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23) , (word) (( (bPt) gf←c0248)+248)/* var←c14712 */ ); var←c16664 = (word) XR←ImportInterface((word) "Geom2D", (word) XR←GetTypeIndexS((word) (&string24)), 23); (* (( (ptr) gf←c0248)+66)/* var←c14840 */ ) = var←c16664; var←c16664 = (word) XR←ImportInterface((word) "ImagerBox", (word) XR←GetTypeIndexS((word) (&string25)), 7); (* (( (ptr) gf←c0248)+69)/* var←c15992 */ ) = var←c16664; (void) XR←ImportProcS(var←c16664, 269484289); var←c16664 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string26)), 55); (* (( (ptr) gf←c0248)+65)/* var←c14808 */ ) = var←c16664; (void) XR←ImportProcS(var←c16664, 135013122); (void) XR←ImportProcS(var←c16664, 67637506); (void) XR←ImportProcS(var←c16664, 67899394); (void) XR←ImportProcS(var←c16664, 67636994); (void) XR←ImportProcS(var←c16664, 67899906); var←c16664 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string27)), 11); (* (( (ptr) gf←c0248)+68)/* var←c15704 */ ) = var←c16664; (void) XR←ImportProcS(var←c16664, 67371521); var←c16664 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string28)), 36); (* (( (ptr) gf←c0248)+67)/* var←c15000 */ ) = var←c16664; (void) XR←ImportProcS(var←c16664, 67636482); (void) XR←ImportProcS(var←c16664, 67372289); var←c16664 = (word) XR←ImportInterface((word) "Vector2", (word) XR←GetTypeIndexS((word) (&string29)), 22); (* (( (ptr) gf←c0248)+64)/* var←c14776 */ ) = var←c16664; (void) XR←ImportProcS(var←c16664, 134743041); var←c16664 = (word) XR←ExportInterface((word) "BiScrollersTransforms", (word) XR←GetTypeIndexS((word) (&string30)), 7); (* (( (ptr) gf←c0248)+70)/* var←c16696 */ ) = var←c16664; (void) XR←ExportProcS(var←c16664, (word) (( (bPt) gf←c0248)+240)/* var←c14680 */ , 69730311); (void) XR←ExportProcS(var←c16664, (word) (( (bPt) gf←c0248)+208)/* var←c14552 */ , 69206278); (void) XR←ExportProcS(var←c16664, (word) (( (bPt) gf←c0248)+200)/* var←c14520 */ , 67895811); (void) XR←ExportProcS(var←c16664, (word) (( (bPt) gf←c0248)+192)/* var←c14488 */ , 70779658); (void) XR←ExportProcS(var←c16664, (word) (( (bPt) gf←c0248)+160)/* var←c14360 */ , 70255622); (void) XR←ExportProcS(var←c16664, (word) (( (bPt) gf←c0248)+152)/* var←c14328 */ , 69207304); (void) XR←ExportProcS(var←c16664, (word) (( (bPt) gf←c0248)+104)/* var←c14136 */ , 70256139); } static void BiScrollersTransformsImpl←P0(formal←c031, formal←c030) word formal←c031; word formal←c030; { /* BiScrollersTransformsImpl: */ } static word Scale←P60(old←v3612, op←v3640, cw←v3668, ch←v3696, pp←v3724, vanilla←v3752, mayStretch←v3780) word old←v3612; W3 op←v3640; word cw←v3668; word ch←v3696; W2 pp←v3724; word vanilla←v3752; word mayStretch←v3780; { register ptr gf←c16728 = (ptr) &globalframe; word new←v3824; W2 cv←v7208; /* Scale: */ SOURCE(690, 682) SOURCE(690, 682) new←v3824 = 0; SOURCE(856, 36) (void) ConstantVector←P120((word) &cv←v7208, cw←v3668, ch←v3696, pp←v3724); SOURCE(894, 33) { W2 var←c14744; { word pd31; pd31 = (* (( (ptr) (* (( (ptr) gf←c16728)+64)/* var←c14776 */ ))+8) ); (void) ( *( (fPt) ((* (ptr) pd31 ))))((word) &var←c14744, cv←v7208, pd31); }; { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c16728)+65)/* var←c14808 */ ))+22) ); new←v3824 = (word) ( *( (fPt) ((* (ptr) pd32 ))))(old←v3612, var←c14744, pd32); }; }; SOURCE(929, 41) if ((vanilla←v3752 == 0)) { SOURCE(951, 19) vanilla←v3752 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c16728)+66)/* var←c14840 */ ))+5) ) ); }; SOURCE(972, 353) { word var←c14872; var←c14872 = op←v3640.f0; switch (var←c14872) { case 0: SOURCE(1001, 203) { W6 v←v7252; word vd←v7280; word od←v7308; SOURCE(1003, 41) { W6 tn←v14088; tn←v14088.f0 = (* (ptr) vanilla←v3752 ); tn←v14088.f1 = (* (( (ptr) vanilla←v3752)+3) ); tn←v14088.f2 = (* (( (ptr) vanilla←v3752)+1) ); tn←v14088.f3 = (* (( (ptr) vanilla←v3752)+4) ); tn←v14088.f4 = (* (( (ptr) vanilla←v3752)+2) ); tn←v14088.f5 = (* (( (ptr) vanilla←v3752)+5) ); v←v7252 = tn←v14088; }; SOURCE(1046, 40) { word x33; word x34; word x35; word x36; *(float*)&vd←v7280 = (( x33 = v←v7252.f0, *(float*)&x33 ) * ( x34 = v←v7252.f3, *(float*)&x34 )) - (( x35 = v←v7252.f1, *(float*)&x35 ) * ( x36 = v←v7252.f2, *(float*)&x36 )); }; SOURCE(1088, 36) { word x37; word x38; word x39; word x40; *(float*)&od←v7308 = (( x37 = (* (ptr) old←v3612 ), *(float*)&x37 ) * ( x38 = (* (( (ptr) old←v3612)+4) ), *(float*)&x38 )) - (( x39 = (* (( (ptr) old←v3612)+3) ), *(float*)&x39 ) * ( x40 = (* (( (ptr) old←v3612)+1) ), *(float*)&x40 )); }; SOURCE(1126, 76) { word var←c14936; { word var←c14968; word var←c0264; word var←c0265; { float tf41; word x42; word x43; float tf44; var←c14968 = ( tf44 = FABS((( /*1*/ x42 = vd←v7280, *(float*)&x42 /*1*/ ) / ( /*1*/ x43 = (word) ZeroProtect←P240(od←v7308), *(float*)&x43 /*1*/ )), tf41), *(word*)&tf44 ); }; { word pd45; pd45 = (* (( (ptr) (* (( (ptr) gf←c16728)+67)/* var←c15000 */ ))+9) ); var←c0264 = (word) ( *( (fPt) ((* (ptr) pd45 ))))(var←c14968, pd45); }; { word x46; *(float*)&var←c0265 = ( x46 = var←c0264, *(float*)&x46 ) * (float)(int)((word) SGN←P180(vd←v7280) - 1); }; { word x47; *(float*)&var←c14936 = ( x47 = var←c0265, *(float*)&x47 ) * (float)(int)((word) SGN←P180(od←v7308) - 1); }; }; { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf←c16728)+65)/* var←c14808 */ ))+19) ); new←v3824 = (word) ( *( (fPt) ((* (ptr) pd48 ))))(new←v3824, var←c14936, pd48); }; }; }; break; case 1: SOURCE(1216, 24) { word pd49; pd49 = (* (( (ptr) (* (( (ptr) gf←c16728)+65)/* var←c14808 */ ))+19) ); new←v3824 = (word) ( *( (fPt) ((* (ptr) pd49 ))))(new←v3824, op←v3640.f1, pd49); }; break; case 2: SOURCE(1250, 75) if ((0 != mayStretch←v3780)) { SOURCE(1269, 34) { W2 var←c15032; var←c15032.f0 = op←v3640.f1; var←c15032.f1 = op←v3640.f2; { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c16728)+65)/* var←c14808 */ ))+20) ); new←v3824 = (word) ( *( (fPt) ((* (ptr) pd50 ))))(new←v3824, var←c15032, pd50); }; }; } else { SOURCE(1303, 22) { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf←c16728)+65)/* var←c14808 */ ))+19) ); new←v3824 = (word) ( *( (fPt) ((* (ptr) pd51 ))))(new←v3824, op←v3640.f1, pd51); }; }; break; default: SOURCE(1338, 5) (void) XR←RaiseUnnamedError(); break; }; }; SOURCE(1345, 27) { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c16728)+65)/* var←c14808 */ ))+22) ); new←v3824 = (word) ( *( (fPt) ((* (ptr) pd52 ))))(new←v3824, cv←v7208, pd52); }; SOURCE(690, 682) return(new←v3824); } static void ConstantVector←P120(formal←c056, cw←v3884, ch←v3912, pp←v3940) word formal←c056; word cw←v3884; word ch←v3912; W2 pp←v3940; { W2 cv←v3984; /* ConstantVector: */ SOURCE(1378, 105) SOURCE(1458, 25) { word x53; word x54; *(float*)&cv←v3984.f0 = ( x53 = cw←v3884, *(float*)&x53 ) * ( x54 = pp←v3940.f0, *(float*)&x54 ); }; { word x55; word x56; *(float*)&cv←v3984.f1 = ( x55 = ch←v3912, *(float*)&x55 ) * ( x56 = pp←v3940.f1, *(float*)&x56 ); }; /* removed tail goto */ (* (W2Pt) formal←c056 ) = cv←v3984; return; } static word SGN←P180(r←v4044) word r←v4044; { word sgn←v4088; /* SGN: */ SOURCE(1489, 113) SOURCE(1538, 64) { word var←c15064; var←c15064 = r←v4044; { word x57; word x59; word x60; word x61; word x62; word x63; word idx64; sgn←v4088 = ( idx64 = (word) ( ( (( x57 = var←c15064, *(float*)&x57 ) < ( x59 = (* (ptr) &fc58 ), *(float*)&x59 )) ? (word) -1 : ( (( x60 = var←c15064, *(float*)&x60 ) == ( x61 = (* (ptr) &fc58 ), *(float*)&x61 )) ? 0 : ( (( x62 = var←c15064, *(float*)&x62 ) > ( x63 = (* (ptr) &fc58 ), *(float*)&x63 )) ? 1 : ( XR←RaiseUnnamedError(), 0 ) ) ) ) + 1), BCK(idx64, 3) ); }; }; SOURCE(1489, 113) return(sgn←v4088); } static word ZeroProtect←P240(r←v4168) word r←v4168; { word r0←v4212; /* ZeroProtect: */ SOURCE(1606, 81) SOURCE(1656, 31) { word x65; word x66; if ((( x65 = r←v4168, *(float*)&x65 ) == ( x66 = (* (ptr) &fc58 ), *(float*)&x66 ))) { r0←v4212 = (* (ptr) &fc67 ); } else { r0←v4212 = r←v4168; }; }; SOURCE(1606, 81) return(r0←v4212); } static word Rotate←P300(old←v4272, op←v4300, cw←v4328, ch←v4356, pp←v4384, vanilla←v4412) word old←v4272; W2 op←v4300; word cw←v4328; word ch←v4356; W2 pp←v4384; word vanilla←v4412; { register ptr gf←c16760 = (ptr) &globalframe; word new←v4456; W2 cv←v7352; /* Rotate: */ SOURCE(1691, 478) SOURCE(1691, 478) new←v4456 = 0; SOURCE(1833, 36) (void) ConstantVector←P120((word) &cv←v7352, cw←v4328, ch←v4356, pp←v4384); SOURCE(1871, 33) { W2 var←c15096; { word pd68; pd68 = (* (( (ptr) (* (( (ptr) gf←c16760)+64)/* var←c14776 */ ))+8) ); (void) ( *( (fPt) ((* (ptr) pd68 ))))((word) &var←c15096, cv←v7352, pd68); }; { word pd69; pd69 = (* (( (ptr) (* (( (ptr) gf←c16760)+65)/* var←c14808 */ ))+22) ); new←v4456 = (word) ( *( (fPt) ((* (ptr) pd69 ))))(old←v4272, var←c15096, pd69); }; }; SOURCE(1906, 216) { word var←c15128; var←c15128 = op←v4300.f0; if ((var←c15128 == 0)) { SOURCE(1935, 150) { W6 v←v7396; SOURCE(1937, 41) { W6 tn←v14040; tn←v14040.f0 = (* (ptr) vanilla←v4412 ); tn←v14040.f1 = (* (( (ptr) vanilla←v4412)+3) ); tn←v14040.f2 = (* (( (ptr) vanilla←v4412)+1) ); tn←v14040.f3 = (* (( (ptr) vanilla←v4412)+4) ); tn←v14040.f4 = (* (( (ptr) vanilla←v4412)+2) ); tn←v14040.f5 = (* (( (ptr) vanilla←v4412)+5) ); v←v7396 = tn←v14040; }; SOURCE(1980, 103) { word var←c15192; { word pd70; word x71; word pd72; word x73; pd70 = (* (( (ptr) (* (( (ptr) gf←c16760)+67)/* var←c15000 */ ))+17) ); pd72 = (* (( (ptr) (* (( (ptr) gf←c16760)+67)/* var←c15000 */ ))+17) ); *(float*)&var←c15192 = ( x71 = (word) ( *( (fPt) ((* (ptr) pd70 ))))(v←v7396.f1, v←v7396.f0, pd70), *(float*)&x71 ) - ( x73 = (word) ( *( (fPt) ((* (ptr) pd72 ))))((* (( (ptr) old←v4272)+3) ), (* (ptr) old←v4272 ), pd72), *(float*)&x73 ); }; { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf←c16760)+65)/* var←c14808 */ ))+21) ); new←v4456 = (word) ( *( (fPt) ((* (ptr) pd74 ))))(new←v4456, var←c15192, pd74); }; }; }; } else { if ((var←c15128 == 1)) { SOURCE(2097, 25) { word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf←c16760)+65)/* var←c14808 */ ))+21) ); new←v4456 = (word) ( *( (fPt) ((* (ptr) pd75 ))))(new←v4456, op←v4300.f1, pd75); }; } else { SOURCE(2135, 5) (void) XR←RaiseUnnamedError(); }; }; }; SOURCE(2142, 27) { word pd76; pd76 = (* (( (ptr) (* (( (ptr) gf←c16760)+65)/* var←c14808 */ ))+22) ); new←v4456 = (word) ( *( (fPt) ((* (ptr) pd76 ))))(new←v4456, cv←v7352, pd76); }; SOURCE(1691, 478) return(new←v4456); } static word Shift←P360(old←v4516, dx←v4544, dy←v4572) word old←v4516; word dx←v4544; word dy←v4572; { register ptr gf←c16792 = (ptr) &globalframe; word new←v4616; /* Shift: */ SOURCE(2175, 112) SOURCE(2175, 112) new←v4616 = 0; SOURCE(2254, 33) { W2 var←c15224; var←c15224.f0 = dx←v4544; var←c15224.f1 = dy←v4572; { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c16792)+65)/* var←c14808 */ ))+22) ); new←v4616 = (word) ( *( (fPt) ((* (ptr) pd77 ))))(old←v4516, var←c15224, pd77); }; }; SOURCE(2175, 112) return(new←v4616); } static word Align←P420(old←v4676, client←v4704, viewer←v4732, doX←v4760, doY←v4788, cw←v4816, ch←v4844, extremaProc←v4872, clientData←v4900, ageOp←v4928) word old←v4676; W3 client←v4704; W3 viewer←v4732; word doX←v4760; word doY←v4788; word cw←v4816; word ch←v4844; word extremaProc←v4872; word clientData←v4900; word ageOp←v4928; { W6 var←c16824; register ptr gf←c16856 = (ptr) &globalframe; word new←v4988; /* declaration of var←c15256 skipped */ W2 from←v7440; W2 to←v7468; /* Align: */ SOURCE(2293, 870) { word tmpAddr78; tmpAddr78 = (word) (( (ptr) &var←c16824)+4)/* var←c15256 */ ; (* (ptr) tmpAddr78 ) = ( ((word) (fPt) Blend←P1236) ); (* (( (ptr) tmpAddr78) + 1) ) = 1; }; SOURCE(2293, 870) new←v4988 = 0; SOURCE(2489, 26) from←v7440.f0 = (* (ptr) &fc58 ); from←v7440.f1 = (* (ptr) &fc58 ); to←v7468 = from←v7440; SOURCE(2596, 324) { word var←c15320; var←c15320 = client←v4704.f0; if ((var←c15320 == 0)) { SOURCE(2629, 28) { W2 var←c098; { W2 var←c15352; var←c15352.f0 = client←v4704.f1; var←c15352.f1 = client←v4704.f2; { word pd79; pd79 = (* (( (ptr) (* (( (ptr) gf←c16856)+65)/* var←c14808 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd79 ))))((word) &var←c098, old←v4676, var←c15352, pd79); }; }; from←v7440 = var←c098; }; } else { if ((var←c15320 == 1)) { SOURCE(2671, 254) { word vmin←v7700; word vmax←v7728; SOURCE(2691, 112) if ((0 != doX←v4760)) { SOURCE(2705, 66) { W2 var←c15384; (void) ViewLimitsOfImage2←P540((word) &var←c15384, old←v4676, extremaProc←v4872, clientData←v4900, 0); vmax←v7728 = var←c15384.f1; vmin←v7700 = var←c15384.f0; }; SOURCE(2773, 30) from←v7440.f0 = (word) Blend←P1236(client←v4704.f1, vmin←v7700, vmax←v7728, (word) (( (bPt) &var←c16824)+16)/* var←c15256 */ ) ; }; SOURCE(2808, 112) if ((0 != doY←v4788)) { SOURCE(2822, 66) { W2 var←c15416; (void) ViewLimitsOfImage2←P540((word) &var←c15416, old←v4676, extremaProc←v4872, clientData←v4900, 1); vmax←v7728 = var←c15416.f1; vmin←v7700 = var←c15416.f0; }; SOURCE(2890, 30) from←v7440.f1 = (word) Blend←P1236(client←v4704.f2, vmin←v7700, vmax←v7728, (word) (( (bPt) &var←c16824)+16)/* var←c15256 */ ) ; }; }; } else { SOURCE(2939, 5) (void) XR←RaiseUnnamedError(); }; }; }; SOURCE(2946, 79) { word var←c15448; var←c15448 = viewer←v4732.f0; if ((var←c15448 == 0)) { SOURCE(2979, 11) to←v7468.f0 = viewer←v4732.f1; to←v7468.f1 = viewer←v4732.f2; } else { if ((var←c15448 == 1)) { SOURCE(3006, 19) { word x80; word x81; *(float*)&to←v7468.f0 = ( x80 = viewer←v4732.f1, *(float*)&x80 ) * ( x81 = cw←v4816, *(float*)&x81 ); }; { word x82; word x83; *(float*)&to←v7468.f1 = ( x82 = viewer←v4732.f2, *(float*)&x82 ) * ( x83 = ch←v4844, *(float*)&x83 ); }; } else { SOURCE(3041, 5) (void) XR←RaiseUnnamedError(); }; }; }; SOURCE(3048, 29) if ((0 == doX←v4760)) { SOURCE(3064, 13) to←v7468.f0 = from←v7440.f0; }; SOURCE(3079, 29) if ((0 == doY←v4788)) { SOURCE(3095, 13) to←v7468.f1 = from←v7440.f1; }; SOURCE(3110, 53) { word var←c15480; { W2 var←c15512; { word pd84; pd84 = (* (( (ptr) (* (( (ptr) gf←c16856)+64)/* var←c14776 */ ))+8) ); (void) ( *( (fPt) ((* (ptr) pd84 ))))((word) &var←c15512, from←v7440, pd84); }; { word pd85; pd85 = (* (( (ptr) (* (( (ptr) gf←c16856)+65)/* var←c14808 */ ))+22) ); var←c15480 = (word) ( *( (fPt) ((* (ptr) pd85 ))))(old←v4676, var←c15512, pd85); }; }; { word pd86; pd86 = (* (( (ptr) (* (( (ptr) gf←c16856)+65)/* var←c14808 */ ))+22) ); new←v4988 = (word) ( *( (fPt) ((* (ptr) pd86 ))))(var←c15480, to←v7468, pd86); }; }; SOURCE(2293, 870) return(new←v4988); } static word Blend←P1236(a←v7572, b0←v7600, b1←v7628, formal←c16888) word a←v7572; word b0←v7600; word b1←v7628; word formal←c16888; { word c←v7672; formal←c16888 = (formal←c16888 - 16); /* Blend: */ SOURCE(2517, 76) SOURCE(2574, 19) { word x87; word x88; word x89; word x90; word x91; *(float*)&c←v7672 = ((( x87 = (* (ptr) &fc67 ), *(float*)&x87 ) - ( x88 = a←v7572, *(float*)&x88 )) * ( x89 = b0←v7600, *(float*)&x89 )) + (( x90 = a←v7572, *(float*)&x90 ) * ( x91 = b1←v7628, *(float*)&x91 )); }; SOURCE(2517, 76) return(c←v7672); } static void ViewLimitsOfImage←P480(formal←c0122, t←v5048, min←v5076, max←v5104, axis←v5132) word formal←c0122; word t←v5048; W2 min←v5076; W2 max←v5104; word axis←v5132; { register ptr gf←c16920 = (ptr) &globalframe; word vmin←v5176; word vmax←v5204; /* ViewLimitsOfImage: */ SOURCE(3169, 229) SOURCE(3266, 22) { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c16920)+65)/* var←c14808 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd92 ))))((word) &min←v5076, t←v5048, min←v5076, pd92); }; SOURCE(3290, 22) { word pd93; pd93 = (* (( (ptr) (* (( (ptr) gf←c16920)+65)/* var←c14808 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd93 ))))((word) &max←v5104, t←v5048, max←v5104, pd93); }; SOURCE(3314, 84) { word var←c15544; var←c15544 = axis←v5132; if ((var←c15544 == 0)) { SOURCE(3337, 12) vmin←v5176 = min←v5076.f0; SOURCE(3351, 12) vmax←v5204 = max←v5104.f0; } else { if ((var←c15544 == 1)) { SOURCE(3372, 12) vmin←v5176 = min←v5076.f1; SOURCE(3386, 12) vmax←v5204 = max←v5104.f1; } else { SOURCE(3412, 5) (void) XR←RaiseUnnamedError(); }; }; }; /* removed tail goto */ (* (ptr) formal←c0122 ) = vmin←v5176; (* (( (ptr) formal←c0122)+1) ) = vmax←v5204; return; } static void ViewLimitsOfImage2←P540(formal←c0140, t←v5264, extremaProc←v5292, clientData←v5320, axis←v5348) word formal←c0140; word t←v5264; word extremaProc←v5292; word clientData←v5320; word axis←v5348; { register ptr gf←c16952 = (ptr) &globalframe; word vmin←v5404; word vmax←v5432; W6 tn←v7772; W2 norm←v7800; W2 min←v7828; W2 max←v7856; /* ViewLimitsOfImage2: */ SOURCE(3423, 460) SOURCE(3549, 36) { W6 tn←v13992; tn←v13992.f0 = (* (ptr) t←v5264 ); tn←v13992.f1 = (* (( (ptr) t←v5264)+3) ); tn←v13992.f2 = (* (( (ptr) t←v5264)+1) ); tn←v13992.f3 = (* (( (ptr) t←v5264)+4) ); tn←v13992.f4 = (* (( (ptr) t←v5264)+2) ); tn←v13992.f5 = (* (( (ptr) t←v5264)+5) ); tn←v7772 = tn←v13992; }; SOURCE(3608, 79) { word var←c15608; var←c15608 = axis←v5348; if ((var←c15608 == 0)) { SOURCE(3630, 25) norm←v7800.f0 = tn←v7772.f0; norm←v7800.f1 = tn←v7772.f2; } else { if ((var←c15608 == 1)) { SOURCE(3662, 25) norm←v7800.f0 = tn←v7772.f1; norm←v7800.f1 = tn←v7772.f3; } else { SOURCE(3700, 5) (void) XR←RaiseUnnamedError(); }; }; }; SOURCE(3707, 42) { W4 var←c15640; (void) ( *( (fPt) ((* (ptr) extremaProc←v5292 ))))((word) &var←c15640, clientData←v5320, norm←v7800, extremaProc←v5292); max←v7856 = (* (W2Pt) (( (ptr) &var←c15640)+2) ); min←v7828 = (* (W2Pt) &var←c15640 ); }; SOURCE(3751, 22) { word pd94; pd94 = (* (( (ptr) (* (( (ptr) gf←c16952)+65)/* var←c14808 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd94 ))))((word) &min←v7828, t←v5264, min←v7828, pd94); }; SOURCE(3775, 22) { word pd95; pd95 = (* (( (ptr) (* (( (ptr) gf←c16952)+65)/* var←c14808 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd95 ))))((word) &max←v7856, t←v5264, max←v7856, pd95); }; SOURCE(3799, 84) { word var←c15672; var←c15672 = axis←v5348; if ((var←c15672 == 0)) { SOURCE(3822, 12) vmin←v5404 = min←v7828.f0; SOURCE(3836, 12) vmax←v5432 = max←v7856.f0; } else { if ((var←c15672 == 1)) { SOURCE(3857, 12) vmin←v5404 = min←v7828.f1; SOURCE(3871, 12) vmax←v5432 = max←v7856.f1; } else { SOURCE(3897, 5) (void) XR←RaiseUnnamedError(); }; }; }; /* removed tail goto */ (* (ptr) formal←c0140 ) = vmin←v5404; (* (( (ptr) formal←c0140)+1) ) = vmax←v5432; return; } static word Round←P600(r←v5492) word r←v5492; { register ptr gf←c16984 = (ptr) &globalframe; word rr←v5536; word i←v7900; /* Round: */ SOURCE(3908, 110) SOURCE(3953, 22) { word pd96; pd96 = (* (( (ptr) (* (( (ptr) gf←c16984)+68)/* var←c15704 */ ))+6) ); i←v7900 = (word) ( *( (fPt) ((* (ptr) pd96 ))))(r←v5492, pd96); }; SOURCE(3977, 41) { word x97; word x98; float tf99; if (( (unsigned) ( (int)i←v7900 == (int)0) != (unsigned) (( x97 = r←v5492, *(float*)&x97 ) == ( x98 = (* (ptr) &fc58 ), *(float*)&x98 )))) { rr←v5536 = r←v5492; } else { rr←v5536 = ( tf99 = (float)(int)i←v7900, *(word*)&tf99 ); }; }; SOURCE(3908, 110) return(rr←v5536); } static word BoxScale←P660(old←v5596, from←v5624, to←v5652, uniformly←v5680, mayStretch←v5708, preferIntegerCoefficients←v5736) word old←v5596; W4 from←v5624; W4 to←v5652; word uniformly←v5680; word mayStretch←v5708; word preferIntegerCoefficients←v5736; { register ptr gf←c17016 = (ptr) &globalframe; word new←v5780; word ndx←v7944; word ndy←v7972; word odx←v8000; word ody←v8028; word sx←v8056; word sy←v8084; /* BoxScale: */ SOURCE(4024, 665) SOURCE(4024, 665) new←v5780 = 0; SOURCE(4258, 70) { W2 var←c15736; { word x100; word x101; word x103; *(float*)&var←c15736.f0 = - (( x100 = from←v5624.f0, *(float*)&x100 ) + (( x101 = from←v5624.f2, *(float*)&x101 ) / ( x103 = (* (ptr) &fc102 ), *(float*)&x103 ))); }; { word x104; word x105; word x106; *(float*)&var←c15736.f1 = - (( x104 = from←v5624.f1, *(float*)&x104 ) + (( x105 = from←v5624.f3, *(float*)&x105 ) / ( x106 = (* (ptr) &fc102 ), *(float*)&x106 ))); }; { word pd107; pd107 = (* (( (ptr) (* (( (ptr) gf←c17016)+65)/* var←c14808 */ ))+22) ); new←v5780 = (word) ( *( (fPt) ((* (ptr) pd107 ))))(old←v5596, var←c15736, pd107); }; }; SOURCE(4330, 10) ndx←v7944 = to←v5652.f2; SOURCE(4342, 10) ndy←v7972 = to←v5652.f3; SOURCE(4354, 12) odx←v8000 = from←v5624.f2; SOURCE(4368, 12) ody←v8028 = from←v5624.f3; SOURCE(4382, 42) { word x108; word x109; word x110; word x111; word x112; word x113; if ((( x108 = ndx←v7944, *(float*)&x108 ) == ( x109 = (* (ptr) &fc58 ), *(float*)&x109 )) || (( x110 = odx←v8000, *(float*)&x110 ) == ( x111 = (* (ptr) &fc58 ), *(float*)&x111 ))) { sx←v8056 = (* (ptr) &fc67 ); } else { *(float*)&sx←v8056 = ( x112 = ndx←v7944, *(float*)&x112 ) / ( x113 = odx←v8000, *(float*)&x113 ); }; }; SOURCE(4426, 42) { word x114; word x115; word x116; word x117; word x118; word x119; if ((( x114 = ndy←v7972, *(float*)&x114 ) == ( x115 = (* (ptr) &fc58 ), *(float*)&x115 )) || (( x116 = ody←v8028, *(float*)&x116 ) == ( x117 = (* (ptr) &fc58 ), *(float*)&x117 ))) { sy←v8084 = (* (ptr) &fc67 ); } else { *(float*)&sy←v8084 = ( x118 = ndy←v7972, *(float*)&x118 ) / ( x119 = ody←v8028, *(float*)&x119 ); }; }; SOURCE(4470, 57) if ((0 != uniformly←v5680) || (0 == mayStretch←v5708)) { SOURCE(4506, 21) { word var←c15768; { word x120; float tf121; float tf122; word x123; float tf124; var←c15768 = ( tf124 = FMIN(( x120 = sx←v8056, *(float*)&x120 ), ( x123 = sy←v8084, *(float*)&x123 ), tf121, tf122), *(word*)&tf124 ); }; sy←v8084 = var←c15768; sx←v8056 = var←c15768; }; }; SOURCE(4529, 65) if ((0 != preferIntegerCoefficients←v5736)) { SOURCE(4564, 14) sx←v8056 = (word) Round←P600(sx←v8056); SOURCE(4580, 14) sy←v8084 = (word) Round←P600(sy←v8084); }; SOURCE(4597, 30) { W2 var←c15800; var←c15800.f0 = sx←v8056; var←c15800.f1 = sy←v8084; { word pd125; pd125 = (* (( (ptr) (* (( (ptr) gf←c17016)+65)/* var←c14808 */ ))+20) ); new←v5780 = (word) ( *( (fPt) ((* (ptr) pd125 ))))(new←v5780, var←c15800, pd125); }; }; SOURCE(4629, 60) { W2 var←c15832; { word x126; word x127; word x128; *(float*)&var←c15832.f0 = ( x126 = to←v5652.f0, *(float*)&x126 ) + (( x127 = to←v5652.f2, *(float*)&x127 ) / ( x128 = (* (ptr) &fc102 ), *(float*)&x128 )); }; { word x129; word x130; word x131; *(float*)&var←c15832.f1 = ( x129 = to←v5652.f1, *(float*)&x129 ) + (( x130 = to←v5652.f3, *(float*)&x130 ) / ( x131 = (* (ptr) &fc102 ), *(float*)&x131 )); }; { word pd132; pd132 = (* (( (ptr) (* (( (ptr) gf←c17016)+65)/* var←c14808 */ ))+22) ); new←v5780 = (word) ( *( (fPt) ((* (ptr) pd132 ))))(new←v5780, var←c15832, pd132); }; }; SOURCE(4024, 665) return(new←v5780); } static word Fit←P720(old←v5840, uniformly←v5868, cw←v5896, ch←v5924, extremaProc←v5952, clientData←v5980, mayStretch←v6008, preferIntegerCoefficients←v6036) word old←v5840; word uniformly←v5868; word cw←v5896; word ch←v5924; word extremaProc←v5952; word clientData←v5980; word mayStretch←v6008; word preferIntegerCoefficients←v6036; { register ptr gf←c17048 = (ptr) &globalframe; word new←v6092; W2 normX←v8128; W2 normY←v8156; W2 minX←v8184; W2 maxX←v8212; W2 minY←v8240; W2 maxY←v8268; W4 limits←v8296; W4 from←v8324; W4 to←v8352; /* Fit: */ SOURCE(4749, 706) SOURCE(4749, 706) new←v6092 = 0; SOURCE(4952, 25) (void) Norm←P780((word) &normX←v8128, old←v5840, 0); SOURCE(4979, 25) (void) Norm←P780((word) &normY←v8156, old←v5840, 1); SOURCE(5082, 45) { W4 var←c15864; (void) ( *( (fPt) ((* (ptr) extremaProc←v5952 ))))((word) &var←c15864, clientData←v5980, normX←v8128, extremaProc←v5952) ; maxX←v8212 = (* (W2Pt) (( (ptr) &var←c15864)+2) ); minX←v8184 = (* (W2Pt) &var←c15864 ); }; SOURCE(5129, 45) { W4 var←c15896; (void) ( *( (fPt) ((* (ptr) extremaProc←v5952 ))))((word) &var←c15896, clientData←v5980, normY←v8156, extremaProc←v5952) ; maxY←v8268 = (* (W2Pt) (( (ptr) &var←c15896)+2) ); minY←v8240 = (* (W2Pt) &var←c15896 ); }; SOURCE(5176, 66) { W2 var←c15928; (void) ViewLimitsOfImage←P480((word) &var←c15928, old←v5840, minX←v8184, maxX←v8212, 0); limits←v8296.f2 = var←c15928.f1; limits←v8296.f0 = var←c15928.f0; }; SOURCE(5244, 66) { W2 var←c15960; (void) ViewLimitsOfImage←P480((word) &var←c15960, old←v5840, minY←v8240, maxY←v8268, 1); limits←v8296.f3 = var←c15960.f1; limits←v8296.f1 = var←c15960.f0; }; SOURCE(5312, 41) { word pd133; pd133 = (* (( (ptr) (* (( (ptr) gf←c17048)+69)/* var←c15992 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd133 ))))((word) &from←v8324, limits←v8296, pd133); }; SOURCE(5355, 19) to←v8352.f0 = (* (ptr) &fc58 ); to←v8352.f1 = (* (ptr) &fc58 ); to←v8352.f2 = cw←v5896; to←v8352.f3 = ch←v5924; SOURCE(5376, 79) new←v6092 = (word) BoxScale←P660(old←v5840, from←v8324, to←v8352, uniformly←v5868, mayStretch←v6008, preferIntegerCoefficients←v6036) ; SOURCE(4749, 706) return(new←v6092); } static void Norm←P780(formal←c0196, t←v6152, axis←v6180) word formal←c0196; word t←v6152; word axis←v6180; { W2 norm←v6224; W6 tn←v8396; /* Norm: */ SOURCE(5461, 179) SOURCE(5523, 36) { W6 tn←v13944; tn←v13944.f0 = (* (ptr) t←v6152 ); tn←v13944.f1 = (* (( (ptr) t←v6152)+3) ); tn←v13944.f2 = (* (( (ptr) t←v6152)+1) ); tn←v13944.f3 = (* (( (ptr) t←v6152)+4) ); tn←v13944.f4 = (* (( (ptr) t←v6152)+2) ); tn←v13944.f5 = (* (( (ptr) t←v6152)+5) ); tn←v8396 = tn←v13944; }; SOURCE(5561, 79) { word var←c16056; var←c16056 = axis←v6180; if ((var←c16056 == 0)) { SOURCE(5583, 25) norm←v6224.f0 = tn←v8396.f0; norm←v6224.f1 = tn←v8396.f2; } else { if ((var←c16056 == 1)) { SOURCE(5615, 25) norm←v6224.f0 = tn←v8396.f1; norm←v6224.f1 = tn←v8396.f3; } else { SOURCE(5653, 5) (void) XR←RaiseUnnamedError(); }; }; }; /* removed tail goto */ (* (W2Pt) formal←c0196 ) = norm←v6224; return; } static void BeVec←P840(formal←c0200, ra←v6284) word formal←c0200; word ra←v6284; { register ptr gf←c17080 = (ptr) &globalframe; W2 var←c6340; /* BeVec: */ SOURCE(5664, 72) SOURCE(5707, 29) var←c6340 = (* (W2Pt) XR←Narrow(ra←v6284, (* (( (ptr) gf←c17080)+4) )) ); /* removed tail goto */ (* (W2Pt) formal←c0200 ) = var←c6340; return; } static word BeReal←P900(ra←v6400) word ra←v6400; { register ptr gf←c17112 = (ptr) &globalframe; word var←c6456; /* BeReal: */ SOURCE(5739, 75) SOURCE(5784, 30) return((* (ptr) XR←Narrow(ra←v6400, (* (( (ptr) gf←c17112)+5) )) )); } static void BeRect←P960(formal←c0206, ra←v6516) word formal←c0206; word ra←v6516; { register ptr gf←c17144 = (ptr) &globalframe; W4 var←c6572; /* BeRect: */ SOURCE(5817, 75) SOURCE(5862, 30) var←c6572 = (* (W4Pt) XR←Narrow(ra←v6516, (* (( (ptr) gf←c17144)+6) )) ); /* removed tail goto */ (* (W4Pt) formal←c0206 ) = var←c6572; return; } static word BeBool←P1020(ra←v6632) word ra←v6632; { register ptr gf←c17176 = (ptr) &globalframe; word var←c6688; /* BeBool: */ SOURCE(5895, 117) SOURCE(5940, 72) { word var←c16280; var←c16280 = ra←v6632; if ((var←c16280 == (* (( (ptr) gf←c17176)+25) ))) { return(0); } else { if ((var←c16280 == (* (( (ptr) gf←c17176)+10) ))) { return(1); } else { return( (unsigned) ( XR←RaiseUnnamedError(), 0 )); }; }; }; } static word DoBSUserAction←P1080(old←v6748, input←v6776, cw←v6804, ch←v6832, pp←v6860, vanilla←v6888, previous←v6916, mayStretch←v6944, preferIntegerCoefficients←v6972, extremaProc←v7000, clientData←v7028) word old←v6748; word input←v6776; word cw←v6804; word ch←v6832; W2 pp←v6860; word vanilla←v6888; word previous←v6916; word mayStretch←v6944; word preferIntegerCoefficients←v6972; word extremaProc←v7000; word clientData←v7028; { register ptr gf←c17208 = (ptr) &globalframe; word new←v7180; word age←v8476 = 0; /* DoBSUserAction: */ SOURCE(6016, 1874) SOURCE(6016, 1874) new←v7180 = 0; SOURCE(6315, 9) new←v7180 = old←v6748; SOURCE(6326, 142) { word var←c16312; var←c16312 = (* (ptr) input←v6776 ); if ((var←c16312 == (* (( (ptr) gf←c17208)+11) ))) { SOURCE(6361, 18) input←v6776 = (* (( (ptr) input←v6776)+1) ); goto endif0134; }; if ((var←c16312 == (* (( (ptr) gf←c17208)+12) ))) { SOURCE(6392, 12) age←v8476 = 1; SOURCE(6406, 18) input←v6776 = (* (( (ptr) input←v6776)+1) ); goto endif0134; }; if ((var←c16312 == (* (( (ptr) gf←c17208)+13) ))) { SOURCE(6436, 12) age←v8476 = 1; SOURCE(6450, 18) input←v6776 = (* (( (ptr) input←v6776)+1) ); goto endif0134; }; goto endif0134; endif0134: ; }; SOURCE(6488, 1402) { word var←c16344; var←c16344 = (* (ptr) input←v6776 ); if ((var←c16344 == (* (( (ptr) gf←c17208)+14) ))) { SOURCE(6522, 70) { W2 vec←v8520; SOURCE(6524, 34) (void) BeVec←P840((word) &vec←v8520, (* (ptr) (* (( (ptr) input←v6776)+1) ) )); SOURCE(6560, 30) new←v7180 = (word) Shift←P360(new←v7180, vec←v8520.f0, vec←v8520.f1); }; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+15) ))) { SOURCE(6605, 138) { W2 s←v8564; SOURCE(6606, 32) (void) BeVec←P840((word) &s←v8564, (* (ptr) (* (( (ptr) input←v6776)+1) ) )); SOURCE(6640, 101) { W2 var←c16376; W3 var←c16408; W3 var←c0266; { word tcp136; word x137; word x138; W3 temp139; if ((( x137 = s←v8564.f0, *(float*)&x137 ) == ( x138 = s←v8564.f1, *(float*)&x138 ))) { var←c16376.f0 = 1; var←c16376.f1 = s←v8564.f0; (* (W2Pt) &temp139 ) = var←c16376; (* (( (ptr) &temp139) + 2) ) = 0; tcp136 = (word) &temp139; } else { var←c16408.f0 = 2; var←c16408.f1 = s←v8564.f0; var←c16408.f2 = s←v8564.f1; tcp136 = (word) &var←c16408; }; var←c0266 = (* (W3Pt) tcp136 ); }; new←v7180 = (word) Scale←P60(new←v7180, var←c0266, cw←v6804, ch←v6832, pp←v6860, vanilla←v6888 , mayStretch←v6944); }; }; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+16) ))) { SOURCE(6761, 60) { W3 var←c0267; (* (ptr) (word) &var←c0267 ) = 0; (* (W2Pt) (( (ptr) (word) &var←c0267) + 1) ) = (* (W2Pt) &dummy140 ); new←v7180 = (word) Scale←P60(new←v7180, var←c0267, cw←v6804, ch←v6832, pp←v6860, vanilla←v6888 , mayStretch←v6944); }; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+17) ))) { SOURCE(6834, 73) { word var←c16472; var←c16472 = (word) BeReal←P900((* (ptr) ((* (( (ptr) input←v6776)+1) )) )); { W2 var←c16504; var←c16504.f0 = 1; var←c16504.f1 = var←c16472; new←v7180 = (word) Rotate←P300(new←v7180, var←c16504, cw←v6804, ch←v6832, pp←v6860, vanilla←v6888); }; }; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+18) ))) { SOURCE(6925, 49) { W2 var←c0268; (* (ptr) (word) &var←c0268 ) = 0; (* (( (ptr) (word) &var←c0268) + 1) ) = 0; new←v7180 = (word) Rotate←P300(new←v7180, var←c0268, cw←v6804, ch←v6832, pp←v6860, vanilla←v6888); }; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+19) )) || (var←c16344 == (* (( (ptr) gf←c17208)+20) ))) { SOURCE(7001, 201) { word uniformly←v8608; SOURCE(7003, 98) { word var←c16568; var←c16568 = (* (ptr) input←v6776 ); if ((var←c16568 == (* (( (ptr) gf←c17208)+20) ))) { uniformly←v8608 = 1; } else { if ((var←c16568 == (* (( (ptr) gf←c17208)+19) ))) { uniformly←v8608 = 0; } else { uniformly←v8608 = (unsigned) ( XR←RaiseUnnamedError(), 0 ); }; }; }; SOURCE(7103, 97) new←v7180 = (word) Fit←P720(new←v7180, uniformly←v8608, cw←v6804, ch←v6832, extremaProc←v7000, clientData←v7028 , mayStretch←v6944, preferIntegerCoefficients←v6972); }; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+21) ))) { SOURCE(7217, 13) new←v7180 = vanilla←v6888; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+22) ))) { SOURCE(7247, 385) { W2 client←v8652; W2 viewer←v8680; word doX←v8708; word doY←v8736; SOURCE(7249, 37) (void) BeVec←P840((word) &client←v8652, (* (ptr) (* (( (ptr) input←v6776)+1) ) )); SOURCE(7288, 42) (void) BeVec←P840((word) &viewer←v8680, (* (ptr) (* (( (ptr) (* (( (ptr) input←v6776)+1) ))+1) ) )); SOURCE(7332, 46) doX←v8708 = (word) BeBool←P1020((* (ptr) ((* (( (ptr) (* (( (ptr) (* (( (ptr) input←v6776)+1) ))+1) ))+1) )) )); SOURCE(7380, 51) doY←v8736 = (word) BeBool←P1020((* (ptr) ((* (( (ptr) (* (( (ptr) (* (( (ptr) (* (( (ptr) input←v6776)+1) ))+1) ))+1) ))+1) )) )); SOURCE(7433, 199) { W3 var←c16600; W3 var←c16632; var←c16600.f0 = 1; var←c16600.f1 = client←v8652.f0; var←c16600.f2 = client←v8652.f1; var←c16632.f0 = 1; var←c16632.f1 = viewer←v8680.f0; var←c16632.f2 = viewer←v8680.f1; new←v7180 = (word) Align←P420(new←v7180, var←c16600, var←c16632, doX←v8708, doY←v8736, cw←v6804 , ch←v6832, extremaProc←v7000, clientData←v7028, age←v8476); }; }; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+23) ))) { SOURCE(7648, 216) { W4 from←v8780; W4 to←v8808; word uniformly←v8836; SOURCE(7650, 37) (void) BeRect←P960((word) &from←v8780, (* (ptr) (* (( (ptr) input←v6776)+1) ) )); SOURCE(7689, 40) (void) BeRect←P960((word) &to←v8808, (* (ptr) (* (( (ptr) (* (( (ptr) input←v6776)+1) ))+1) ) )); SOURCE(7731, 52) uniformly←v8836 = (word) BeBool←P1020((* (ptr) ((* (( (ptr) (* (( (ptr) (* (( (ptr) input←v6776)+1) ))+1) ))+1) )) )); SOURCE(7785, 79) new←v7180 = (word) BoxScale←P660(new←v7180, from←v8780, to←v8808, uniformly←v8836, mayStretch←v6944, preferIntegerCoefficients←v6972) ; }; goto endif0135; }; if ((var←c16344 == (* (( (ptr) gf←c17208)+24) ))) { SOURCE(7876, 14) new←v7180 = previous←v6916; goto endif0135; }; SOURCE(7903, 5) (void) XR←RaiseUnnamedError(); goto endif0135; endif0135: ; }; SOURCE(6016, 1874) return(new←v7180); } /* file: BiScrollersTransformsImpl, module: BiScrollersTransformsImpl, compiled at: March 19, 1993 5:48:04 pm PST */ extern void XR←install←BiScrollersTransformsImpl() { XR←FillWords(&dummy140, 2, 0); NoName←Q1836(); } extern void XR←run←BiScrollersTransformsImpl() { XR←Start(&globalframe); }