/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: February 5, 1993 2:05:58 pm PST */ /* C2C version: October 7, 1992 (native) */ /* ref-counting: off */ /* file: GGSegmentImplA, module: GGSegmentImplA */ /* switches: bcfhklnouw */ #include #include static char versionStamp[] = "@(#)mob_version [1437427825,2755230924] GGSegmentImplA"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef struct {W8 f; W5 r;} W13; typedef W8 *W8Pt; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {W8 f; W8 r;} W16; typedef W6 *W6Pt; typedef struct {word f0, f1, f2;} W3; typedef struct {W8 f; word r;} W9; #define SOURCE(p, l) /* source p, l */ static float fc70 = 2.0; static float fc78 = 0.0; #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR_RaiseBoundsFault()) : (idx) ) static float fc115 = -1.0; #define FMIN(x, y, tx, ty) ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty ) #define FMAX(x, y, tx, ty) ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty ) static float fc156 = 0.707106816; static float fc158 = 1.0; static float fc182 = 0.9999; #define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR_RaiseArithmeticFault(): i ) static float fc513 = 8608.12; static float fc521 = 8607.22; static float fc699 = 0.5; static void NoName_Q9660(); static void GGSegmentImplA_P0(); static void RegisterSegmentClass_P60(); static word FetchSegmentClass_P120(); static word CopySegment_P180(); static void CopyLooks_P240(); static void SetDefaults_P300(); static word SameLooks_P360(); static word SameShape_P420(); static word EqualSequence_P480(); static void ReverseSegment_P540(); static void OpenUpSegment_P600(); static void TransformSegment_P660(); static void TranslateSegment_P720(); static void MoveEndPointSegment_P780(); static void DrawLine_P840(); static void EdgePathProc_P7212(); static word PatternProc_P7272(); static word BuildConicClass_P900(); static void ConicSetStrokeWidth_P960(); static word MakeConic_P1020(); static void ConicGetParams_P1080(); static void ConicSetRatio_P1140(); static void ConicSetControlPoint_P1200(); static word ConicBoundBox_P1260(); static word ConicTightBox_P1320(); static word ConicSameShape_P1380(); static void UpdateConicBoundBox_P1440(); static word ConicCopyData_P1500(); static void ConicReverse_P1560(); static void ConicBuildPath_P1620(); static void ConicBuildPathTransform_P1680(); static void ConicTransform_P1740(); static void ConicEndPointMoved_P1800(); static void ConicControlPointMoved_P1860(); static void TransformEndPoints_P1920(); static word ConicDescribe_P1980(); static void ConicFileOut_P2040(); static word ConicFileIn_P2100(); static void ConicFieldSet_P2160(); static word ConicFieldGet_P2220(); static void ConicControlPointGet_P2280(); static word ConicControlPointCount_P2340(); static void ConicClosestControlPoint_P2400(); static word ConicAsPolyline_P2460(); static word ConicPolyline_P2640(); static word BuildBezierClass_P2700(); static void BZSetStrokeWidth_P2760(); static word MakeBezier_P2820(); static void BezierGetParams_P2880(); static word BZBoundBox_P2940(); static word BZTightBox_P3000(); static void UpdateBZBoundBox_P3060(); static word BZCopyData_P3120(); static void BZReverse_P3180(); static void BZTransform_P3240(); static void BZEndPointMoved_P3300(); static void BZControlPointMoved_P3360(); static void BZControlPointMovedTo_P3420(); static void BZBuildPathTransform_P3480(); static void NoName_Q7524(); static void BZTransformPath_P3540(); static void BZSpecialTransformPath_P3600(); static void NoName_Q7680(); static void BZRestorePath_P3660(); static void BZControlPointGet_P3720(); static word BZControlPointCount_P3780(); static void BZFieldSet_P3840(); static word BZFieldGet_P3900(); static void BZClosestControlPoint_P3960(); static word BZAsSimpleCurve_P4020(); static word BZAsPolyline_P4080(); static void BZJointNormal_P4140(); static void BZAddJoint_P4200(); static word BZDescribe_P4260(); static void BZFileOut_P4320(); static word BZFileIn_P4380(); static word BuildCubicSplineClass_P4440(); static word CSSameShape_P4500(); static void CSSetStrokeWidth_P4560(); static word MakeCubicSpline_P4620(); static word CubicSplineGetParams_P4680(); static word CSBoundBox_P4740(); static word CSTightBox_P4800(); static void UpdateCSBoundBox_P4860(); static word CSCopyData_P4920(); static void CSReverse_P4980(); static void CSBuildPathTransform_P5040(); static void NoName_Q7932(); static void CSTransform_P5100(); static void CSEndPointMoved_P5160(); static void CSControlPointMoved_P5220(); static word CSDescribe_P5280(); static void CSFileOut_P5340(); static word CSFileIn_P5400(); static void CSFieldSet_P5460(); static word CSFieldGet_P5520(); static void CSControlPointGet_P5580(); static word CSControlPointCount_P5640(); static void CSClosestControlPoint_P5700(); static word CSAsPolyline_P5760(); static void CSCPNormal_P5820(); static void CSJointNormal_P5880(); static void CSAddJoint_P5940(); static word CSControlPointAdd_P6000(); static word CSControlPointDelete_P6060(); static word CountSelected_P8856(); static void CSControlPointSet_P6120(); static void CSEndPointSet_P6180(); static void CurveBoundBox_P6240(); static void CurveBuildPath_P6300(); static void NoName_Q9012(); static void CurveClosestPoint_P6360(); static word PointIsInBox_P6420(); static void KnotBoundBox_P6480(); static void FPToPoint_P6540(); static void PointToFP_P6600(); static word FindNearestPath_P6660(); static word PathNumToCPIndex_P6720(); static word GetPath_P6780(); static word PathFromConic_P6840(); static void bproc_P9360(); static word PathFromList_P6900(); static void Init_P6960(); static struct {unsigned f; char r[48];} string1 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\043\211\212\366\300\343\003\307\242\100\164\005\004\162\145\163\164\214\216\257\300\043\211\212\366\300\343\003\307\242\100\164\261\000\000\000"}; static struct {unsigned f; char r[4];} string2 = {131074, "\004\003\000"}; static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\043\211\212\366\300\343\003\307\242\100\164\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\254\073\314\103\300\064\024\167\046\100\200\000\000"}; static struct {unsigned f; char r[28];} string7 = {1638425, "\006\011\000\001\004\001\024\001\040\001\100\124\001\100\130\001\100\134\001\100\140\001\100\144\001\000\000"}; static struct {unsigned f; char r[4];} string8 = {131076, "\216\251\000"}; static struct {unsigned f; char r[48];} string9 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\176\067\335\331\300\021\260\123\113\100\200\005\004\162\145\163\164\214\216\257\300\176\067\335\331\300\021\260\123\113\100\200\261\000\000\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\125\255\150\161\300\244\071\174\314\105\204\000\000"}; static struct {unsigned f; char r[4];} string11 = {131074, "\004\015\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\254\073\314\103\300\064\024\167\046\100\244\000\000"}; static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\125\255\150\161\300\244\071\174\314\106\354\000\000"}; static struct {unsigned f; char r[12];} string14 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300U\255hq\300\2449|\314A|\000\000"}; static struct {unsigned f; char r[4];} string16 = {131074, "\003\007\000"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\125\255\150\161\300\244\071\174\314\105\220\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\017\106\176\051\300\361\373\025\153\100\214\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\254\073\314\103\300\064\024\167\046\102\220\000\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\176\067\335\331\300\021\260\123\113\100\200\000\000"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\125\255\150\161\300\244\071\174\314\103\214\000\000"}; static struct {unsigned f; char r[4];} string22 = {131074, "\003\010\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\325\040\343\357\300\152\277\324\231\100\164\000\000"}; static struct {unsigned f; char r[4];} string24 = {131074, "\003\004\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\325\040\343\357\300\152\277\324\231\100\200\000\000"}; static struct {unsigned f; char r[8];} string26 = {393224, "Bezier\000"}; static struct {unsigned f; char r[4];} string27 = {196612, " %g"}; static struct {unsigned f; char r[16];} string28 = {983056, "Parabolic Conic"}; static struct {unsigned f; char r[8];} string29 = {458760, "Natural"}; static struct {unsigned f; char r[16];} string30 = {917520, "Cyclic Natural\000"}; static struct {unsigned f; char r[8];} string31 = {458760, "BSpline"}; static struct {unsigned f; char r[16];} string32 = {917520, "Type: Natural \000"}; static struct {unsigned f; char r[24];} string33 = {1310744, "Type: CyclicNatural \000\000\000"}; static struct {unsigned f; char r[16];} string34 = {917520, "Type: BSpline \000"}; static struct {unsigned f; char r[4];} string35 = {196612, "%g "}; static struct {unsigned f; char r[8];} string36 = {327688, "Type:\000\000"}; static struct {unsigned f; char r[16];} string37 = {851984, "CyclicNatural\000\000"}; static struct {unsigned f; char r[8];} string38 = {458760, "Cyclic:"}; static struct {unsigned f; char r[8];} string39 = {327688, "Conic\000\000"}; static struct {unsigned f; char r[20];} string40 = {1114132, "CurveClosestPoint\000\000"}; static struct {unsigned f; char r[12];} string41 = {524300, "Gargoyle\000\000\000"}; static struct {unsigned f; char r[12];} string42 = {720908, "CubicSpline"}; static struct {unsigned f; char r[28];} string43 = {1703964, "SegmentClass %g is unknown\000"}; static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\125\255\150\161\300\244\071\174\314\100\164\000\000"}; static struct {unsigned f; char r[12];} string45 = {720907, "\006\002\030\001\100\170\010\000\004\023\001"}; static struct {unsigned f; char r[16];} string46 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"}; static struct {unsigned f; char r[16];} string47 = {851984, "\257\300\006<7[\300;CV\364@h\000\000"}; static struct {unsigned f; char r[16];} string48 = {851984, "\257\300\176\067\335\331\300\021\260\123\113\100\150\000\000"}; static struct {unsigned f; char r[16];} string49 = {851984, "\257\300\325\040\343\357\300\152\277\324\231\100\150\000\000"}; static struct {unsigned f; char r[16];} string50 = {851984, "\257\300\017\106\176\051\300\361\373\025\153\100\150\000\000"}; static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"}; static struct {unsigned f; char r[16];} string52 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"}; static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"}; static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\335\021\351\270\300\210\237\013\247\100\150\000\000"}; static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\236\155\220\261\300\040\017\026\014\100\150\000\000"}; static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\045\215\147\016\300\153\043\150\276\100\150\000\000"}; static struct {unsigned f; char r[8];} string57 = {1195856741, "gment"}; static struct {unsigned f; char r[16];} string58 = {851984, "\257\300\043\211\212\366\300\343\003\307\242\100\150\000\000"}; static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\104\154\010\164\300\126\073\363\036\100\150\000\000"}; static struct {unsigned f; char r[16];} string60 = {851984, "\257\300\370\132\042\205\300\045\133\011\125\100\150\000\000"}; static struct {unsigned f; char r[16];} string61 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"}; static struct {unsigned f; char r[16];} string62 = {851984, "\257\300\354\147\236\353\300\316\347\225\106\100\150\000\000"}; static struct {unsigned f; char r[16];} string63 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"}; static struct {unsigned f; char r[16];} string64 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"}; static struct {unsigned f; char r[16];} string65 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"}; static struct {unsigned f; char r[16];} string66 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string67 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string68 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string69 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"}; static struct { word f0[49]; 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; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73; word f74; word f75; word f76; word f77; word f78; word f79; word f80; word f81; word f82; word f83; word f84; word f85; word f86; word f87; word f88; word f89; word f90; word f91; word f92; word f93; word f94; word f95; word f96; word f97; word f98; word f99; word f100; word f101; word f102; word f103; word f104; word f105; word f106; word f107; word f108; word f109; word f110; word f111; word f112; word f113; word f114; word f115; word f116; word f117; word f118; word f119; word f120; word f121; word f122; word f123; word f124; word f125; word f126; word f127; word f128; word f129; word f130; word f131; word f132; word f133; word f134; word f135; word f136; word f137; word f138; word f139; word f140; word f141; word f142; word f143; word f144; word f145; word f146; word f147; word f148; word f149; word f150; word f151; word f152; word f153; word f154; word f155; word f156; word f157; word f158; word f159; word f160; word f161; word f162; word f163; word f164; word f165; word f166; word f167; word f168; word f169; word f170; word f171; word f172; word f173; word f174; word f175; word f176; word f177; word f178; word f179; word f180; word f181; word f182; word f183; word f184; word f185; word f186; word f187; word f188; word f189; word f190; word f191; word f192; word f193; word f194; word f195; word f196; word f197; word f198; word f199; word f200; word f201; word f202; word f203; word f204; word f205; word f206; word f207; word f208; word f209; word f210; word f211; word f212; word f213; word f214; word f215; word f216; word f217; word f218; word f219; word f220; word f221; word f222; word f223; word f224; word f225; word f226; word f227; word f228; word f229; word f230; word f231; word f232; word f233; word f234; word f235; word f236; word f237; word f238; word f239; word f240; word f241; word f242; word f243; word f244; word f245; word f246; word f247; word f248; word f249; word f250; word f251; word f252; word f253; word f254; word f255; word f256; word f257; word f258; word f259; word f260; word f261; word f262; word f263; word f264; word f265; word f266; word f267; word f268; word f269; word f270; word f271; word f272; word f273; word f274; word f275; word f276; word f277; word f278[29]; } globalframe = { {0}, (word) Init_P6960, 0, (word) PathFromList_P6900, 0, (word) PathFromConic_P6840, 0, (word) GetPath_P6780, 0, (word) PathNumToCPIndex_P6720, 0, (word) FindNearestPath_P6660, 0, (word) PointToFP_P6600, 0, (word) FPToPoint_P6540, 0, (word) KnotBoundBox_P6480, 0, (word) PointIsInBox_P6420, 0, (word) CurveClosestPoint_P6360, 0, (word) CurveBuildPath_P6300, 0, (word) CurveBoundBox_P6240, 0, (word) CSEndPointSet_P6180, 0, (word) CSControlPointSet_P6120, 0, (word) CSControlPointDelete_P6060, 0, (word) CSControlPointAdd_P6000, 0, (word) CSAddJoint_P5940, 0, (word) CSJointNormal_P5880, 0, (word) CSCPNormal_P5820, 0, (word) CSAsPolyline_P5760, 0, (word) CSClosestControlPoint_P5700, 0, (word) CSControlPointCount_P5640, 0, (word) CSControlPointGet_P5580, 0, (word) CSFieldGet_P5520, 0, (word) CSFieldSet_P5460, 0, (word) CSFileIn_P5400, 0, (word) CSFileOut_P5340, 0, (word) CSDescribe_P5280, 0, (word) CSControlPointMoved_P5220, 0, (word) CSEndPointMoved_P5160, 0, (word) CSTransform_P5100, 0, (word) CSBuildPathTransform_P5040, 0, (word) CSReverse_P4980, 0, (word) CSCopyData_P4920, 0, (word) UpdateCSBoundBox_P4860, 0, (word) CSTightBox_P4800, 0, (word) CSBoundBox_P4740, 0, (word) CubicSplineGetParams_P4680, 0, (word) MakeCubicSpline_P4620, 0, (word) CSSetStrokeWidth_P4560, 0, (word) CSSameShape_P4500, 0, (word) BuildCubicSplineClass_P4440, 0, (word) BZFileIn_P4380, 0, (word) BZFileOut_P4320, 0, (word) BZDescribe_P4260, 0, (word) BZAddJoint_P4200, 0, (word) BZJointNormal_P4140, 0, (word) BZAsPolyline_P4080, 0, (word) BZAsSimpleCurve_P4020, 0, (word) BZClosestControlPoint_P3960, 0, (word) BZFieldGet_P3900, 0, (word) BZFieldSet_P3840, 0, (word) BZControlPointCount_P3780, 0, (word) BZControlPointGet_P3720, 0, (word) BZRestorePath_P3660, 0, (word) BZSpecialTransformPath_P3600, 0, (word) BZTransformPath_P3540, 0, (word) BZBuildPathTransform_P3480, 0, (word) BZControlPointMovedTo_P3420, 0, (word) BZControlPointMoved_P3360, 0, (word) BZEndPointMoved_P3300, 0, (word) BZTransform_P3240, 0, (word) BZReverse_P3180, 0, (word) BZCopyData_P3120, 0, (word) UpdateBZBoundBox_P3060, 0, (word) BZTightBox_P3000, 0, (word) BZBoundBox_P2940, 0, (word) BezierGetParams_P2880, 0, (word) MakeBezier_P2820, 0, (word) BZSetStrokeWidth_P2760, 0, (word) BuildBezierClass_P2700, 0, (word) ConicPolyline_P2640, 0, (word) ConicAsPolyline_P2460, 0, (word) ConicClosestControlPoint_P2400, 0, (word) ConicControlPointCount_P2340, 0, (word) ConicControlPointGet_P2280, 0, (word) ConicFieldGet_P2220, 0, (word) ConicFieldSet_P2160, 0, (word) ConicFileIn_P2100, 0, (word) ConicFileOut_P2040, 0, (word) ConicDescribe_P1980, 0, (word) TransformEndPoints_P1920, 0, (word) ConicControlPointMoved_P1860, 0, (word) ConicEndPointMoved_P1800, 0, (word) ConicTransform_P1740, 0, (word) ConicBuildPathTransform_P1680, 0, (word) ConicBuildPath_P1620, 0, (word) ConicReverse_P1560, 0, (word) ConicCopyData_P1500, 0, (word) UpdateConicBoundBox_P1440, 0, (word) ConicSameShape_P1380, 0, (word) ConicTightBox_P1320, 0, (word) ConicBoundBox_P1260, 0, (word) ConicSetControlPoint_P1200, 0, (word) ConicSetRatio_P1140, 0, (word) ConicGetParams_P1080, 0, (word) MakeConic_P1020, 0, (word) ConicSetStrokeWidth_P960, 0, (word) BuildConicClass_P900, 0, (word) DrawLine_P840, 0, (word) MoveEndPointSegment_P780, 0, (word) TranslateSegment_P720, 0, (word) TransformSegment_P660, 0, (word) OpenUpSegment_P600, 0, (word) ReverseSegment_P540, 0, (word) EqualSequence_P480, 0, (word) SameShape_P420, 0, (word) SameLooks_P360, 0, (word) SetDefaults_P300, 0, (word) CopyLooks_P240, 0, (word) CopySegment_P180, 0, (word) FetchSegmentClass_P120, 0, (word) RegisterSegmentClass_P60, 0, (word) GGSegmentImplA_P0, {0} }; static void NoName_Q9660() { register ptr gf_c01263 = (ptr) &globalframe; word var_c78068; (* (( (ptr) gf_c01263)+11) ) = (word) XR_GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf_c01263)+13) ) = (word) XR_GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf_c01263)+14) ) = (word) XR_GetTypeIndex((word) &string5, 0, (word) &string2); (* (( (ptr) gf_c01263)+15) ) = (word) XR_GetTypeIndex((word) &string6, 0, (word) &string7); (* (( (ptr) gf_c01263)+16) ) = (word) XR_GetTypeIndex((word) &string8, 0, (word) &string4); (* (( (ptr) gf_c01263)+17) ) = (word) XR_GetTypeIndex((word) &string9, 0, (word) &string2); (* (( (ptr) gf_c01263)+19) ) = (word) XR_GetTypeIndex((word) &string10, 0, (word) &string11); (* (( (ptr) gf_c01263)+20) ) = (word) XR_GetTypeIndex((word) &string12, 0, (word) &string4); (* (( (ptr) gf_c01263)+21) ) = (word) XR_GetTypeIndex((word) &string13, 0, (word) &string14); (* (( (ptr) gf_c01263)+22) ) = (word) XR_GetTypeIndex((word) &string15, 0, (word) &string16); (* (( (ptr) gf_c01263)+23) ) = (word) XR_GetTypeIndexS((word) (&string17)); (* (( (ptr) gf_c01263)+24) ) = (word) XR_GetTypeIndexS((word) (&string18)); (* (( (ptr) gf_c01263)+25) ) = (word) XR_GetTypeIndexS((word) (&string19)); (* (( (ptr) gf_c01263)+26) ) = (word) XR_GetTypeIndexS((word) (&string20)); (* (( (ptr) gf_c01263)+27) ) = (word) XR_GetTypeIndex((word) &string21, 0, (word) &string22); (* (( (ptr) gf_c01263)+28) ) = (word) XR_GetTypeIndex((word) &string23, 0, (word) &string24); (* (( (ptr) gf_c01263)+29) ) = (word) XR_GetTypeIndexS((word) (&string25)); (* (ptr) (( (bPt) gf_c01263)+120) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+16) ), (word) &string26); (* (ptr) (( (bPt) gf_c01263)+124) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string26); (* (ptr) (( (bPt) gf_c01263)+128) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string27); (* (ptr) (( (bPt) gf_c01263)+132) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string28); (* (ptr) (( (bPt) gf_c01263)+136) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string29); (* (ptr) (( (bPt) gf_c01263)+140) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string30); (* (ptr) (( (bPt) gf_c01263)+144) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string31); (* (ptr) (( (bPt) gf_c01263)+148) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string32); (* (ptr) (( (bPt) gf_c01263)+152) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string33); (* (ptr) (( (bPt) gf_c01263)+156) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string34); (* (ptr) (( (bPt) gf_c01263)+160) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string35); (* (ptr) (( (bPt) gf_c01263)+164) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string36); (* (ptr) (( (bPt) gf_c01263)+168) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string37); (* (ptr) (( (bPt) gf_c01263)+172) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string38); (* (ptr) (( (bPt) gf_c01263)+176) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+16) ), (word) &string39); (* (ptr) (( (bPt) gf_c01263)+180) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+16) ), (word) &string40); (* (ptr) (( (bPt) gf_c01263)+184) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+16) ), (word) &string41); (* (ptr) (( (bPt) gf_c01263)+188) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+16) ), (word) &string42); (* (ptr) (( (bPt) gf_c01263)+192) ) = (word) XR_GetRefLiteral((* (( (ptr) gf_c01263)+13) ), (word) &string43); (void) XR_DeclareGlobalFrame((word) "GGSegmentImplA", &globalframe, (word) XR_GetTypeIndex((word) &string44, 0, (word) &string45) , (word) (( (bPt) gf_c01263)+1108)/* var_c64756 */ ); var_c78068 = (word) XR_ImportInterface((word) "Atom", (word) XR_GetTypeIndexS((word) (&string46)), 16); (* (( (ptr) gf_c01263)+284)/* var_c64980 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67372289); var_c78068 = (word) XR_ImportInterface((word) "CodeTimer", (word) XR_GetTypeIndexS((word) (&string47)), 21); (* (( (ptr) gf_c01263)+304)/* var_c76980 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 526850); (void) XR_ImportProcS(var_c78068, 526338); var_c78068 = (word) XR_ImportInterface((word) "Cubic2", (word) XR_GetTypeIndexS((word) (&string48)), 5); (* (( (ptr) gf_c01263)+302)/* var_c70004 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 1076101890); var_c78068 = (word) XR_ImportInterface((word) "CubicPaths", (word) XR_GetTypeIndexS((word) (&string49)), 13); (* (( (ptr) gf_c01263)+291)/* var_c65492 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 68158211); (void) XR_ImportProcS(var_c78068, 202377731); (void) XR_ImportProcS(var_c78068, 69733122); (void) XR_ImportProcS(var_c78068, 786691); (void) XR_ImportProcS(var_c78068, 263681); (void) XR_ImportProcS(var_c78068, 787715); (void) XR_ImportProcS(var_c78068, 264449); (void) XR_ImportProcS(var_c78068, 67373057); (void) XR_ImportProcS(var_c78068, 67633154); var_c78068 = (word) XR_ImportInterface((word) "CubicSplines", (word) XR_GetTypeIndexS((word) (&string50)), 6); (* (( (ptr) gf_c01263)+290)/* var_c65460 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67634178); var_c78068 = (word) XR_ImportInterface((word) "Feedback", (word) XR_GetTypeIndexS((word) (&string51)), 25); (* (( (ptr) gf_c01263)+283)/* var_c64852 */ ) = var_c78068; var_c78068 = (word) XR_ImportInterface((word) "GGBoundBox", (word) XR_GetTypeIndexS((word) (&string52)), 24); (* (( (ptr) gf_c01263)+287)/* var_c65172 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 527618); (void) XR_ImportProcS(var_c78068, 1314309); (void) XR_ImportProcS(var_c78068, 68681990); (void) XR_ImportProcS(var_c78068, 67371777); var_c78068 = (word) XR_ImportInterface((word) "GGCoreOps", (word) XR_GetTypeIndexS((word) (&string53)), 37); (* (( (ptr) gf_c01263)+289)/* var_c65332 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67641090); var_c78068 = (word) XR_ImportInterface((word) "GGCubic2", (word) XR_GetTypeIndexS((word) (&string54)), 3); (* (( (ptr) gf_c01263)+301)/* var_c69812 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 69468674); var_c78068 = (word) XR_ImportInterface((word) "GGParseIn", (word) XR_GetTypeIndexS((word) (&string55)), 26); (* (( (ptr) gf_c01263)+297)/* var_c66260 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67376385); (void) XR_ImportProcS(var_c78068, 67376129); (void) XR_ImportProcS(var_c78068, 67372033); (void) XR_ImportProcS(var_c78068, 525570); (void) XR_ImportProcS(var_c78068, 67376897); (void) XR_ImportProcS(var_c78068, 134483713); var_c78068 = (word) XR_ImportInterface((word) "GGParseOut", (word) XR_GetTypeIndexS((word) (&string56)), 15); (* (( (ptr) gf_c01263)+296)/* var_c66196 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 787714); var_c78068 = (word) XR_ImportInterface((word) &string57, (word) XR_GetTypeIndexS((word) (&string58)), 47); (* (( (ptr) gf_c01263)+295)/* var_c65748 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67641090); (void) XR_ImportProcS(var_c78068, 67376129); (void) XR_ImportProcS(var_c78068, 135015682); (void) XR_ImportProcS(var_c78068, 270019332); (void) XR_ImportProcS(var_c78068, 135801860); (void) XR_ImportProcS(var_c78068, 67905794); (void) XR_ImportProcS(var_c78068, 134752258); (void) XR_ImportProcS(var_c78068, 134752002); (void) XR_ImportProcS(var_c78068, 336602627); var_c78068 = (word) XR_ImportInterface((word) "GGTransform", (word) XR_GetTypeIndexS((word) (&string59)), 7); (* (( (ptr) gf_c01263)+292)/* var_c65524 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 135004418); var_c78068 = (word) XR_ImportInterface((word) "GGUtility", (word) XR_GetTypeIndexS((word) (&string60)), 42); (* (( (ptr) gf_c01263)+286)/* var_c65108 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67379457); var_c78068 = (word) XR_ImportInterface((word) "Imager", (word) XR_GetTypeIndexS((word) (&string61)), 84); (* (( (ptr) gf_c01263)+294)/* var_c65684 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 1328387); (void) XR_ImportProcS(var_c78068, 1591046); (void) XR_ImportProcS(var_c78068, 536578); (void) XR_ImportProcS(var_c78068, 540930); (void) XR_ImportProcS(var_c78068, 540674); var_c78068 = (word) XR_ImportInterface((word) "ImagerPath", (word) XR_GetTypeIndexS((word) (&string62)), 18); (* (( (ptr) gf_c01263)+305)/* var_c77588 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 2097157); var_c78068 = (word) XR_ImportInterface((word) "ImagerTransformation", (word) XR_GetTypeIndexS((word) (&string63)), 55); (* (( (ptr) gf_c01263)+293)/* var_c65588 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 135013122); (void) XR_ImportProcS(var_c78068, 67634689); var_c78068 = (word) XR_ImportInterface((word) "IO", (word) XR_GetTypeIndexS((word) (&string64)), 103); (* (( (ptr) gf_c01263)+285)/* var_c65044 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 1071364); (void) XR_ImportProcS(var_c78068, 528642); (void) XR_ImportProcS(var_c78068, 1063171); (void) XR_ImportProcS(var_c78068, 67910402); var_c78068 = (word) XR_ImportInterface((word) "List", (word) XR_GetTypeIndexS((word) (&string65)), 28); (* (( (ptr) gf_c01263)+288)/* var_c65268 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67633666); var_c78068 = (word) XR_ImportInterface((word) "Real", (word) XR_GetTypeIndexS((word) (&string66)), 11); (* (( (ptr) gf_c01263)+298)/* var_c66644 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67633154); var_c78068 = (word) XR_ImportInterface((word) "RealFns", (word) XR_GetTypeIndexS((word) (&string67)), 36); (* (( (ptr) gf_c01263)+299)/* var_c66836 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67372289); var_c78068 = (word) XR_ImportInterface((word) "Rope", (word) XR_GetTypeIndexS((word) (&string68)), 43); (* (( (ptr) gf_c01263)+303)/* var_c72340 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 67896323); var_c78068 = (word) XR_ImportInterface((word) "Vectors2d", (word) XR_GetTypeIndexS((word) (&string69)), 21); (* (( (ptr) gf_c01263)+300)/* var_c69588 */ ) = var_c78068; (void) XR_ImportProcS(var_c78068, 68158722); (void) XR_ImportProcS(var_c78068, 135270914); (void) XR_ImportProcS(var_c78068, 68161794); var_c78068 = (word) XR_ExportInterface((word) &string57, (word) XR_GetTypeIndexS((word) (&string58)), 47); (* (( (ptr) gf_c01263)+306)/* var_c78100 */ ) = var_c78068; (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+748)/* var_c63316 */ , 69468677); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+972)/* var_c64212 */ , 69206789); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+508)/* var_c62356 */ , 67896579); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+740)/* var_c63284 */ , 537134593); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+964)/* var_c64180 */ , 470025985); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+956)/* var_c64148 */ , 526338); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+948)/* var_c64116 */ , 788738); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+500)/* var_c62324 */ , 67373825); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1068)/* var_c64596 */ , 527362); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1084)/* var_c64660 */ , 67374337); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1076)/* var_c64628 */ , 527874); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1060)/* var_c64564 */ , 67636994); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1052)/* var_c64532 */ , 67637250); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1036)/* var_c64468 */ , 266753); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1028)/* var_c64436 */ , 267009); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1092)/* var_c64692 */ , 67376129); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1100)/* var_c64724 */ , 267521); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1020)/* var_c64404 */ , 529922); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1012)/* var_c64372 */ , 792322); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+1004)/* var_c64340 */ , 1054723); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+996)/* var_c64308 */ , 1579268); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+324)/* var_c61620 */ , 67901954); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+316)/* var_c61588 */ , 67640066); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+644)/* var_c62900 */ , 2104328); (void) XR_ExportProcS(var_c78068, (word) (( (bPt) gf_c01263)+668)/* var_c62996 */ , 1056003); } static void GGSegmentImplA_P0(formal_c0150, formal_c0149) word formal_c0150; word formal_c0149; { register ptr gf_c78132 = (ptr) &globalframe; /* GGSegmentImplA: */ SOURCE(341, 51804) SOURCE(1704, 30) (* (( (ptr) gf_c78132)+4)/* defaultStrokeWidth_v4540 */ ) = (* (ptr) &fc70 ); SOURCE(1736, 35) (* (( (ptr) gf_c78132)+5)/* defaultStrokeEnd_v4568 */ ) = 2; SOURCE(1858, 16) (* (( (ptr) gf_c78132)+7)/* Problem_v4680 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf_c78132)+283)/* var_c64852 */ ))+28) ) ); SOURCE(48443, 20) (* (( (ptr) gf_c78132)+8)/* useBBox_v7956 */ ) = 1; SOURCE(52139, 6) (void) Init_P6960(); } static void RegisterSegmentClass_P60(classDef_v8548) word classDef_v8548; { register ptr gf_c78164 = (ptr) &globalframe; /* RegisterSegmentClass: */ SOURCE(1912, 106) SOURCE(1971, 47) { word var_c64884; var_c64884 = XR_NewObject(8, (* (( (ptr) gf_c78164)+11) )); (* (ptr) var_c64884 ) = classDef_v8548; (* (( (ptr) var_c64884)+1) ) = (* (( (ptr) gf_c78164)+6)/* segmentClasses_v4596 */ ); (* (( (ptr) gf_c78164)+6)/* segmentClasses_v4596 */ ) = var_c64884; }; } static word FetchSegmentClass_P120(type_v8608) word type_v8608; { register ptr gf_c78196 = (ptr) &globalframe; word class_v8652; /* FetchSegmentClass: */ SOURCE(2024, 289) SOURCE(2024, 289) class_v8652 = 0; SOURCE(2102, 111) { register word l_v23776; l_v23776 = (* (( (ptr) gf_c78196)+6)/* segmentClasses_v4596 */ ); lab_L100003: ; if ((l_v23776 != 0)) { } else { goto lab_L100000; }; SOURCE(2166, 47) if (((* (ptr) (* (ptr) l_v23776 ) ) == type_v8608)) { SOURCE(2192, 21) return((* (( (ptr) (* (ptr) l_v23776 ))+1) )); }; l_v23776 = (* (( (ptr) l_v23776)+1) ); goto lab_L100003; lab_L100000: ; }; SOURCE(2224, 89) { word var_c64916; { word var_c64948; { word pd71; pd71 = (* (( (ptr) (* (( (ptr) gf_c78196)+284)/* var_c64980 */ ))+9) ); var_c64948 = (word) ( *( (fPt) ((* (ptr) pd71 ))))(type_v8608, pd71); }; { W2 var_c65012; var_c65012.f0 = 11; var_c65012.f1 = var_c64948; { word pd72; pd72 = (* (( (ptr) (* (( (ptr) gf_c78196)+285)/* var_c65044 */ ))+63) ); var_c64916 = (word) ( *( (fPt) ((* (ptr) pd72 ))))((* (( (ptr) gf_c78196)+48) ), var_c65012, pd72); }; }; }; { word var_c0159; var_c0159 = var_c64916; (void) XR_RaiseError((* (( (ptr) gf_c78196)+7)/* Problem_v4680 */ ), (word) &var_c0159); }; }; } static word CopySegment_P180(seg_v8712) word seg_v8712; { register ptr gf_c78228 = (ptr) &globalframe; word copy_v8756; word copyData_v23904 = 0; /* CopySegment: */ SOURCE(2319, 639) SOURCE(2319, 639) copy_v8756 = 0; SOURCE(2406, 34) { word pd73; pd73 = (* (( (ptr) (* (ptr) seg_v8712 ))+3) ); copyData_v23904 = (word) ( *( (fPt) ((* (ptr) pd73 ))))(seg_v8712, pd73); }; SOURCE(2442, 516) { word var_c65076; word var_c65140; word var_c65204; word var_c65236; word var_c65300; { word pd74; pd74 = (* (( (ptr) (* (( (ptr) gf_c78228)+286)/* var_c65108 */ ))+37) ); var_c65076 = (word) ( *( (fPt) ((* (ptr) pd74 ))))((* ((( (ptr) seg_v8712)+5)) ), pd74); }; { word pd75; pd75 = (* (( (ptr) (* (( (ptr) gf_c78228)+287)/* var_c65172 */ ))+7) ); var_c65140 = (word) ( *( (fPt) ((* (ptr) pd75 ))))((* ((( (ptr) seg_v8712)+21)) ), pd75); }; { word pd76; pd76 = (* (( (ptr) (* (( (ptr) gf_c78228)+287)/* var_c65172 */ ))+7) ); var_c65204 = (word) ( *( (fPt) ((* (ptr) pd76 ))))((* ((( (ptr) seg_v8712)+22)) ), pd76); }; { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf_c78228)+288)/* var_c65268 */ ))+6) ); var_c65236 = (word) ( *( (fPt) ((* (ptr) pd77 ))))((* (( (ptr) seg_v8712)+25) ), 0, pd77); }; var_c65300 = XR_NewObject(104, (* (( (ptr) gf_c78228)+15) )); (* (ptr) var_c65300 ) = (* (ptr) seg_v8712 ); (* (( (ptr) var_c65300)+1) ) = (* (( (ptr) seg_v8712)+1) ); (* (( (ptr) var_c65300)+2) ) = (* (( (ptr) seg_v8712)+2) ); (* (( (ptr) var_c65300)+3) ) = (* (( (ptr) seg_v8712)+3) ); (* (( (ptr) var_c65300)+4) ) = (* (( (ptr) seg_v8712)+4) ); (* (( (ptr) var_c65300)+5) ) = var_c65076; (* (( (ptr) var_c65300)+6) ) = (* (( (ptr) seg_v8712)+6) ); (* (( (ptr) var_c65300)+7) ) = (* (( (ptr) seg_v8712)+7) ); (* (( (ptr) var_c65300)+8) ) = (* (( (ptr) seg_v8712)+8) ); (* (W2Pt) (( (ptr) var_c65300)+9) ) = (* (W2Pt) (( (ptr) seg_v8712)+9) ); (* (W2Pt) (( (ptr) var_c65300)+11) ) = (* (W2Pt) (( (ptr) seg_v8712)+11) ); (* (( (ptr) var_c65300)+13) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c65300)+14) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c65300)+15) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c65300)+16) ) = (* (ptr) &fc78 ); (* (W4Pt) (( (ptr) var_c65300)+17) ) = (* (W4Pt) (( (ptr) seg_v8712)+17) ); (* (( (ptr) var_c65300)+21) ) = var_c65140; (* (( (ptr) var_c65300)+22) ) = var_c65204; (* (( (ptr) var_c65300)+24) ) = copyData_v23904; (* (( (ptr) var_c65300)+25) ) = var_c65236; copy_v8756 = var_c65300; }; SOURCE(2319, 639) return(copy_v8756); } static void CopyLooks_P240(from_v8816, to_v8844) word from_v8816; word to_v8844; { register ptr gf_c78260 = (ptr) &globalframe; /* CopyLooks: */ SOURCE(2964, 290) SOURCE(3011, 21) (* (( (ptr) to_v8844)+8) ) = (* (( (ptr) from_v8816)+8) ); SOURCE(3034, 33) (* (( (ptr) to_v8844)+2) ) = (* (( (ptr) from_v8816)+2) ); SOURCE(3069, 29) (* (( (ptr) to_v8844)+3) ) = (* (( (ptr) from_v8816)+3) ); SOURCE(3100, 23) (* (( (ptr) to_v8844)+4) ) = (* (( (ptr) from_v8816)+4) ); SOURCE(3125, 48) { word pd79; pd79 = (* (( (ptr) (* (( (ptr) gf_c78260)+286)/* var_c65108 */ ))+37) ); (* (( (ptr) to_v8844)+5) ) = (word) ( *( (fPt) ((* (ptr) pd79 ))))((* ((( (ptr) from_v8816)+5)) ), pd79); }; SOURCE(3206, 23) (* (( (ptr) to_v8844)+6) ) = (* (( (ptr) from_v8816)+6) ); SOURCE(3231, 23) (* (( (ptr) to_v8844)+7) ) = (* (( (ptr) from_v8816)+7) ); } static void SetDefaults_P300(seg_v8904, defaults_v8932) word seg_v8904; word defaults_v8932; { register ptr gf_c78292 = (ptr) &globalframe; /* SetDefaults: */ SOURCE(3260, 364) SOURCE(3327, 34) (* (( (ptr) seg_v8904)+3) ) = (* (( (ptr) defaults_v8932)+2) ); SOURCE(3363, 28) (* (( (ptr) seg_v8904)+4) ) = (* (( (ptr) defaults_v8932)+3) ); SOURCE(3393, 53) { word pd80; pd80 = (* (( (ptr) (* (( (ptr) gf_c78292)+286)/* var_c65108 */ ))+37) ); (* (( (ptr) seg_v8904)+5) ) = (word) ( *( (fPt) ((* (ptr) pd80 ))))((* ((( (ptr) defaults_v8932)+4)) ), pd80); }; SOURCE(3479, 28) (* (( (ptr) seg_v8904)+6) ) = (* (( (ptr) defaults_v8932)+5) ); SOURCE(3509, 28) (* (( (ptr) seg_v8904)+7) ) = (* (( (ptr) defaults_v8932)+6) ); SOURCE(3539, 32) (* (( (ptr) seg_v8904)+8) ) = (* (( (ptr) defaults_v8932)+7) ); SOURCE(3573, 51) { word pd81; pd81 = (* (( (ptr) (* (ptr) seg_v8904 ))+28) ); (void) ( *( (fPt) ((* (ptr) pd81 ))))(seg_v8904, (* (ptr) defaults_v8932 ), pd81); }; } static word SameLooks_P360(seg1_v8992, seg2_v9020) word seg1_v8992; word seg2_v9020; { register ptr gf_c78324 = (ptr) &globalframe; word var_c9064; /* SameLooks: */ SOURCE(3630, 518) SOURCE(3703, 47) if (((* (( (ptr) seg1_v8992)+4) ) != (* (( (ptr) seg2_v9020)+4) ))) { SOURCE(3737, 13) return(0); }; SOURCE(3752, 53) if (((* (( (ptr) seg1_v8992)+3) ) != (* (( (ptr) seg2_v9020)+3) ))) { SOURCE(3792, 13) return(0); }; SOURCE(3807, 57) { word x82; word x83; if ((( x82 = (* (( (ptr) seg1_v8992)+2) ), *(float*)&x82 ) != ( x83 = (* (( (ptr) seg2_v9020)+2) ), *(float*)&x83 ))) { SOURCE(3851, 13) return(0); }; }; SOURCE(3866, 187) if ((0 != (* (( (ptr) seg1_v8992)+4) ))) { SOURCE(3888, 47) { word x84; word x85; if ((( x84 = (* (( (ptr) seg1_v8992)+6) ), *(float*)&x84 ) != ( x85 = (* (( (ptr) seg2_v9020)+6) ), *(float*)&x85 ))) { SOURCE(3922, 13) return(0); }; }; SOURCE(3937, 47) { word x86; word x87; if ((( x86 = (* (( (ptr) seg1_v8992)+7) ), *(float*)&x86 ) != ( x87 = (* (( (ptr) seg2_v9020)+7) ), *(float*)&x87 ))) { SOURCE(3971, 13) return(0); }; }; SOURCE(3986, 67) if ((0 == (word) EqualSequence_P480((* (( (ptr) seg1_v8992)+5) ), (* (( (ptr) seg2_v9020)+5) )))) { SOURCE(4040, 13) return(0); }; }; SOURCE(4058, 76) { word pd88; pd88 = (* (( (ptr) (* (( (ptr) gf_c78324)+289)/* var_c65332 */ ))+35) ); if ((0 == (word) ( *( (fPt) ((* (ptr) pd88 ))))((* (( (ptr) seg1_v8992)+8) ), (* (( (ptr) seg2_v9020)+8) ), pd88))) { SOURCE(4121, 13) return(0); }; }; SOURCE(4136, 12) return(1); } static word SameShape_P420(seg1_v9124, seg2_v9152) word seg1_v9124; word seg2_v9152; { word same_v9196; /* SameShape: */ SOURCE(4154, 120) SOURCE(4233, 41) { word pd89; pd89 = (* (( (ptr) (* (ptr) seg1_v9124 ))+5) ); return((word) ( *( (fPt) ((* (ptr) pd89 ))))(seg1_v9124, seg2_v9152, pd89)); }; } static word EqualSequence_P480(s1_v9256, s2_v9284) word s1_v9256; word s2_v9284; { word var_c9328; /* EqualSequence: */ SOURCE(4280, 190) SOURCE(4344, 37) if (((* (ptr) s1_v9256 ) != (* (ptr) s2_v9284 ))) { SOURCE(4368, 13) return(0); }; SOURCE(4383, 64) { register word i_v23960 = 0; register word noName_c65396; noName_c65396 = (* (ptr) s1_v9256 ); if ((i_v23960 >= noName_c65396)) { goto lab_L100004; }; lab_L100007: ; SOURCE(4412, 35) { word limit90; word x91; word limit92; word x93; if ((( x91 = (* ((( (ptr) s1_v9256)+1)+( limit90 = (* (ptr) s1_v9256 ), BCK(i_v23960, limit90) )) ), *(float*)&x91 ) != ( x93 = (* ((( (ptr) s2_v9284)+1)+( limit92 = (* (ptr) s2_v9284 ), BCK(i_v23960, limit92) )) ), *(float*)&x93 ))) { SOURCE(4434, 13) return(0); }; }; i_v23960 = (i_v23960 + 1); if ((i_v23960 < noName_c65396)) { goto lab_L100007; }; lab_L100004: ; }; SOURCE(4458, 12) return(1); } static void ReverseSegment_P540(seg_v9388) word seg_v9388; { W2 temp_v24004; /* ReverseSegment: */ SOURCE(4476, 129) SOURCE(4536, 13) temp_v24004 = (* (W2Pt) (( (ptr) seg_v9388)+9) ); SOURCE(4551, 15) (* (W2Pt) (( (ptr) seg_v9388)+9) ) = (* (W2Pt) (( (ptr) seg_v9388)+11) ); SOURCE(4568, 13) (* (W2Pt) (( (ptr) seg_v9388)+11) ) = temp_v24004; SOURCE(4583, 22) { word pd94; pd94 = (* (( (ptr) (* (ptr) seg_v9388 ))+4) ); (void) ( *( (fPt) ((* (ptr) pd94 ))))(seg_v9388, pd94); }; } static void OpenUpSegment_P600(seg_v9448) word seg_v9448; { register ptr gf_c78356 = (ptr) &globalframe; /* OpenUpSegment: */ SOURCE(4611, 261) SOURCE(4658, 214) if (((* (ptr) (* (ptr) seg_v9448 ) ) == (* (( (ptr) gf_c78356)+47) ))) { SOURCE(4694, 203) { word data_v24048; SOURCE(4696, 40) data_v24048 = XR_Narrow((* (( (ptr) seg_v9448)+24) ), (* (( (ptr) gf_c78356)+19) )); SOURCE(4738, 134) if (((* (( (ptr) data_v24048)+1) ) == 3)) { SOURCE(4767, 21) (* (( (ptr) data_v24048)+1) ) = 2; SOURCE(4790, 82) { word var_c65428; { word pd95; pd95 = (* (( (ptr) (* (( (ptr) gf_c78356)+290)/* var_c65460 */ ))+8) ); var_c65428 = (word) ( *( (fPt) ((* (ptr) pd95 ))))((* (ptr) data_v24048 ), (* (( (ptr) data_v24048)+1) ), pd95); }; { word pd96; pd96 = (* (( (ptr) (* (( (ptr) gf_c78356)+291)/* var_c65492 */ ))+4) ); (* (( (ptr) data_v24048)+2) ) = (word) ( *( (fPt) ((* (ptr) pd96 ))))(var_c65428, 1, pd96); }; }; }; }; }; } static void TransformSegment_P660(seg_v9508, transform_v9536) word seg_v9508; word transform_v9536; { register ptr gf_c78388 = (ptr) &globalframe; /* TransformSegment: */ SOURCE(4904, 235) SOURCE(5002, 49) { word pd97; pd97 = (* (( (ptr) (* (( (ptr) gf_c78388)+292)/* var_c65524 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd97 ))))((word) (( (bPt) seg_v9508)+36), transform_v9536, (* (W2Pt) (( (ptr) seg_v9508)+9) ), pd97); }; SOURCE(5053, 49) { word pd98; pd98 = (* (( (ptr) (* (( (ptr) gf_c78388)+292)/* var_c65524 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd98 ))))((word) (( (bPt) seg_v9508)+44), transform_v9536, (* (W2Pt) (( (ptr) seg_v9508)+11) ), pd98); }; SOURCE(5104, 35) { word pd99; pd99 = (* (( (ptr) (* (ptr) seg_v9508 ))+8) ); (void) ( *( (fPt) ((* (ptr) pd99 ))))(seg_v9508, transform_v9536, pd99); }; } static void TranslateSegment_P720(seg_v9596, vector_v9624) word seg_v9596; W2 vector_v9624; { register ptr gf_c78420 = (ptr) &globalframe; word transform_v24092 = 0; /* TranslateSegment: */ SOURCE(5145, 212) SOURCE(5259, 64) { W2 var_c65556; var_c65556.f0 = vector_v9624.f0; var_c65556.f1 = vector_v9624.f1; { word pd100; pd100 = (* (( (ptr) (* (( (ptr) gf_c78420)+293)/* var_c65588 */ ))+10) ); transform_v24092 = (word) ( *( (fPt) ((* (ptr) pd100 ))))(var_c65556, pd100); }; }; SOURCE(5325, 32) (void) TransformSegment_P660(seg_v9596, transform_v24092); } static void MoveEndPointSegment_P780(seg_v9684, lo_v9712, newPoint_v9740) word seg_v9684; word lo_v9712; W2 newPoint_v9740; { /* MoveEndPointSegment: */ SOURCE(5363, 174) SOURCE(5442, 51) if ((0 != lo_v9712)) { SOURCE(5453, 23) (* (W2Pt) (( (ptr) seg_v9684)+9) ) = newPoint_v9740; } else { SOURCE(5476, 17) (* (W2Pt) (( (ptr) seg_v9684)+11) ) = newPoint_v9740; }; SOURCE(5495, 42) { word pd101; pd101 = (* (( (ptr) (* (ptr) seg_v9684 ))+9) ); (void) ( *( (fPt) ((* (ptr) pd101 ))))(seg_v9684, lo_v9712, newPoint_v9740, pd101); }; } static void DrawLine_P840(dc_v9800, formal_c01401, formal_c01402, seg_v9884) word dc_v9800; W2 formal_c01401; W2 formal_c01402; word seg_v9884; { W13 var_c78452; /* declaration of p1_v9828 skipped */ /* declaration of p2_v9856 skipped */ register ptr gf_c78484 = (ptr) &globalframe; /* declaration of var_c65620 skipped */ /* declaration of var_c65652 skipped */ (* (W2Pt) (( (ptr) &var_c78452)+4)/* p1_v9828 */ ) = formal_c01401; (* (W2Pt) (( (ptr) &var_c78452)+6)/* p2_v9856 */ ) = formal_c01402; /* DrawLine: */ SOURCE(5542, 566) { word tmpAddr102; tmpAddr102 = (word) (( (ptr) &var_c78452)+8)/* var_c65620 */ ; (* (ptr) tmpAddr102 ) = ( ((word) (fPt) PatternProc_P7272) ); (* (( (ptr) tmpAddr102) + 1) ) = 1; }; { word tmpAddr103; tmpAddr103 = (word) (( (ptr) &var_c78452)+10)/* var_c65652 */ ; (* (ptr) tmpAddr103 ) = ( ((word) (fPt) EdgePathProc_P7212) ); (* (( (ptr) tmpAddr103) + 1) ) = 1; }; SOURCE(5618, 490) { word x104; word x105; if (((* (( (ptr) seg_v9884)+8) ) == 0) || (( x104 = (* (( (ptr) seg_v9884)+2) ), *(float*)&x104 ) == ( x105 = (* (ptr) &fc78 ), *(float*)&x105 ))) { SOURCE(5663, 12) return; } else { SOURCE(5677, 42) { word pd106; pd106 = (* (( (ptr) (* (( (ptr) gf_c78484)+294)/* var_c65684 */ ))+68) ); (void) ( *( (fPt) ((* (ptr) pd106 ))))(dc_v9800, (* (( (ptr) seg_v9884)+2) ), pd106); }; SOURCE(5721, 38) { word pd107; pd107 = (* (( (ptr) (* (( (ptr) gf_c78484)+294)/* var_c65684 */ ))+69) ); (void) ( *( (fPt) ((* (ptr) pd107 ))))(dc_v9800, (* (( (ptr) seg_v9884)+3) ), pd107); }; SOURCE(5761, 30) { word pd108; pd108 = (* (( (ptr) (* (( (ptr) gf_c78484)+294)/* var_c65684 */ ))+52) ); (void) ( *( (fPt) ((* (ptr) pd108 ))))(dc_v9800, (* (( (ptr) seg_v9884)+8) ), pd108); }; SOURCE(5793, 315) if ((0 != (* (( (ptr) seg_v9884)+4) ))) { SOURCE(5812, 260) { /* declaration of pattern_v24192 skipped */ SOURCE(5940, 37) (* (( (ptr) &var_c78452)+12)/* pattern_v24192 */ ) = (* (( (ptr) seg_v9884)+5) ); SOURCE(5979, 91) { word pd109; pd109 = (* (( (ptr) (* (( (ptr) gf_c78484)+294)/* var_c65684 */ ))+75) ); (void) ( *( (fPt) ((* (ptr) pd109 ))))(dc_v9800, (word) (( (bPt) &var_c78452)+40)/* var_c65652 */ , (* (ptr) (* (( (ptr) &var_c78452)+12) /* pattern_v24192 */ ) ), (word) (( (bPt) &var_c78452)+32)/* var_c65620 */ , (* (( (ptr) seg_v9884)+6) ), (* (( (ptr) seg_v9884)+7) ), pd109); }; }; } else { SOURCE(6079, 29) { word pd110; pd110 = (* (( (ptr) (* (( (ptr) gf_c78484)+294)/* var_c65684 */ ))+73) ); (void) ( *( (fPt) ((* (ptr) pd110 ))))(dc_v9800, (* (W2Pt) (( (ptr) &var_c78452)+4)/* p1_v9828 */ ), (* (W2Pt) (( (ptr) &var_c78452)+6) /* p2_v9856 */ ), pd110); }; }; }; }; } static void EdgePathProc_P7212(moveTo_v52264, lineTo_v52292, curveTo_v52320, conicTo_v52348, arcTo_v52376, formal_c78516) word moveTo_v52264; word lineTo_v52292; word curveTo_v52320; word conicTo_v52348; word arcTo_v52376; word formal_c78516; { formal_c78516 = (formal_c78516 - 40); /* EdgePathProc: */ SOURCE(5814, 32) SOURCE(5847, 10) (void) ( *( (fPt) ((* (ptr) moveTo_v52264 ))))((* (W2Pt) ((( (ptr) formal_c78516)+4)) ), moveTo_v52264); SOURCE(5859, 10) (void) ( *( (fPt) ((* (ptr) lineTo_v52292 ))))((* (W2Pt) ((( (ptr) formal_c78516)+6)) ), lineTo_v52292); } static word PatternProc_P7272(i_v24268, formal_c78548) word i_v24268; word formal_c78548; { word var_c24312; formal_c78548 = (formal_c78548 - 32); /* PatternProc: */ SOURCE(5874, 19) SOURCE(5919, 18) { word limit111; return((* ((( (ptr) (* (( (ptr) formal_c78548)+12) ))+1)+( limit111 = (* (ptr) (* (( (ptr) formal_c78548)+12) ) ), BCK(i_v24268, limit111) )) )); }; } static word BuildConicClass_P900() { register ptr gf_c78580 = (ptr) &globalframe; word class_v10084; /* BuildConicClass: */ SOURCE(6260, 1053) SOURCE(6260, 1053) class_v10084 = 0; SOURCE(6335, 978) { word var_c65716; var_c65716 = XR_NewObject(116, (* (( (ptr) gf_c78580)+20) )); (* (ptr) var_c65716 ) = (* (( (ptr) gf_c78580)+44) ); (* (( (ptr) var_c65716)+1) ) = (word) (( (bPt) gf_c78580)+940)/* var_c64084 */ ; (* (( (ptr) var_c65716)+2) ) = (word) (( (bPt) gf_c78580)+932)/* var_c64052 */ ; (* (( (ptr) var_c65716)+3) ) = (word) (( (bPt) gf_c78580)+908)/* var_c63956 */ ; (* (( (ptr) var_c65716)+4) ) = (word) (( (bPt) gf_c78580)+900)/* var_c63924 */ ; (* (( (ptr) var_c65716)+5) ) = (word) (( (bPt) gf_c78580)+924)/* var_c64020 */ ; (* (( (ptr) var_c65716)+6) ) = (word) (( (bPt) gf_c78580)+892)/* var_c63892 */ ; (* (( (ptr) var_c65716)+7) ) = (word) (( (bPt) gf_c78580)+884)/* var_c63860 */ ; (* (( (ptr) var_c65716)+8) ) = (word) (( (bPt) gf_c78580)+876)/* var_c63828 */ ; (* (( (ptr) var_c65716)+9) ) = (word) (( (bPt) gf_c78580)+868)/* var_c63796 */ ; (* (( (ptr) var_c65716)+10) ) = (word) (( (bPt) gf_c78580)+860)/* var_c63764 */ ; (* (( (ptr) var_c65716)+11) ) = (word) (( (bPt) gf_c78580)+844)/* var_c63700 */ ; (* (( (ptr) var_c65716)+12) ) = (word) (( (bPt) gf_c78580)+836)/* var_c63668 */ ; (* (( (ptr) var_c65716)+13) ) = (word) (( (bPt) gf_c78580)+828)/* var_c63636 */ ; (* (( (ptr) var_c65716)+14) ) = (word) (( (bPt) gf_c78580)+820)/* var_c63604 */ ; (* (( (ptr) var_c65716)+15) ) = (word) (( (bPt) gf_c78580)+812)/* var_c63572 */ ; (* (( (ptr) var_c65716)+16) ) = (word) (( (bPt) gf_c78580)+804)/* var_c63540 */ ; (* (( (ptr) var_c65716)+17) ) = (word) (( (bPt) gf_c78580)+796)/* var_c63508 */ ; (* (( (ptr) var_c65716)+18) ) = (word) (( (bPt) gf_c78580)+276)/* var_c61428 */ ; (* (( (ptr) var_c65716)+19) ) = (word) (( (bPt) gf_c78580)+788)/* var_c63476 */ ; (* (( (ptr) var_c65716)+20) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c78580)+295)/* var_c65748 */ ))+42) ); (* (( (ptr) var_c65716)+21) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c78580)+295)/* var_c65748 */ ))+43) ); (* (( (ptr) var_c65716)+22) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c78580)+295)/* var_c65748 */ ))+44) ); (* (( (ptr) var_c65716)+23) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c78580)+295)/* var_c65748 */ ))+45) ); (* (( (ptr) var_c65716)+24) ) = (word) (( (bPt) gf_c78580)+780)/* var_c63444 */ ; (* (( (ptr) var_c65716)+25) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c78580)+295)/* var_c65748 */ ))+48) ); (* (( (ptr) var_c65716)+26) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c78580)+295)/* var_c65748 */ ))+47) ); (* (( (ptr) var_c65716)+27) ) = (* (( (ptr) (* (( (ptr) gf_c78580)+295)/* var_c65748 */ ))+49) ); (* (( (ptr) var_c65716)+28) ) = (word) (( (bPt) gf_c78580)+980)/* var_c64244 */ ; class_v10084 = var_c65716; }; SOURCE(6260, 1053) return(class_v10084); } static void ConicSetStrokeWidth_P960(seg_v10144, strokeWidth_v10172) word seg_v10144; word strokeWidth_v10172; { /* ConicSetStrokeWidth: */ SOURCE(7319, 119) SOURCE(7383, 29) (* (( (ptr) seg_v10144)+2) ) = strokeWidth_v10172; SOURCE(7414, 24) (void) UpdateConicBoundBox_P1440(seg_v10144); } static word MakeConic_P1020(p0_v10232, p1_v10260, p2_v10288, r_v10316, props_v10344) W2 p0_v10232; W2 p1_v10260; W2 p2_v10288; word r_v10316; word props_v10344; { register ptr gf_c78612 = (ptr) &globalframe; word seg_v10488; word data_v24340; /* MakeConic: */ SOURCE(7444, 622) SOURCE(7444, 622) seg_v10488 = 0; SOURCE(7547, 134) { word var_c65780; word var_c65812; var_c65780 = (word) PathFromConic_P6840(p0_v10232, p1_v10260, p2_v10288, r_v10316); var_c65812 = XR_NewObject(32, (* (( (ptr) gf_c78612)+22) )); (* (ptr) var_c65812 ) = p1_v10260.f0; (* (( (ptr) var_c65812)+1) ) = p1_v10260.f1; (* (( (ptr) var_c65812)+2) ) = r_v10316; (* (W4Pt) (( (ptr) var_c65812)+3) ) = (* (W4Pt) (( (ptr) gf_c78612)+279)/* var_c64820 */ ); (* (( (ptr) var_c65812)+7) ) = var_c65780; data_v24340 = var_c65812; }; SOURCE(7683, 357) { word var_c65844; word var_c65876; word var_c65908; word var_c65940; { word pd112; pd112 = (* (( (ptr) (* (( (ptr) gf_c78612)+295)/* var_c65748 */ ))+24) ); var_c65844 = (word) ( *( (fPt) ((* (ptr) pd112 ))))((* ((( (ptr) gf_c78612)+44)) ), pd112); }; { word pd113; pd113 = (* (( (ptr) (* (( (ptr) gf_c78612)+287)/* var_c65172 */ ))+5) ); var_c65876 = (word) ( *( (fPt) ((* (ptr) pd113 ))))((* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), 0, 0, pd113) ; }; { word pd114; pd114 = (* (( (ptr) (* (( (ptr) gf_c78612)+287)/* var_c65172 */ ))+5) ); var_c65908 = (word) ( *( (fPt) ((* (ptr) pd114 ))))((* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), 0, 0, pd114) ; }; var_c65940 = XR_NewObject(104, (* (( (ptr) gf_c78612)+15) )); (* (ptr) var_c65940 ) = var_c65844; (* (( (ptr) var_c65940)+2) ) = (* (( (ptr) gf_c78612)+4)/* defaultStrokeWidth_v4540 */ ); (* (( (ptr) var_c65940)+3) ) = (* (( (ptr) gf_c78612)+5)/* defaultStrokeEnd_v4568 */ ); (* (( (ptr) var_c65940)+6) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c65940)+7) ) = (* (ptr) &fc115 ); (* (( (ptr) var_c65940)+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf_c78612)+294)/* var_c65684 */ ))+54) ) ); (* (W2Pt) (( (ptr) var_c65940)+9) ) = p0_v10232; (* (W2Pt) (( (ptr) var_c65940)+11) ) = p2_v10288; (* (( (ptr) var_c65940)+13) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c65940)+14) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c65940)+15) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c65940)+16) ) = (* (ptr) &fc78 ); (* (W4Pt) (( (ptr) var_c65940)+17) ) = (* (W4Pt) (( (ptr) gf_c78612)+279)/* var_c64820 */ ); (* (( (ptr) var_c65940)+21) ) = var_c65876; (* (( (ptr) var_c65940)+22) ) = var_c65908; (* (( (ptr) var_c65940)+24) ) = data_v24340; (* (( (ptr) var_c65940)+25) ) = props_v10344; seg_v10488 = var_c65940; }; SOURCE(8042, 24) (void) UpdateConicBoundBox_P1440(seg_v10488); SOURCE(7444, 622) return(seg_v10488); } static void ConicGetParams_P1080(formal_c0236, seg_v10548) word formal_c0236; word seg_v10548; { register ptr gf_c78644 = (ptr) &globalframe; W2 p0_v10592; W2 p1_v10620; W2 p2_v10648; word r_v10676; word data_v24384; /* ConicGetParams: */ SOURCE(8072, 170) SOURCE(8156, 34) data_v24384 = XR_Narrow((* (( (ptr) seg_v10548)+24) ), (* (( (ptr) gf_c78644)+22) )); SOURCE(8192, 11) p0_v10592 = (* (W2Pt) (( (ptr) seg_v10548)+9) ); SOURCE(8205, 12) p1_v10620 = (* (W2Pt) data_v24384 ); SOURCE(8219, 11) p2_v10648 = (* (W2Pt) (( (ptr) seg_v10548)+11) ); SOURCE(8232, 10) r_v10676 = (* (( (ptr) data_v24384)+2) ); /* removed tail goto */ (* (W2Pt) formal_c0236 ) = p0_v10592; (* (W2Pt) (( (ptr) formal_c0236)+2) ) = p1_v10620; (* (W2Pt) (( (ptr) formal_c0236)+4) ) = p2_v10648; (* (( (ptr) formal_c0236)+6) ) = r_v10676; return; } static void ConicSetRatio_P1140(seg_v10736, r_v10764) word seg_v10736; word r_v10764; { register ptr gf_c78676 = (ptr) &globalframe; word data_v24428; /* ConicSetRatio: */ SOURCE(8248, 187) SOURCE(8303, 34) data_v24428 = XR_Narrow((* (( (ptr) seg_v10736)+24) ), (* (( (ptr) gf_c78676)+22) )); SOURCE(8339, 10) (* (( (ptr) data_v24428)+2) ) = r_v10764; SOURCE(8351, 58) (* (( (ptr) data_v24428)+7) ) = (word) PathFromConic_P6840((* (W2Pt) (( (ptr) seg_v10736)+9) ), (* (W2Pt) data_v24428 ), (* (W2Pt) ( ( (ptr) seg_v10736)+11) ), (* (( (ptr) data_v24428)+2) )); SOURCE(8411, 24) (void) UpdateConicBoundBox_P1440(seg_v10736); } static void ConicSetControlPoint_P1200(seg_v10824, p1_v10852) word seg_v10824; W2 p1_v10852; { register ptr gf_c78708 = (ptr) &globalframe; word data_v24472; /* ConicSetControlPoint: */ SOURCE(8441, 198) SOURCE(8505, 34) data_v24472 = XR_Narrow((* (( (ptr) seg_v10824)+24) ), (* (( (ptr) gf_c78708)+22) )); SOURCE(8541, 12) (* (W2Pt) data_v24472 ) = p1_v10852; SOURCE(8555, 58) (* (( (ptr) data_v24472)+7) ) = (word) PathFromConic_P6840((* (W2Pt) (( (ptr) seg_v10824)+9) ), (* (W2Pt) data_v24472 ), (* (W2Pt) ( ( (ptr) seg_v10824)+11) ), (* (( (ptr) data_v24472)+2) )); SOURCE(8615, 24) (void) UpdateConicBoundBox_P1440(seg_v10824); } static word ConicBoundBox_P1260(seg_v10912) word seg_v10912; { word bBox_v10956; /* ConicBoundBox: */ SOURCE(8645, 79) SOURCE(8645, 79) bBox_v10956 = 0; SOURCE(8709, 15) bBox_v10956 = (* (( (ptr) seg_v10912)+21) ); SOURCE(8645, 79) return(bBox_v10956); } static word ConicTightBox_P1320(seg_v11016) word seg_v11016; { word bBox_v11060; /* ConicTightBox: */ SOURCE(8730, 83) SOURCE(8730, 83) bBox_v11060 = 0; SOURCE(8794, 19) bBox_v11060 = (* (( (ptr) seg_v11016)+22) ); SOURCE(8730, 83) return(bBox_v11060); } static word ConicSameShape_P1380(seg1_v11120, seg2_v11148) word seg1_v11120; word seg2_v11148; { register ptr gf_c78740 = (ptr) &globalframe; word same_v11192; word seg1Data_v24516; word seg2Data_v24544; /* ConicSameShape: */ SOURCE(8818, 187) SOURCE(8818, 187) same_v11192 = 1; SOURCE(8893, 39) seg1Data_v24516 = XR_Narrow((* (( (ptr) seg1_v11120)+24) ), (* (( (ptr) gf_c78740)+22) )); SOURCE(8934, 39) seg2Data_v24544 = XR_Narrow((* (( (ptr) seg2_v11148)+24) ), (* (( (ptr) gf_c78740)+22) )); SOURCE(8975, 30) { word x116; word x117; same_v11192 = (( x116 = (* (( (ptr) seg1Data_v24516)+2) ), *(float*)&x116 ) == ( x117 = (* (( (ptr) seg2Data_v24544)+2) ), *(float*)&x117 )); }; SOURCE(8818, 187) return(same_v11192); } static void UpdateConicBoundBox_P1440(seg_v11252) word seg_v11252; { register ptr gf_c78772 = (ptr) &globalframe; word data_v24588; word pad_v24616; word minX_v24644; word minY_v24672; word maxX_v24700; word maxY_v24728; /* UpdateConicBoundBox: */ SOURCE(9044, 545) SOURCE(9089, 34) data_v24588 = XR_Narrow((* (( (ptr) seg_v11252)+24) ), (* (( (ptr) gf_c78772)+22) )); SOURCE(9166, 41) { word x118; float tf119; float tf120; word x121; float tf122; float tf123; float tf124; word x125; float tf126; tf122 = FMIN(( x118 = (* (( (ptr) seg_v11252)+9) ), *(float*)&x118 ), ( x121 = (* (( (ptr) seg_v11252)+11) ), *(float*)&x121 ), tf119, tf120); minX_v24644 = ( tf126 = FMIN(tf122, ( x125 = (* (ptr) data_v24588 ), *(float*)&x125 ), tf123, tf124), *(word*)&tf126 ); }; SOURCE(9209, 41) { word x127; float tf128; float tf129; word x130; float tf131; float tf132; float tf133; word x134; float tf135; tf131 = FMIN(( x127 = (* (( (ptr) seg_v11252)+10) ), *(float*)&x127 ), ( x130 = (* (( (ptr) seg_v11252)+12) ), *(float*)&x130 ), tf128, tf129); minY_v24672 = ( tf135 = FMIN(tf131, ( x134 = (* (( (ptr) data_v24588)+1) ), *(float*)&x134 ), tf132, tf133), *(word*)&tf135 ); }; SOURCE(9252, 41) { word x136; float tf137; float tf138; word x139; float tf140; float tf141; float tf142; word x143; float tf144; tf140 = FMAX(( x136 = (* (( (ptr) seg_v11252)+9) ), *(float*)&x136 ), ( x139 = (* (( (ptr) seg_v11252)+11) ), *(float*)&x139 ), tf137, tf138); maxX_v24700 = ( tf144 = FMAX(tf140, ( x143 = (* (ptr) data_v24588 ), *(float*)&x143 ), tf141, tf142), *(word*)&tf144 ); }; SOURCE(9295, 41) { word x145; float tf146; float tf147; word x148; float tf149; float tf150; float tf151; word x152; float tf153; tf149 = FMAX(( x145 = (* (( (ptr) seg_v11252)+10) ), *(float*)&x145 ), ( x148 = (* (( (ptr) seg_v11252)+12) ), *(float*)&x148 ), tf146, tf147); maxY_v24728 = ( tf153 = FMAX(tf149, ( x152 = (* (( (ptr) data_v24588)+1) ), *(float*)&x152 ), tf150, tf151), *(word*)&tf153 ); }; SOURCE(9338, 63) { word pd154; pd154 = (* (( (ptr) (* (( (ptr) gf_c78772)+287)/* var_c65172 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd154 ))))((* (( (ptr) seg_v11252)+22) ), minX_v24644, minY_v24672, maxX_v24700, maxY_v24728, pd154) ; }; SOURCE(9403, 35) (void) CurveBoundBox_P6240(seg_v11252, (* (( (ptr) seg_v11252)+21) ), 0); SOURCE(9440, 106) if (((* (( (ptr) seg_v11252)+3) ) == 0)) { SOURCE(9471, 44) { word x155; word x157; word x159; *(float*)&pad_v24616 = (( x155 = (* (( (ptr) seg_v11252)+2) ), *(float*)&x155 ) * ( x157 = (* (ptr) &fc156 ), *(float*)&x157 )) + ( x159 = (* (ptr) &fc158 ), *(float*)&x159 ); }; } else { SOURCE(9515, 31) { word x160; word x161; word x162; *(float*)&pad_v24616 = (( x160 = (* (( (ptr) seg_v11252)+2) ), *(float*)&x160 ) / ( x161 = (* (ptr) &fc70 ), *(float*)&x161 )) + ( x162 = (* (ptr) &fc158 ), *(float*)&x162 ); }; }; SOURCE(9548, 41) { word pd163; pd163 = (* (( (ptr) (* (( (ptr) gf_c78772)+287)/* var_c65172 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd163 ))))((* (( (ptr) seg_v11252)+21) ), pad_v24616, pd163); }; } static word ConicCopyData_P1500(seg_v38408) word seg_v38408; { register ptr gf_c78804 = (ptr) &globalframe; word data_v38452; word conicData_v24772; word new_v24800; /* ConicCopyData: */ SOURCE(9595, 266) SOURCE(9595, 266) data_v38452 = 0; SOURCE(9642, 39) conicData_v24772 = XR_Narrow((* (( (ptr) seg_v38408)+24) ), (* (( (ptr) gf_c78804)+22) )); SOURCE(9683, 34) new_v24800 = XR_NewObject(32, (* (( (ptr) gf_c78804)+22) )); SOURCE(9719, 21) (* (W2Pt) new_v24800 ) = (* (W2Pt) conicData_v24772 ); SOURCE(9742, 19) (* (( (ptr) new_v24800)+2) ) = (* (( (ptr) conicData_v24772)+2) ); SOURCE(9763, 37) (* (W4Pt) (( (ptr) new_v24800)+3) ) = (* (W4Pt) (( (ptr) conicData_v24772)+3) ); SOURCE(9802, 46) { word pd164; pd164 = (* (( (ptr) (* (( (ptr) gf_c78804)+291)/* var_c65492 */ ))+12) ); (* (( (ptr) new_v24800)+7) ) = (word) ( *( (fPt) ((* (ptr) pd164 ))))((* ((( (ptr) conicData_v24772)+7)) ), pd164); }; SOURCE(9850, 11) return(new_v24800); } static void ConicReverse_P1560(seg_v11312) word seg_v11312; { register ptr gf_c78836 = (ptr) &globalframe; word data_v24844; /* ConicReverse: */ SOURCE(9867, 107) SOURCE(9905, 34) data_v24844 = XR_Narrow((* (( (ptr) seg_v11312)+24) ), (* (( (ptr) gf_c78836)+22) )); SOURCE(9941, 33) { word pd165; pd165 = (* (( (ptr) (* (( (ptr) gf_c78836)+291)/* var_c65492 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd165 ))))((* ((( (ptr) data_v24844)+7)) ), pd165); }; } static void ConicBuildPath_P1620(seg_v11372, lineTo_v11400, curveTo_v11428, conicTo_v11456, arcTo_v11484) word seg_v11372; word lineTo_v11400; word curveTo_v11428; word conicTo_v11456; word arcTo_v11484; { register ptr gf_c78868 = (ptr) &globalframe; word data_v24888; /* ConicBuildPath: */ SOURCE(9980, 234) SOURCE(10146, 34) data_v24888 = XR_Narrow((* (( (ptr) seg_v11372)+24) ), (* (( (ptr) gf_c78868)+22) )); SOURCE(10182, 32) (void) ( *( (fPt) ((* (ptr) conicTo_v11456 ))))((* (W2Pt) data_v24888 ), (* (W2Pt) (( (ptr) seg_v11372)+11) ), (* (( (ptr) data_v24888)+2) ), conicTo_v11456); } static void ConicBuildPathTransform_P1680(seg_v11544, transform_v11572, entire_v11600, lo_v11628, hi_v11656, controlPoints_v11684, lineTo_v11712, curveTo_v11740, conicTo_v11768, arcTo_v11796) word seg_v11544; word transform_v11572; word entire_v11600; word lo_v11628; word hi_v11656; word controlPoints_v11684; word lineTo_v11712; word curveTo_v11740; word conicTo_v11768; word arcTo_v11796; { register ptr gf_c78900 = (ptr) &globalframe; word data_v24932; W2 p0_v24960; W2 p1_v24988; W2 p2_v25016; /* ConicBuildPathTransform: */ SOURCE(10220, 681) SOURCE(10491, 34) data_v24932 = XR_Narrow((* (( (ptr) seg_v11544)+24) ), (* (( (ptr) gf_c78900)+22) )); SOURCE(10542, 333) if ((0 != entire_v11600)) { SOURCE(10559, 68) { W4 var_c66004; (void) TransformEndPoints_P1920((word) &var_c66004, (* (W2Pt) (( (ptr) seg_v11544)+9) ), (* (W2Pt) (( (ptr) seg_v11544)+11) ), 1, 1, transform_v11572); p2_v25016 = (* (W2Pt) (( (ptr) &var_c66004)+2) ); p0_v24960 = (* (W2Pt) &var_c66004 ); }; SOURCE(10629, 55) { word pd166; pd166 = (* (( (ptr) (* (( (ptr) gf_c78900)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd166 ))))((word) &p1_v24988, transform_v11572, (* (W2Pt) data_v24932 ), pd166); }; } else { SOURCE(10695, 64) { W4 var_c66036; (void) TransformEndPoints_P1920((word) &var_c66036, (* (W2Pt) (( (ptr) seg_v11544)+9) ), (* (W2Pt) (( (ptr) seg_v11544)+11) ), lo_v11628, hi_v11656, transform_v11572); p2_v25016 = (* (W2Pt) (( (ptr) &var_c66036)+2) ); p0_v24960 = (* (W2Pt) &var_c66036 ); }; SOURCE(10761, 114) { word limit168; if ((controlPoints_v11684 == 0)) { goto then0167;}; if (XR_ExtractField(controlPoints_v11684, 32 + (word) ( limit168 = (* (ptr) controlPoints_v11684 ), BCK(0, limit168) ), 1)) { then0167: ; { W2 var_c0290; { word pd169; pd169 = (* (( (ptr) (* (( (ptr) gf_c78900)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd169 ))))((word) &var_c0290, transform_v11572, (* (W2Pt) data_v24932 ), pd169); }; p1_v24988 = var_c0290; }; } else { p1_v24988 = (* (W2Pt) data_v24932 ); }; }; }; SOURCE(10880, 21) (void) ( *( (fPt) ((* (ptr) conicTo_v11768 ))))(p1_v24988, p2_v25016, (* (( (ptr) data_v24932)+2) ), conicTo_v11768); } static void ConicTransform_P1740(seg_v11856, transform_v11884) word seg_v11856; word transform_v11884; { register ptr gf_c78932 = (ptr) &globalframe; word data_v25060; /* ConicTransform: */ SOURCE(10906, 265) SOURCE(10994, 34) data_v25060 = XR_Narrow((* (( (ptr) seg_v11856)+24) ), (* (( (ptr) gf_c78932)+22) )); SOURCE(11030, 60) { word pd170; pd170 = (* (( (ptr) (* (( (ptr) gf_c78932)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd170 ))))((word) data_v25060, transform_v11884, (* (W2Pt) data_v25060 ), pd170); }; SOURCE(11092, 53) { word pd171; pd171 = (* (( (ptr) (* (( (ptr) gf_c78932)+291)/* var_c65492 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd171 ))))((* (( (ptr) data_v25060)+7) ), transform_v11884, 0, pd171); }; SOURCE(11147, 24) (void) UpdateConicBoundBox_P1440(seg_v11856); } static void ConicEndPointMoved_P1800(seg_v11944, lo_v11972, newPoint_v12000) word seg_v11944; word lo_v11972; W2 newPoint_v12000; { register ptr gf_c78964 = (ptr) &globalframe; word data_v25104; W2 p0_v25132; W2 p1_v25160; W2 p2_v25188; /* ConicEndPointMoved: */ SOURCE(11177, 304) SOURCE(11248, 34) data_v25104 = XR_Narrow((* (( (ptr) seg_v11944)+24) ), (* (( (ptr) gf_c78964)+22) )); SOURCE(11284, 43) { word tcp172; if ((0 != lo_v11972)) { tcp172 = (word) &newPoint_v12000; } else { tcp172 = (word) (( (ptr) seg_v11944)+9); }; p0_v25132 = (* (W2Pt) tcp172 ); }; SOURCE(11329, 34) p1_v25160.f0 = (* (ptr) data_v25104 ); p1_v25160.f1 = (* (( (ptr) data_v25104)+1) ); SOURCE(11365, 43) { word tcp173; if ((0 != lo_v11972)) { tcp173 = (word) (( (ptr) seg_v11944)+11); } else { tcp173 = (word) &newPoint_v12000; }; p2_v25188 = (* (W2Pt) tcp173 ); }; SOURCE(11410, 45) (* (( (ptr) data_v25104)+7) ) = (word) PathFromConic_P6840(p0_v25132, p1_v25160, p2_v25188, (* (( (ptr) data_v25104)+2) )) ; SOURCE(11457, 24) (void) UpdateConicBoundBox_P1440(seg_v11944); } static void ConicControlPointMoved_P1860(seg_v12060, transform_v12088, controlPointNum_v12116) word seg_v12060; word transform_v12088; word controlPointNum_v12116; { register ptr gf_c78996 = (ptr) &globalframe; W2 p1Vec_v25232; W2 p1_v25260; word data_v25288; /* ConicControlPointMoved: */ SOURCE(11487, 391) SOURCE(11628, 34) data_v25288 = XR_Narrow((* (( (ptr) seg_v12060)+24) ), (* (( (ptr) gf_c78996)+22) )); SOURCE(11664, 26) if ((controlPointNum_v12116 != 0)) { SOURCE(11690, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(11697, 58) { word pd174; pd174 = (* (( (ptr) (* (( (ptr) gf_c78996)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd174 ))))((word) &p1Vec_v25232, transform_v12088, (* (W2Pt) data_v25288 ), pd174); }; SOURCE(11757, 23) p1_v25260.f0 = p1Vec_v25232.f0; p1_v25260.f1 = p1Vec_v25232.f1; SOURCE(11782, 53) (* (( (ptr) data_v25288)+7) ) = (word) PathFromConic_P6840((* (W2Pt) (( (ptr) seg_v12060)+9) ), p1_v25260, (* (W2Pt) (( (ptr) seg_v12060)+11) ), (* (( (ptr) data_v25288)+2) )); SOURCE(11837, 15) (* (W2Pt) data_v25288 ) = p1Vec_v25232; SOURCE(11854, 24) (void) UpdateConicBoundBox_P1440(seg_v12060); } static void TransformEndPoints_P1920(formal_c0320, loPt_v12176, hiPt_v12204, lo_v12232, hi_v12260, transform_v12288) word formal_c0320; W2 loPt_v12176; W2 hiPt_v12204; word lo_v12232; word hi_v12260; word transform_v12288; { register ptr gf_c79028 = (ptr) &globalframe; W2 newLo_v12332; W2 newHi_v12360; /* TransformEndPoints: */ SOURCE(11884, 353) SOURCE(12023, 106) if ((0 != lo_v12232)) { SOURCE(12034, 72) { W2 var_c0317; { W2 var_c66100; var_c66100.f0 = loPt_v12176.f0; var_c66100.f1 = loPt_v12176.f1; { word pd175; pd175 = (* (( (ptr) (* (( (ptr) gf_c79028)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd175 ))))((word) &var_c0317, transform_v12288, var_c66100, pd175); }; }; newLo_v12332 = var_c0317; }; } else { SOURCE(12106, 23) newLo_v12332.f0 = loPt_v12176.f0; newLo_v12332.f1 = loPt_v12176.f1; }; SOURCE(12131, 106) if ((0 != hi_v12260)) { SOURCE(12142, 72) { W2 var_c0319; { W2 var_c66132; var_c66132.f0 = hiPt_v12204.f0; var_c66132.f1 = hiPt_v12204.f1; { word pd176; pd176 = (* (( (ptr) (* (( (ptr) gf_c79028)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd176 ))))((word) &var_c0319, transform_v12288, var_c66132, pd176); }; }; newHi_v12360 = var_c0319; }; } else { SOURCE(12214, 23) newHi_v12360.f0 = hiPt_v12204.f0; newHi_v12360.f1 = hiPt_v12204.f1; }; /* removed tail goto */ (* (W2Pt) formal_c0320 ) = newLo_v12332; (* (W2Pt) (( (ptr) formal_c0320)+2) ) = newHi_v12360; return; } static word ConicDescribe_P1980(seg_v12420, self_v12448, lo_v12476, hi_v12504, cps_v12532) word seg_v12420; word self_v12448; word lo_v12476; word hi_v12504; word cps_v12532; { register ptr gf_c79060 = (ptr) &globalframe; word rope_v12576; /* ConicDescribe: */ SOURCE(12242, 125) SOURCE(12242, 125) rope_v12576 = 0; SOURCE(12343, 24) rope_v12576 = (* (( (ptr) gf_c79060)+33) ); SOURCE(12242, 125) return(rope_v12576); } static void ConicFileOut_P2040(seg_v12636, f_v12664) word seg_v12636; word f_v12664; { register ptr gf_c79092 = (ptr) &globalframe; word data_v25332; W2 p1_v25360; /* ConicFileOut: */ SOURCE(12373, 184) SOURCE(12425, 34) data_v25332 = XR_Narrow((* (( (ptr) seg_v12636)+24) ), (* (( (ptr) gf_c79092)+22) )); SOURCE(12461, 34) p1_v25360.f0 = (* (ptr) data_v25332 ); p1_v25360.f1 = (* (( (ptr) data_v25332)+1) ); SOURCE(12497, 28) { word pd177; pd177 = (* (( (ptr) (* (( (ptr) gf_c79092)+296)/* var_c66196 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd177 ))))(f_v12664, p1_v25360, pd177); }; SOURCE(12527, 30) { W2 var_c66228; var_c66228.f0 = 8; var_c66228.f1 = (* (( (ptr) data_v25332)+2) ); { word pd178; pd178 = (* (( (ptr) (* (( (ptr) gf_c79092)+285)/* var_c65044 */ ))+61) ); (void) ( *( (fPt) ((* (ptr) pd178 ))))(f_v12664, (* (( (ptr) gf_c79092)+32) ), var_c66228, pd178); }; }; } static word ConicFileIn_P2100(f_v12724, loPoint_v12752, hiPoint_v12780, version_v12808) word f_v12724; W2 loPoint_v12752; W2 hiPoint_v12780; word version_v12808; { register ptr gf_c79124 = (ptr) &globalframe; word seg_v12852; word s_v25404; W2 p1_v25432; /* ConicFileIn: */ SOURCE(12563, 221) SOURCE(12563, 221) seg_v12852 = 0; SOURCE(12683, 27) { word pd179; pd179 = (* (( (ptr) (* (( (ptr) gf_c79124)+297)/* var_c66260 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd179 ))))((word) &p1_v25432, f_v12724, pd179); }; SOURCE(12712, 25) { word pd180; pd180 = (* (( (ptr) (* (( (ptr) gf_c79124)+297)/* var_c66260 */ ))+27) ); s_v25404 = (word) ( *( (fPt) ((* (ptr) pd180 ))))(f_v12724, pd180); }; SOURCE(12739, 45) seg_v12852 = (word) MakeConic_P1020(loPoint_v12752, p1_v25432, hiPoint_v12780, s_v25404, 0); SOURCE(12563, 221) return(seg_v12852); } static void ConicFieldSet_P2160(seg_v38512, controlPointNum_v38540, selected_v38568, selectClass_v38596) word seg_v38512; word controlPointNum_v38540; word selected_v38568; word selectClass_v38596; { register ptr gf_c79156 = (ptr) &globalframe; word data_v25476; /* ConicFieldSet: */ SOURCE(12790, 324) SOURCE(12849, 34) data_v25476 = XR_Narrow((* (( (ptr) seg_v38512)+24) ), (* (( (ptr) gf_c79156)+22) )); SOURCE(12885, 28) if ((controlPointNum_v38540 != 0)) { SOURCE(12913, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(12920, 194) { word var_c66292; var_c66292 = selectClass_v38596; switch (var_c66292) { case 0: SOURCE(12954, 33) (* (( (ptr) data_v25476)+3) ) = selected_v38568; break; case 1: SOURCE(12996, 30) (* (( (ptr) data_v25476)+4) ) = selected_v38568; break; case 2: SOURCE(13038, 33) (* (( (ptr) data_v25476)+5) ) = selected_v38568; break; case 3: SOURCE(13082, 32) (* (( (ptr) data_v25476)+6) ) = selected_v38568; break; default: SOURCE(13127, 5) (void) XR_RaiseUnnamedError(); break; }; }; } static word ConicFieldGet_P2220(seg_v38656, controlPointNum_v38684, selectClass_v38712) word seg_v38656; word controlPointNum_v38684; word selectClass_v38712; { register ptr gf_c79188 = (ptr) &globalframe; word selected_v38756; word data_v25520; /* ConicFieldGet: */ SOURCE(13138, 324) SOURCE(13197, 34) data_v25520 = XR_Narrow((* (( (ptr) seg_v38656)+24) ), (* (( (ptr) gf_c79188)+22) )); SOURCE(13233, 28) if ((controlPointNum_v38684 != 0)) { SOURCE(13261, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(13268, 194) { word var_c66324; var_c66324 = selectClass_v38712; switch (var_c66324) { case 0: SOURCE(13302, 33) selected_v38756 = (* (( (ptr) data_v25520)+3) ); break; case 1: SOURCE(13344, 30) selected_v38756 = (* (( (ptr) data_v25520)+4) ); break; case 2: SOURCE(13386, 33) selected_v38756 = (* (( (ptr) data_v25520)+5) ); break; case 3: SOURCE(13430, 32) selected_v38756 = (* (( (ptr) data_v25520)+6) ); break; default: SOURCE(13475, 5) (void) XR_RaiseUnnamedError(); break; }; }; SOURCE(13138, 324) return(selected_v38756); } static void ConicControlPointGet_P2280(formal_c0358, seg_v12912, controlPointNum_v12940) word formal_c0358; word seg_v12912; word controlPointNum_v12940; { register ptr gf_c79220 = (ptr) &globalframe; W2 point_v12984; word data_v25564; /* ConicControlPointGet: */ SOURCE(13486, 192) SOURCE(13577, 34) data_v25564 = XR_Narrow((* (( (ptr) seg_v12912)+24) ), (* (( (ptr) gf_c79220)+22) )); SOURCE(13613, 26) if ((controlPointNum_v12940 != 0)) { SOURCE(13639, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(13646, 32) point_v12984.f0 = (* (ptr) data_v25564 ); point_v12984.f1 = (* (( (ptr) data_v25564)+1) ); /* removed tail goto */ (* (W2Pt) formal_c0358 ) = point_v12984; return; } static word ConicControlPointCount_P2340(seg_v13044) word seg_v13044; { register ptr gf_c79252 = (ptr) &globalframe; word controlPointCount_v13088; word data_v25608; /* ConicControlPointCount: */ SOURCE(13684, 175) SOURCE(13765, 34) data_v25608 = XR_Narrow((* (( (ptr) seg_v13044)+24) ), (* (( (ptr) gf_c79252)+22) )); SOURCE(13850, 9) return(1); } static void ConicClosestControlPoint_P2400(formal_c0370, seg_v13148, testPoint_v13176, tolerance_v13204) word formal_c0370; word seg_v13148; W2 testPoint_v13176; word tolerance_v13204; { register ptr gf_c79284 = (ptr) &globalframe; W2 point_v13248; W2 normal_v13276; word controlPointNum_v13304; word success_v13332; word data_v25652; /* ConicClosestControlPoint: */ SOURCE(13864, 273) SOURCE(13864, 273) normal_v13276.f0 = (* (ptr) &fc78 ); normal_v13276.f1 = (* (ptr) &fc115 ); SOURCE(14034, 34) data_v25652 = XR_Narrow((* (( (ptr) seg_v13148)+24) ), (* (( (ptr) gf_c79284)+22) )); SOURCE(14070, 14) success_v13332 = 1; SOURCE(14086, 19) controlPointNum_v13304 = 0; SOURCE(14107, 30) point_v13248.f0 = (* (ptr) data_v25652 ); point_v13248.f1 = (* (( (ptr) data_v25652)+1) ); /* removed tail goto */ (* (W2Pt) formal_c0370 ) = point_v13248; (* (W2Pt) (( (ptr) formal_c0370)+2) ) = normal_v13276; (* (( (ptr) formal_c0370)+4) ) = controlPointNum_v13304; (* (( (ptr) formal_c0370)+5) ) = success_v13332; return; } static word ConicAsPolyline_P2460(seg_v13392, tolerance_v13420) word seg_v13392; word tolerance_v13420; { register ptr gf_c79316 = (ptr) &globalframe; word polyline_v13464; word data_v25696; W2 p0_v25724; W2 p1_v25752; W2 p2_v25780; word r_v25808; /* ConicAsPolyline: */ SOURCE(14142, 271) SOURCE(14142, 271) polyline_v13464 = 0; SOURCE(14248, 34) data_v25696 = XR_Narrow((* (( (ptr) seg_v13392)+24) ), (* (( (ptr) gf_c79316)+22) )); SOURCE(14310, 11) p0_v25724 = (* (W2Pt) (( (ptr) seg_v13392)+9) ); SOURCE(14323, 12) p1_v25752 = (* (W2Pt) data_v25696 ); SOURCE(14337, 11) p2_v25780 = (* (W2Pt) (( (ptr) seg_v13392)+11) ); SOURCE(14350, 10) r_v25808 = (* (( (ptr) data_v25696)+2) ); SOURCE(14363, 50) polyline_v13464 = (word) ConicPolyline_P2640(p0_v25724, p1_v25752, p2_v25780, r_v25808, tolerance_v13420); SOURCE(14142, 271) return(polyline_v13464); } static word ConicPolyline_P2640(p0_v13760, p1_v13788, p2_v13816, r_v13844, tolerance_v13872) W2 p0_v13760; W2 p1_v13788; W2 p2_v13816; word r_v13844; word tolerance_v13872; { register ptr gf_c79348 = (ptr) &globalframe; word polyline_v13916; /* ConicPolyline: */ SOURCE(14589, 1266) SOURCE(14589, 1266) polyline_v13916 = 0; SOURCE(14705, 1150) { word var_c66420; var_c66420 = r_v13844; { word x181; word x183; word x187; word x188; if ((( x181 = var_c66420, *(float*)&x181 ) > ( x183 = (* (ptr) &fc182 ), *(float*)&x183 ))) { SOURCE(14733, 49) { word var_c66452; var_c66452 = XR_NewObject(32, (* (( (ptr) gf_c79348)+25) )); (* (( (ptr) var_c66452)+1) ) = 3; polyline_v13916 = var_c66452; }; SOURCE(14784, 19) (* (ptr) polyline_v13916 ) = 3; SOURCE(14805, 16) { word limit184; (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( limit184 = (* (( (ptr) polyline_v13916)+1) ), BCK(0, limit184) )) ) = p0_v13760; }; SOURCE(14823, 16) { word limit185; (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( limit185 = (* (( (ptr) polyline_v13916)+1) ), BCK(1, limit185) )) ) = p1_v13788; }; SOURCE(14841, 16) { word limit186; (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( limit186 = (* (( (ptr) polyline_v13916)+1) ), BCK(2, limit186) )) ) = p2_v13816; }; } else { if ((( x187 = var_c66420, *(float*)&x187 ) <= ( x188 = (* (ptr) &fc78 ), *(float*)&x188 ))) { SOURCE(14874, 49) { word var_c66484; var_c66484 = XR_NewObject(24, (* (( (ptr) gf_c79348)+25) )); (* (( (ptr) var_c66484)+1) ) = 2; polyline_v13916 = var_c66484; }; SOURCE(14925, 19) (* (ptr) polyline_v13916 ) = 2; SOURCE(14946, 16) { word limit189; (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( limit189 = (* (( (ptr) polyline_v13916)+1) ), BCK(0, limit189) )) ) = p0_v13760; }; SOURCE(14964, 16) { word limit190; (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( limit190 = (* (( (ptr) polyline_v13916)+1) ), BCK(1, limit190) )) ) = p2_v13816; }; } else { SOURCE(14996, 873) { W2 p02_v25852; W2 m_v25880; SOURCE(14998, 22) { W2 p_v60936; W2 q_v60964; p_v60936 = p0_v13760; q_v60964 = p2_v13816; SOURCE(14466, 40) { W2 var_c66548; { word var_c66580; word r_v61060; { /*1*/ word x191; /*1*/ word x192; /*1*/ *(float*)&r_v61060 = ( /*1*/ x191 = p_v60936.f0, *(float*)&x191 /*1*/ ) + ( /*1*/ x192 = q_v60964.f0, *(float*)&x192 /*1*/ ); /*1*/ }; SOURCE(14557, 28) { /*1*/ word pd193; /*1*/ pd193 = (* (( (ptr) (* (( (ptr) gf_c79348)+298)/* var_c66644 */ ))+4) ); /*1*/ var_c66580 = (word) ( *( (fPt) ((* (ptr) pd193 ))))(r_v61060, (word) -1, pd193); /*1*/ }; var_c66548.f0 = var_c66580; }; { word var_c66676; word r_v61012; { /*1*/ word x194; /*1*/ word x195; /*1*/ *(float*)&r_v61012 = ( /*1*/ x194 = p_v60936.f1, *(float*)&x194 /*1*/ ) + ( /*1*/ x195 = q_v60964.f1, *(float*)&x195 /*1*/ ); /*1*/ }; SOURCE(14557, 28) { /*1*/ word pd196; /*1*/ pd196 = (* (( (ptr) (* (( (ptr) gf_c79348)+298)/* var_c66644 */ ))+4) ); /*1*/ var_c66676 = (word) ( *( (fPt) ((* (ptr) pd196 ))))(r_v61012, (word) -1, pd196); /*1*/ }; var_c66548.f1 = var_c66676; }; p02_v25852 = var_c66548; }; }; SOURCE(15022, 33) { word x197; word x198; *(float*)&m_v25880.f0 = ( x197 = p1_v13788.f0, *(float*)&x197 ) - ( x198 = p02_v25852.f0, *(float*)&x198 ); }; { word x199; word x200; *(float*)&m_v25880.f1 = ( x199 = p1_v13788.f1, *(float*)&x199 ) - ( x200 = p02_v25852.f1, *(float*)&x200 ); }; SOURCE(15057, 798) { float tf201; word x202; float tf203; word x204; word x205; word x206; if (((FABS(( x202 = m_v25880.f0, *(float*)&x202 ), tf201) + FABS(( x204 = m_v25880.f1, *(float*)&x204 ), tf203)) * ( x205 = r_v13844, *(float*)&x205 ) <= ( x206 = tolerance_v13872, *(float*)&x206 ))) { SOURCE(15139, 49) { word var_c66772; var_c66772 = XR_NewObject(24, (* (( (ptr) gf_c79348)+25) )); (* (( (ptr) var_c66772)+1) ) = 2; polyline_v13916 = var_c66772; }; SOURCE(15190, 19) (* (ptr) polyline_v13916 ) = 2; SOURCE(15211, 16) { word limit207; (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( /*1*/ limit207 = (* (( (ptr) polyline_v13916)+1) ), /*1*/ BCK(0, limit207) /*1*/ )) ) = p0_v13760; }; SOURCE(15229, 16) { word limit208; (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( /*1*/ limit208 = (* (( (ptr) polyline_v13916)+1) ), /*1*/ BCK(1, limit208) /*1*/ )) ) = p2_v13816; }; } else { SOURCE(15254, 612) { W2 q_v25924; word rNew_v25952; word poly1_v25980 = 0; word poly2_v26008 = 0; word totalPoints_v26036; SOURCE(15256, 35) { /*1*/ word x209; /*1*/ word x210; /*1*/ word x211; /*1*/ *(float*)&q_v25924.f0 = (( /*1*/ x209 = m_v25880.f0, *(float*)&x209 /*1*/ ) * ( /*1*/ x210 = r_v13844, *(float*)&x210 /*1*/ )) + ( /*1*/ x211 = p02_v25852.f0, *(float*)&x211 /*1*/ ); /*1*/ }; { /*1*/ word x212; /*1*/ word x213; /*1*/ word x214; /*1*/ *(float*)&q_v25924.f1 = (( /*1*/ x212 = m_v25880.f1, *(float*)&x212 /*1*/ ) * ( /*1*/ x213 = r_v13844, *(float*)&x213 /*1*/ )) + ( /*1*/ x214 = p02_v25852.f1, *(float*)&x214 /*1*/ ); /*1*/ }; SOURCE(15293, 46) { /*1*/ word x215; /*1*/ word x216; /*1*/ word pd217; /*1*/ word x218; /*1*/ word x219; /*1*/ word x220; /*1*/ float tf221; /*1*/ word x222; /*1*/ pd217 = (* (( (ptr) (* (( (ptr) gf_c79348)+299)/* var_c66836 */ ))+9) ); /*1*/ *(float*)&rNew_v25952 = ( /*1*/ x215 = (* (ptr) &fc158 ), *(float*)&x215 /*1*/ ) / (( /*1*/ x216 = (* (ptr) &fc158 ), *(float*)&x216 /*1*/ ) + ( /*1*/ x222 = (word) ( *( (fPt) ((* (ptr) pd217 ))))(( /*1*/ tf221 = ( /*1*/ x218 = (* (ptr) &fc70 ), *(float*)&x218 /*1*/ ) * (( /*1*/ x219 = (* (ptr) &fc158 ), *(float*)&x219 /*1*/ ) - ( /*1*/ x220 = r_v13844, *(float*)&x220 /*1*/ )), *(word*)&tf221 /*1*/ ), pd217), *(float*)&x222 /*1*/ )); /*1*/ }; SOURCE(15402, 87) { /*1*/ W2 var_c66868; /*1*/ { /*1*/ word x223; /*1*/ word x224; /*1*/ word x225; /*1*/ word x226; /*1*/ *(float*)&var_c66868.f0 = ((( /*1*/ x223 = p1_v13788.f0, *(float*)&x223 /*1*/ ) - ( /*1*/ x224 = p0_v13760.f0, *(float*)&x224 /*1*/ )) * ( /*1*/ x225 = r_v13844, *(float*)&x225 /*1*/ )) + ( /*1*/ x226 = p0_v13760.f0, *(float*)&x226 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word x227; /*1*/ word x228; /*1*/ word x229; /*1*/ word x230; /*1*/ *(float*)&var_c66868.f1 = ((( /*1*/ x227 = p1_v13788.f1, *(float*)&x227 /*1*/ ) - ( /*1*/ x228 = p0_v13760.f1, *(float*)&x228 /*1*/ )) * ( /*1*/ x229 = r_v13844, *(float*)&x229 /*1*/ )) + ( /*1*/ x230 = p0_v13760.f1, *(float*)&x230 /*1*/ ); /*1*/ }; /*1*/ poly1_v25980 = (word) ConicPolyline_P2640(p0_v13760, var_c66868, q_v25924, rNew_v25952, tolerance_v13872); /*1*/ }; SOURCE(15491, 87) { /*1*/ W2 var_c66900; /*1*/ { /*1*/ word x231; /*1*/ word x232; /*1*/ word x233; /*1*/ word x234; /*1*/ *(float*)&var_c66900.f0 = ((( /*1*/ x231 = p1_v13788.f0, *(float*)&x231 /*1*/ ) - ( /*1*/ x232 = p2_v13816.f0, *(float*)&x232 /*1*/ )) * ( /*1*/ x233 = r_v13844, *(float*)&x233 /*1*/ )) + ( /*1*/ x234 = p2_v13816.f0, *(float*)&x234 /*1*/ ); /*1*/ }; /*1*/ { /*1*/ word x235; /*1*/ word x236; /*1*/ word x237; /*1*/ word x238; /*1*/ *(float*)&var_c66900.f1 = ((( /*1*/ x235 = p1_v13788.f1, *(float*)&x235 /*1*/ ) - ( /*1*/ x236 = p2_v13816.f1, *(float*)&x236 /*1*/ )) * ( /*1*/ x237 = r_v13844, *(float*)&x237 /*1*/ )) + ( /*1*/ x238 = p2_v13816.f1, *(float*)&x238 /*1*/ ); /*1*/ }; /*1*/ poly2_v26008 = (word) ConicPolyline_P2640(q_v25924, var_c66900, p2_v13816, rNew_v25952, tolerance_v13872); /*1*/ }; SOURCE(15580, 41) { /*1*/ word idx239; /*1*/ totalPoints_v26036 = ( /*1*/ idx239 = (word) (((* (ptr) poly1_v25980 ) + (* (ptr) poly2_v26008 )) - 1), /*1*/ SGNCK(idx239) /*1*/ ); /*1*/ }; SOURCE(15623, 59) { /*1*/ word var_c66932; /*1*/ word var_c66964; /*1*/ var_c66932 = ((word) totalPoints_v26036 << 3); /*1*/ var_c66964 = XR_NewObject((8 + var_c66932), (* (( (ptr) gf_c79348)+25) )); /*1*/ (* (( (ptr) var_c66964)+1) ) = totalPoints_v26036; /*1*/ polyline_v13916 = var_c66964; /*1*/ }; SOURCE(15684, 29) (* (ptr) polyline_v13916 ) = totalPoints_v26036; SOURCE(15715, 57) { /*1*/ register word i_v26080 = 0; /*1*/ register word noName_c66996; /*1*/ noName_c66996 = (* (ptr) poly1_v25980 ); /*1*/ if ((i_v26080 >= noName_c66996)) { /*1*/ goto lab_L100015; /*1*/ }; /*1*/ lab_L100018: ; SOURCE(15750, 22) /*1*/ { /*1*/ word limit240; /*1*/ word limit241; /*1*/ (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( /*1*/ limit240 = (* (( (ptr) polyline_v13916)+1) ), /*1*/ BCK(i_v26080, limit240) /*1*/ )) ) = (* (( (W2Pt) (( (ptr) poly1_v25980)+2))+( /*1*/ limit241 = (* (( (ptr) poly1_v25980)+1) ), /*1*/ BCK(i_v26080, limit241) /*1*/ )) ); /*1*/ }; /*1*/ i_v26080 = (i_v26080 + 1); /*1*/ if ((i_v26080 < noName_c66996)) { /*1*/ goto lab_L100018; /*1*/ }; /*1*/ lab_L100015: ; /*1*/ }; SOURCE(15783, 72) { /*1*/ register word i_v26124 = 1; /*1*/ register word noName_c67028; /*1*/ noName_c67028 = (* (ptr) poly2_v26008 ); /*1*/ if ((i_v26124 >= noName_c67028)) { /*1*/ goto lab_L100019; /*1*/ }; /*1*/ lab_L100022: ; SOURCE(15818, 37) /*1*/ { /*1*/ word var_c67060; /*1*/ var_c67060 = ((i_v26124 + (* (ptr) poly1_v25980 )) - 1); /*1*/ { /*1*/ word limit242; /*1*/ word limit243; /*1*/ (* (( (W2Pt) (( (ptr) polyline_v13916)+2))+( /*1*/ limit242 = (* (( (ptr) polyline_v13916)+1) ), /*1*/ BCK(var_c67060, limit242) /*1*/ )) ) = (* (( (W2Pt) (( (ptr) poly2_v26008)+2))+( /*1*/ limit243 = (* (( (ptr) poly2_v26008)+1) ), /*1*/ BCK(i_v26124, limit243) /*1*/ )) ); /*1*/ }; /*1*/ }; /*1*/ i_v26124 = (i_v26124 + 1); /*1*/ if ((i_v26124 < noName_c67028)) { /*1*/ goto lab_L100022; /*1*/ }; /*1*/ lab_L100019: ; /*1*/ }; }; }; }; }; }; }; }; }; SOURCE(14589, 1266) return(polyline_v13916); } static word BuildBezierClass_P2700() { register ptr gf_c79380 = (ptr) &globalframe; word class_v14088; /* BuildBezierClass: */ SOURCE(16015, 1028) SOURCE(16015, 1028) class_v14088 = 0; SOURCE(16091, 952) { word var_c67092; var_c67092 = XR_NewObject(116, (* (( (ptr) gf_c79380)+20) )); (* (ptr) var_c67092 ) = (* (( (ptr) gf_c79380)+30) ); (* (( (ptr) var_c67092)+1) ) = (word) (( (bPt) gf_c79380)+732)/* var_c63252 */ ; (* (( (ptr) var_c67092)+2) ) = (word) (( (bPt) gf_c79380)+724)/* var_c63220 */ ; (* (( (ptr) var_c67092)+3) ) = (word) (( (bPt) gf_c79380)+708)/* var_c63156 */ ; (* (( (ptr) var_c67092)+4) ) = (word) (( (bPt) gf_c79380)+700)/* var_c63124 */ ; (* (( (ptr) var_c67092)+5) ) = (* (( (ptr) (* (( (ptr) gf_c79380)+295)/* var_c65748 */ ))+35) ); (* (( (ptr) var_c67092)+6) ) = (word) (( (bPt) gf_c79380)+284)/* var_c61460 */ ; (* (( (ptr) var_c67092)+7) ) = (word) (( (bPt) gf_c79380)+660)/* var_c62964 */ ; (* (( (ptr) var_c67092)+8) ) = (word) (( (bPt) gf_c79380)+692)/* var_c63092 */ ; (* (( (ptr) var_c67092)+9) ) = (word) (( (bPt) gf_c79380)+684)/* var_c63060 */ ; (* (( (ptr) var_c67092)+10) ) = (word) (( (bPt) gf_c79380)+676)/* var_c63028 */ ; (* (( (ptr) var_c67092)+11) ) = (word) (( (bPt) gf_c79380)+556)/* var_c62548 */ ; (* (( (ptr) var_c67092)+12) ) = (word) (( (bPt) gf_c79380)+548)/* var_c62516 */ ; (* (( (ptr) var_c67092)+13) ) = (word) (( (bPt) gf_c79380)+540)/* var_c62484 */ ; (* (( (ptr) var_c67092)+14) ) = (word) (( (bPt) gf_c79380)+612)/* var_c62772 */ ; (* (( (ptr) var_c67092)+15) ) = (word) (( (bPt) gf_c79380)+604)/* var_c62740 */ ; (* (( (ptr) var_c67092)+16) ) = (word) (( (bPt) gf_c79380)+628)/* var_c62836 */ ; (* (( (ptr) var_c67092)+17) ) = (word) (( (bPt) gf_c79380)+620)/* var_c62804 */ ; (* (( (ptr) var_c67092)+18) ) = (word) (( (bPt) gf_c79380)+276)/* var_c61428 */ ; (* (( (ptr) var_c67092)+19) ) = (word) (( (bPt) gf_c79380)+596)/* var_c62708 */ ; (* (( (ptr) var_c67092)+20) ) = (* (( (ptr) (* (( (ptr) gf_c79380)+295)/* var_c65748 */ ))+42) ); (* (( (ptr) var_c67092)+21) ) = (* (( (ptr) (* (( (ptr) gf_c79380)+295)/* var_c65748 */ ))+43) ); (* (( (ptr) var_c67092)+22) ) = (* (( (ptr) (* (( (ptr) gf_c79380)+295)/* var_c65748 */ ))+44) ); (* (( (ptr) var_c67092)+23) ) = (word) (( (bPt) gf_c79380)+588)/* var_c62676 */ ; (* (( (ptr) var_c67092)+24) ) = (word) (( (bPt) gf_c79380)+580)/* var_c62644 */ ; (* (( (ptr) var_c67092)+25) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c79380)+295)/* var_c65748 */ ))+48) ); (* (( (ptr) var_c67092)+26) ) = (word) (( (bPt) gf_c79380)+572)/* var_c62612 */ ; (* (( (ptr) var_c67092)+27) ) = (word) (( (bPt) gf_c79380)+564)/* var_c62580 */ ; (* (( (ptr) var_c67092)+28) ) = (word) (( (bPt) gf_c79380)+756)/* var_c63348 */ ; class_v14088 = var_c67092; }; SOURCE(16015, 1028) return(class_v14088); } static void BZSetStrokeWidth_P2760(seg_v14148, strokeWidth_v14176) word seg_v14148; word strokeWidth_v14176; { /* BZSetStrokeWidth: */ SOURCE(17049, 113) SOURCE(17110, 29) (* (( (ptr) seg_v14148)+2) ) = strokeWidth_v14176; SOURCE(17141, 21) (void) UpdateBZBoundBox_P3060(seg_v14148); } static word MakeBezier_P2820(p0_v14236, p1_v14264, p2_v14292, p3_v14320, props_v14348) W2 p0_v14236; W2 p1_v14264; W2 p2_v14292; W2 p3_v14320; word props_v14348; { register ptr gf_c79412 = (ptr) &globalframe; word seg_v14488; word data_v26168; /* MakeBezier: */ SOURCE(17168, 637) SOURCE(17168, 637) seg_v14488 = 0; SOURCE(17267, 73) { word var_c67124; word var_c67188; var_c67124 = XR_NewObject(20, (* (( (ptr) gf_c79412)+28) )); var_c67188 = XR_NewObject(36, (* (( (ptr) gf_c79412)+27) )); (* (( (ptr) var_c67188)+8) ) = var_c67124; data_v26168 = var_c67188; }; SOURCE(17342, 50) { word var_c67220; { word var_c67252; var_c67252 = XR_NewObject(36, (* (( (ptr) gf_c79412)+29) )); (* (ptr) var_c67252 ) = 1; var_c67220 = var_c67252; }; (* (( (ptr) (* (( (ptr) data_v26168)+8) ))+4) ) = var_c67220; }; SOURCE(17394, 38) { word var_c67316; word var_c67284; { word limit244; var_c67284 = (* (( (ptr) (* (( (ptr) data_v26168)+8) ))+4) ); var_c67316 = (word) (( (W8Pt) (( (bPt) var_c67284)+4))+( limit244 = (* (ptr) var_c67284 ), BCK(0, limit244) )); }; (* (W2Pt) var_c67316 ) = p0_v14236; (* (W2Pt) (( (ptr) var_c67316)+2) ) = p1_v14264; (* (W2Pt) (( (ptr) var_c67316)+4) ) = p2_v14292; (* (W2Pt) (( (ptr) var_c67316)+6) ) = p3_v14320; }; SOURCE(17434, 348) { word var_c67348; word var_c67380; word var_c67412; word var_c67444; var_c67348 = (word) FetchSegmentClass_P120((* ((( (ptr) gf_c79412)+30)) )); { word pd245; pd245 = (* (( (ptr) (* (( (ptr) gf_c79412)+287)/* var_c65172 */ ))+5) ); var_c67380 = (word) ( *( (fPt) ((* (ptr) pd245 ))))((* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), 0, 0, pd245) ; }; { word pd246; pd246 = (* (( (ptr) (* (( (ptr) gf_c79412)+287)/* var_c65172 */ ))+5) ); var_c67412 = (word) ( *( (fPt) ((* (ptr) pd246 ))))((* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), 0, 0, pd246) ; }; var_c67444 = XR_NewObject(104, (* (( (ptr) gf_c79412)+15) )); (* (ptr) var_c67444 ) = var_c67348; (* (( (ptr) var_c67444)+2) ) = (* (( (ptr) gf_c79412)+4)/* defaultStrokeWidth_v4540 */ ); (* (( (ptr) var_c67444)+3) ) = (* (( (ptr) gf_c79412)+5)/* defaultStrokeEnd_v4568 */ ); (* (( (ptr) var_c67444)+6) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c67444)+7) ) = (* (ptr) &fc115 ); (* (( (ptr) var_c67444)+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf_c79412)+294)/* var_c65684 */ ))+54) ) ); (* (W2Pt) (( (ptr) var_c67444)+9) ) = p0_v14236; (* (W2Pt) (( (ptr) var_c67444)+11) ) = p3_v14320; (* (( (ptr) var_c67444)+13) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c67444)+14) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c67444)+15) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c67444)+16) ) = (* (ptr) &fc78 ); (* (W4Pt) (( (ptr) var_c67444)+17) ) = (* (W4Pt) (( (ptr) gf_c79412)+279)/* var_c64820 */ ); (* (( (ptr) var_c67444)+21) ) = var_c67380; (* (( (ptr) var_c67444)+22) ) = var_c67412; (* (( (ptr) var_c67444)+24) ) = data_v26168; (* (( (ptr) var_c67444)+25) ) = props_v14348; seg_v14488 = var_c67444; }; SOURCE(17784, 21) (void) UpdateBZBoundBox_P3060(seg_v14488); SOURCE(17168, 637) return(seg_v14488); } static void BezierGetParams_P2880(formal_c0443, seg_v14548) word formal_c0443; word seg_v14548; { register ptr gf_c79444 = (ptr) &globalframe; W2 p0_v14592; W2 p1_v14620; W2 p2_v14648; W2 p3_v14676; word data_v26212; /* BezierGetParams: */ SOURCE(17811, 231) SOURCE(17891, 35) data_v26212 = XR_Narrow((* (( (ptr) seg_v14548)+24) ), (* (( (ptr) gf_c79444)+27) )); { word var_c67476; word var_c67508; word var_c67540; word var_c67572; SOURCE(17928, 27) { word limit247; var_c67476 = (* (( (ptr) (* (( (ptr) data_v26212)+8) ))+4) ); p0_v14592 = (* (W2Pt) (( (W8Pt) (( (ptr) var_c67476)+1))+( limit247 = (* (ptr) var_c67476 ), BCK(0, limit247) )) ); }; SOURCE(17957, 27) { word limit248; var_c67508 = (* (( (ptr) (* (( (ptr) data_v26212)+8) ))+4) ); p1_v14620 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c67508)+1))+( limit248 = (* (ptr) var_c67508 ), BCK(0, limit248) )))+2) ); }; SOURCE(17986, 27) { word limit249; var_c67540 = (* (( (ptr) (* (( (ptr) data_v26212)+8) ))+4) ); p2_v14648 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c67540)+1))+( limit249 = (* (ptr) var_c67540 ), BCK(0, limit249) )))+4) ); }; SOURCE(18015, 27) { word limit250; var_c67572 = (* (( (ptr) (* (( (ptr) data_v26212)+8) ))+4) ); p3_v14676 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c67572)+1))+( limit250 = (* (ptr) var_c67572 ), BCK(0, limit250) )))+6) ); }; }; /* removed tail goto */ (* (W2Pt) formal_c0443 ) = p0_v14592; (* (W2Pt) (( (ptr) formal_c0443)+2) ) = p1_v14620; (* (W2Pt) (( (ptr) formal_c0443)+4) ) = p2_v14648; (* (W2Pt) (( (ptr) formal_c0443)+6) ) = p3_v14676; return; } static word BZBoundBox_P2940(seg_v14736) word seg_v14736; { word bBox_v14780; /* BZBoundBox: */ SOURCE(18048, 76) SOURCE(18048, 76) bBox_v14780 = 0; SOURCE(18109, 15) bBox_v14780 = (* (( (ptr) seg_v14736)+21) ); SOURCE(18048, 76) return(bBox_v14780); } static word BZTightBox_P3000(seg_v14840) word seg_v14840; { word bBox_v14884; /* BZTightBox: */ SOURCE(18130, 80) SOURCE(18130, 80) bBox_v14884 = 0; SOURCE(18191, 19) bBox_v14884 = (* (( (ptr) seg_v14840)+22) ); SOURCE(18130, 80) return(bBox_v14884); } static void UpdateBZBoundBox_P3060(seg_v14944) word seg_v14944; { register ptr gf_c79476 = (ptr) &globalframe; word pad_v26256; word data_v26284; word cubics_v26312; word floX_v26340; word floY_v26368; word fhiX_v26396; word fhiY_v26424; word ft1_v26452; word ft2_v26480; word ft3_v26508; word ft4_v26536; /* UpdateBZBoundBox: */ SOURCE(18216, 1117) SOURCE(18269, 35) data_v26284 = XR_Narrow((* (( (ptr) seg_v14944)+24) ), (* (( (ptr) gf_c79476)+27) )); SOURCE(18306, 54) cubics_v26312 = (* (( (ptr) (* (( (ptr) data_v26284)+8) ))+4) ); SOURCE(18418, 20) { word limit251; ft1_v26452 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit251 = (* (ptr) cubics_v26312 ), BCK(0, limit251) )) ).f0; }; SOURCE(18440, 20) { word limit252; ft2_v26480 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit252 = (* (ptr) cubics_v26312 ), BCK(0, limit252) )) ).f2; }; SOURCE(18462, 20) { word limit253; ft3_v26508 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit253 = (* (ptr) cubics_v26312 ), BCK(0, limit253) )) ).f4; }; SOURCE(18484, 20) { word limit254; ft4_v26536 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit254 = (* (ptr) cubics_v26312 ), BCK(0, limit254) )) ).f6; }; SOURCE(18506, 30) { word x255; float tf256; float tf257; word x258; float tf259; float tf260; float tf261; word x262; float tf263; float tf264; float tf265; word x266; float tf267; tf259 = FMIN(( x255 = ft1_v26452, *(float*)&x255 ), ( x258 = ft2_v26480, *(float*)&x258 ), tf256, tf257); tf263 = FMIN(tf259, ( x262 = ft3_v26508, *(float*)&x262 ), tf260, tf261); floX_v26340 = ( tf267 = FMIN(tf263, ( x266 = ft4_v26536, *(float*)&x266 ), tf264, tf265), *(word*)&tf267 ); }; SOURCE(18538, 20) { word limit268; ft1_v26452 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit268 = (* (ptr) cubics_v26312 ), BCK(0, limit268) )) ).f1; }; SOURCE(18560, 20) { word limit269; ft2_v26480 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit269 = (* (ptr) cubics_v26312 ), BCK(0, limit269) )) ).f3; }; SOURCE(18582, 20) { word limit270; ft3_v26508 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit270 = (* (ptr) cubics_v26312 ), BCK(0, limit270) )) ).f5; }; SOURCE(18604, 20) { word limit271; ft4_v26536 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit271 = (* (ptr) cubics_v26312 ), BCK(0, limit271) )) ).f7; }; SOURCE(18626, 30) { word x272; float tf273; float tf274; word x275; float tf276; float tf277; float tf278; word x279; float tf280; float tf281; float tf282; word x283; float tf284; tf276 = FMIN(( x272 = ft1_v26452, *(float*)&x272 ), ( x275 = ft2_v26480, *(float*)&x275 ), tf273, tf274); tf280 = FMIN(tf276, ( x279 = ft3_v26508, *(float*)&x279 ), tf277, tf278); floY_v26368 = ( tf284 = FMIN(tf280, ( x283 = ft4_v26536, *(float*)&x283 ), tf281, tf282), *(word*)&tf284 ); }; SOURCE(18658, 20) { word limit285; ft1_v26452 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit285 = (* (ptr) cubics_v26312 ), BCK(0, limit285) )) ).f0; }; SOURCE(18680, 20) { word limit286; ft2_v26480 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit286 = (* (ptr) cubics_v26312 ), BCK(0, limit286) )) ).f2; }; SOURCE(18702, 20) { word limit287; ft3_v26508 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit287 = (* (ptr) cubics_v26312 ), BCK(0, limit287) )) ).f4; }; SOURCE(18724, 20) { word limit288; ft4_v26536 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit288 = (* (ptr) cubics_v26312 ), BCK(0, limit288) )) ).f6; }; SOURCE(18746, 30) { word x289; float tf290; float tf291; word x292; float tf293; float tf294; float tf295; word x296; float tf297; float tf298; float tf299; word x300; float tf301; tf293 = FMAX(( x289 = ft1_v26452, *(float*)&x289 ), ( x292 = ft2_v26480, *(float*)&x292 ), tf290, tf291); tf297 = FMAX(tf293, ( x296 = ft3_v26508, *(float*)&x296 ), tf294, tf295); fhiX_v26396 = ( tf301 = FMAX(tf297, ( x300 = ft4_v26536, *(float*)&x300 ), tf298, tf299), *(word*)&tf301 ); }; SOURCE(18778, 20) { word limit302; ft1_v26452 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit302 = (* (ptr) cubics_v26312 ), BCK(0, limit302) )) ).f1; }; SOURCE(18800, 20) { word limit303; ft2_v26480 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit303 = (* (ptr) cubics_v26312 ), BCK(0, limit303) )) ).f3; }; SOURCE(18822, 20) { word limit304; ft3_v26508 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit304 = (* (ptr) cubics_v26312 ), BCK(0, limit304) )) ).f5; }; SOURCE(18844, 20) { word limit305; ft4_v26536 = (* (( (W8Pt) (( (ptr) cubics_v26312)+1))+( limit305 = (* (ptr) cubics_v26312 ), BCK(0, limit305) )) ).f7; }; SOURCE(18866, 30) { word x306; float tf307; float tf308; word x309; float tf310; float tf311; float tf312; word x313; float tf314; float tf315; float tf316; word x317; float tf318; tf310 = FMAX(( x306 = ft1_v26452, *(float*)&x306 ), ( x309 = ft2_v26480, *(float*)&x309 ), tf307, tf308); tf314 = FMAX(tf310, ( x313 = ft3_v26508, *(float*)&x313 ), tf311, tf312); fhiY_v26424 = ( tf318 = FMAX(tf314, ( x317 = ft4_v26536, *(float*)&x317 ), tf315, tf316), *(word*)&tf318 ); }; SOURCE(18898, 89) { word pd319; pd319 = (* (( (ptr) (* (( (ptr) gf_c79476)+287)/* var_c65172 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd319 ))))((* (( (ptr) seg_v14944)+22) ), floX_v26340, floY_v26368, fhiX_v26396, fhiY_v26424, pd319) ; }; SOURCE(18989, 34) { word pd320; pd320 = (* (( (ptr) (* (( (ptr) gf_c79476)+291)/* var_c65492 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd320 ))))((* ((( (ptr) data_v26284)+8)) ), pd320); }; SOURCE(19025, 157) { word pd321; word x322; word x323; float tf324; word x325; word x326; float tf327; pd321 = (* (( (ptr) (* (( (ptr) gf_c79476)+287)/* var_c65172 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd321 ))))((* (( (ptr) seg_v14944)+21) ), (* (ptr) (* (( (ptr) data_v26284)+8) ) ), (* (( (ptr) (* ( ( (ptr) data_v26284)+8) ))+1) ), ( tf324 = ( x322 = (* (ptr) (* (( (ptr) data_v26284)+8) ) ), *(float*)&x322 ) + ( x323 = (* (( (ptr) (* (( (ptr) data_v26284)+8) ))+2) ), *(float*)&x323 ), *(word*)&tf324 ), ( tf327 = ( x325 = (* (( (ptr) (* (( (ptr) data_v26284)+8) ))+1) ), *(float*)&x325 ) + ( x326 = (* (( (ptr) (* (( (ptr) data_v26284)+8) ))+3) ), *(float*)&x326 ), *(word*)&tf327 ), pd321); }; SOURCE(19184, 106) if (((* (( (ptr) seg_v14944)+3) ) == 0)) { SOURCE(19215, 44) { word x328; word x329; word x330; *(float*)&pad_v26256 = (( x328 = (* (( (ptr) seg_v14944)+2) ), *(float*)&x328 ) * ( x329 = (* (ptr) &fc156 ), *(float*)&x329 )) + ( x330 = (* (ptr) &fc158 ), *(float*)&x330 ); }; } else { SOURCE(19259, 31) { word x331; word x332; word x333; *(float*)&pad_v26256 = (( x331 = (* (( (ptr) seg_v14944)+2) ), *(float*)&x331 ) / ( x332 = (* (ptr) &fc70 ), *(float*)&x332 )) + ( x333 = (* (ptr) &fc158 ), *(float*)&x333 ); }; }; SOURCE(19292, 41) { word pd334; pd334 = (* (( (ptr) (* (( (ptr) gf_c79476)+287)/* var_c65172 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd334 ))))((* (( (ptr) seg_v14944)+21) ), pad_v26256, pd334); }; } static word BZCopyData_P3120(seg_v38880) word seg_v38880; { register ptr gf_c79508 = (ptr) &globalframe; word data_v38924; word bzData_v26592; word new_v26620; /* BZCopyData: */ SOURCE(19339, 249) SOURCE(19339, 249) data_v38924 = 0; SOURCE(19383, 37) bzData_v26592 = XR_Narrow((* (( (ptr) seg_v38880)+24) ), (* (( (ptr) gf_c79508)+27) )); SOURCE(19422, 36) new_v26620 = XR_NewObject(36, (* (( (ptr) gf_c79508)+27) )); SOURCE(19460, 34) (* (W4Pt) new_v26620 ) = (* (W4Pt) bzData_v26592 ); SOURCE(19496, 34) (* (W4Pt) (( (ptr) new_v26620)+4) ) = (* (W4Pt) (( (ptr) bzData_v26592)+4) ); SOURCE(19532, 43) { word pd335; pd335 = (* (( (ptr) (* (( (ptr) gf_c79508)+291)/* var_c65492 */ ))+12) ); (* (( (ptr) new_v26620)+8) ) = (word) ( *( (fPt) ((* (ptr) pd335 ))))((* ((( (ptr) bzData_v26592)+8)) ), pd335); }; SOURCE(19577, 11) return(new_v26620); } static void BZReverse_P3180(seg_v15004) word seg_v15004; { register ptr gf_c79540 = (ptr) &globalframe; word data_v26664; /* BZReverse: */ SOURCE(19594, 105) SOURCE(19629, 35) data_v26664 = XR_Narrow((* (( (ptr) seg_v15004)+24) ), (* (( (ptr) gf_c79540)+27) )); SOURCE(19666, 33) { word pd336; pd336 = (* (( (ptr) (* (( (ptr) gf_c79540)+291)/* var_c65492 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd336 ))))((* ((( (ptr) data_v26664)+8)) ), pd336); }; } static void BZTransform_P3240(seg_v15064, transform_v15092) word seg_v15064; word transform_v15092; { register ptr gf_c79572 = (ptr) &globalframe; word data_v26708; /* BZTransform: */ SOURCE(19704, 198) SOURCE(19789, 35) data_v26708 = XR_Narrow((* (( (ptr) seg_v15064)+24) ), (* (( (ptr) gf_c79572)+27) )); SOURCE(19826, 53) { word pd337; pd337 = (* (( (ptr) (* (( (ptr) gf_c79572)+291)/* var_c65492 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd337 ))))((* (( (ptr) data_v26708)+8) ), transform_v15092, 0, pd337); }; SOURCE(19881, 21) (void) UpdateBZBoundBox_P3060(seg_v15064); } static void BZEndPointMoved_P3300(seg_v15152, lo_v15180, newPoint_v15208) word seg_v15152; word lo_v15180; W2 newPoint_v15208; { register ptr gf_c79604 = (ptr) &globalframe; word data_v26752; /* BZEndPointMoved: */ SOURCE(19908, 243) SOURCE(19976, 35) data_v26752 = XR_Narrow((* (( (ptr) seg_v15152)+24) ), (* (( (ptr) gf_c79604)+27) )); SOURCE(20013, 115) if ((0 != lo_v15180)) { SOURCE(20024, 55) { word var_c67668; word var_c67636; { word limit338; var_c67636 = (* (( (ptr) (* (( (ptr) data_v26752)+8) ))+4) ); var_c67668 = (word) (( (W8Pt) (( (bPt) var_c67636)+4))+( limit338 = (* (ptr) var_c67636 ), BCK(0, limit338) )); }; (* (ptr) var_c67668 ) = newPoint_v15208.f0; (* (( (ptr) var_c67668)+1) ) = newPoint_v15208.f1; }; } else { SOURCE(20079, 49) { word var_c67732; word var_c67700; { word limit339; var_c67700 = (* (( (ptr) (* (( (ptr) data_v26752)+8) ))+4) ); var_c67732 = (word) (( (bPt) (( (W8Pt) (( (bPt) var_c67700)+4))+( limit339 = (* (ptr) var_c67700 ), BCK(0, limit339) )))+24); }; (* (ptr) var_c67732 ) = newPoint_v15208.f0; (* (( (ptr) var_c67732)+1) ) = newPoint_v15208.f1; }; }; SOURCE(20130, 21) (void) UpdateBZBoundBox_P3060(seg_v15152); } static void BZControlPointMoved_P3360(seg_v15268, transform_v15296, controlPointNum_v15324) word seg_v15268; word transform_v15296; word controlPointNum_v15324; { register ptr gf_c79636 = (ptr) &globalframe; word data_v26796; /* BZControlPointMoved: */ SOURCE(20157, 413) SOURCE(20272, 35) data_v26796 = XR_Narrow((* (( (ptr) seg_v15268)+24) ), (* (( (ptr) gf_c79636)+27) )); SOURCE(20309, 220) { word var_c67764; var_c67764 = controlPointNum_v15324; if ((var_c67764 == 0)) { SOURCE(20342, 90) { W2 var_c67796; word var_c67860; { W2 var_c0484; { word var_c67828; W2 var_c01371; { word limit340; var_c67828 = (* (( (ptr) (* (( (ptr) data_v26796)+8) ))+4) ); var_c01371 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c67828)+1))+( /*1*/ limit340 = (* (ptr) var_c67828 ), /*1*/ BCK(0, limit340) /*1*/ )))+2) ); }; { word pd341; pd341 = (* (( (ptr) (* (( (ptr) gf_c79636)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd341 ))))((word) &var_c0484, transform_v15296, var_c01371, pd341); }; }; var_c67796 = var_c0484; }; { word limit342; var_c67860 = (* (( (ptr) (* (( (ptr) data_v26796)+8) ))+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c67860)+1))+( limit342 = (* (ptr) var_c67860 ), BCK(0, limit342) )))+2) ) = var_c67796; }; }; } else { if ((var_c67764 == 1)) { SOURCE(20439, 90) { W2 var_c67892; word var_c67956; { W2 var_c0488; { word var_c67924; W2 var_c01372; { word limit343; var_c67924 = (* (( (ptr) (* (( (ptr) data_v26796)+8) ))+4) ); var_c01372 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c67924)+1))+( /*1*/ limit343 = (* (ptr) var_c67924 ), /*1*/ BCK(0, limit343) /*1*/ )))+4) ); }; { word pd344; pd344 = (* (( (ptr) (* (( (ptr) gf_c79636)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd344 ))))((word) &var_c0488, transform_v15296, var_c01372, pd344); }; }; var_c67892 = var_c0488; }; { word limit345; var_c67956 = (* (( (ptr) (* (( (ptr) data_v26796)+8) ))+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c67956)+1))+( limit345 = (* (ptr) var_c67956 ), BCK(0, limit345) )))+4) ) = var_c67892; }; }; } else { SOURCE(20542, 5) (void) XR_RaiseUnnamedError(); }; }; }; SOURCE(20549, 21) (void) UpdateBZBoundBox_P3060(seg_v15268); } static void BZControlPointMovedTo_P3420(seg_v15384, newPos_v15412, controlPointNum_v15440) word seg_v15384; W2 newPos_v15412; word controlPointNum_v15440; { register ptr gf_c79668 = (ptr) &globalframe; word data_v26840; /* BZControlPointMovedTo: */ SOURCE(20576, 271) SOURCE(20667, 35) data_v26840 = XR_Narrow((* (( (ptr) seg_v15384)+24) ), (* (( (ptr) gf_c79668)+27) )); SOURCE(20704, 102) { word var_c67988; word var_c68020; word var_c68052; var_c67988 = controlPointNum_v15440; if ((var_c67988 == 0)) { SOURCE(20737, 31) { word limit346; var_c68020 = (* (( (ptr) (* (( (ptr) data_v26840)+8) ))+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68020)+1))+( limit346 = (* (ptr) var_c68020 ), BCK(0, limit346) )))+2) ) = newPos_v15412; }; } else { if ((var_c67988 == 1)) { SOURCE(20775, 31) { word limit347; var_c68052 = (* (( (ptr) (* (( (ptr) data_v26840)+8) ))+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68052)+1))+( limit347 = (* (ptr) var_c68052 ), BCK(0, limit347) )))+4) ) = newPos_v15412; }; } else { SOURCE(20819, 5) (void) XR_RaiseUnnamedError(); }; }; }; SOURCE(20826, 21) (void) UpdateBZBoundBox_P3060(seg_v15384); } static void BZBuildPathTransform_P3480(seg_v15500, transform_v15528, entire_v15556, lo_v15584, hi_v15612, controlPoints_v15640, lineTo_v15668, curveTo_v15696, conicTo_v15724, arcTo_v15752) word seg_v15500; word transform_v15528; word entire_v15556; word lo_v15584; word hi_v15612; word controlPoints_v15640; word lineTo_v15668; word curveTo_v15696; word conicTo_v15724; word arcTo_v15752; { W6 var_c79700; register ptr gf_c79732 = (ptr) &globalframe; /* declaration of var_c68084 skipped */ word path_v26884; word moveTo_v26912; /* BZBuildPathTransform: */ SOURCE(20853, 756) { word tmpAddr348; tmpAddr348 = (word) (( (ptr) &var_c79700)+4)/* var_c68084 */ ; (* (ptr) tmpAddr348 ) = ( ((word) (fPt) NoName_Q7524) ); (* (( (ptr) tmpAddr348) + 1) ) = 1; }; SOURCE(21121, 36) path_v26884 = (word) GetPath_P6780(seg_v15500); SOURCE(21159, 32) moveTo_v26912 = (word) (( (bPt) &var_c79700)+16)/* var_c68084 */ ; SOURCE(21195, 414) if ((0 != entire_v15556)) { SOURCE(21210, 173) { word scratchPath_v26956; SOURCE(21212, 56) { word pd349; pd349 = (* (( (ptr) (* (( (ptr) gf_c79732)+291)/* var_c65492 */ ))+12) ); scratchPath_v26956 = (word) ( *( (fPt) ((* (ptr) pd349 ))))(path_v26884, pd349); }; SOURCE(21270, 55) { word pd350; pd350 = (* (( (ptr) (* (( (ptr) gf_c79732)+291)/* var_c65492 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd350 ))))(scratchPath_v26956, transform_v15528, 0, pd350); }; SOURCE(21327, 54) { word pd351; pd351 = (* (( (ptr) (* (( (ptr) gf_c79732)+291)/* var_c65492 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd351 ))))(scratchPath_v26956, moveTo_v26912, curveTo_v15696, pd351); }; }; } else { SOURCE(21390, 221) { W2 oldLo_v27000; W2 oldHi_v27028; W2 oldC1_v27056; W2 oldC2_v27084; SOURCE(21425, 86) { W8 var_c68116; (void) BZTransformPath_P3540((word) &var_c68116, path_v26884, transform_v15528, lo_v15584, hi_v15612, controlPoints_v15640) ; oldC2_v27084 = (* (W2Pt) (( (ptr) &var_c68116)+6) ); oldC1_v27056 = (* (W2Pt) (( (ptr) &var_c68116)+4) ); oldHi_v27028 = (* (W2Pt) (( (ptr) &var_c68116)+2) ); oldLo_v27000 = (* (W2Pt) &var_c68116 ); }; SOURCE(21513, 47) { word pd352; pd352 = (* (( (ptr) (* (( (ptr) gf_c79732)+291)/* var_c65492 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd352 ))))(path_v26884, moveTo_v26912, curveTo_v15696, pd352); }; SOURCE(21562, 47) (void) BZRestorePath_P3660(path_v26884, oldLo_v27000, oldHi_v27028, oldC1_v27056, oldC2_v27084); }; }; } static void NoName_Q7524(p_v56832, formal_c79764) W2 p_v56832; word formal_c79764; { formal_c79764 = (formal_c79764 - 16); /* : */ } static void BZTransformPath_P3540(formal_c0545, path_v15812, transform_v15840, lo_v15868, hi_v15896, controlPoints_v15924) word formal_c0545; word path_v15812; word transform_v15840; word lo_v15868; word hi_v15896; word controlPoints_v15924; { register ptr gf_c79796 = (ptr) &globalframe; W2 oldLo_v15968; W2 oldHi_v15996; W2 oldC1_v16024; W2 oldC2_v16052; /* BZTransformPath: */ SOURCE(21617, 704) { word var_c68148; word var_c68180; word var_c68212; word var_c68244; SOURCE(21797, 25) { word limit353; var_c68148 = (* (( (ptr) path_v15812)+4) ); oldLo_v15968 = (* (W2Pt) (( (W8Pt) (( (ptr) var_c68148)+1))+( limit353 = (* (ptr) var_c68148 ), BCK(0, limit353) )) ); }; SOURCE(21824, 25) { word limit354; var_c68180 = (* (( (ptr) path_v15812)+4) ); oldHi_v15996 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68180)+1))+( limit354 = (* (ptr) var_c68180 ), BCK(0, limit354) )))+6) ); }; SOURCE(21851, 25) { word limit355; var_c68212 = (* (( (ptr) path_v15812)+4) ); oldC1_v16024 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68212)+1))+( limit355 = (* (ptr) var_c68212 ), BCK(0, limit355) )))+2) ); }; SOURCE(21878, 25) { word limit356; var_c68244 = (* (( (ptr) path_v15812)+4) ); oldC2_v16052 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68244)+1))+( limit356 = (* (ptr) var_c68244 ), BCK(0, limit356) )))+4) ); }; SOURCE(21905, 79) if ((0 != lo_v15868)) { SOURCE(21916, 68) { W2 var_c68276; word var_c68308; { word pd357; pd357 = (* (( (ptr) (* (( (ptr) gf_c79796)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd357 ))))((word) &var_c68276, transform_v15840, oldLo_v15968, pd357); }; { word limit358; var_c68308 = (* (( (ptr) path_v15812)+4) ); (* (W2Pt) (( (W8Pt) (( (ptr) var_c68308)+1))+( limit358 = (* (ptr) var_c68308 ), BCK(0, limit358) )) ) = var_c68276; }; }; }; SOURCE(21986, 79) if ((0 != hi_v15896)) { SOURCE(21997, 68) { W2 var_c68340; word var_c68372; { word pd359; pd359 = (* (( (ptr) (* (( (ptr) gf_c79796)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd359 ))))((word) &var_c68340, transform_v15840, oldHi_v15996, pd359); }; { word limit360; var_c68372 = (* (( (ptr) path_v15812)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68372)+1))+( limit360 = (* (ptr) var_c68372 ), BCK(0, limit360) )))+6) ) = var_c68340; }; }; }; SOURCE(22067, 126) { word limit362; if ((controlPoints_v15924 == 0)) { goto then0361;}; if (XR_ExtractField(controlPoints_v15924, 32 + (word) ( limit362 = (* (ptr) controlPoints_v15924 ), BCK(0, limit362) ), 1)) { then0361: ; SOURCE(22113, 80) { W2 var_c68404; word var_c68468; { W2 var_c0539; { word var_c68436; W2 var_c01373; { word limit363; var_c68436 = (* (( (ptr) path_v15812)+4) ); var_c01373 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68436)+1))+( /*1*/ limit363 = (* (ptr) var_c68436 ), /*1*/ BCK(0, limit363) /*1*/ )))+2) ); }; { word pd364; pd364 = (* (( (ptr) (* (( (ptr) gf_c79796)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd364 ))))((word) &var_c0539, transform_v15840, var_c01373, pd364); }; }; var_c68404 = var_c0539; }; { word limit365; var_c68468 = (* (( (ptr) path_v15812)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68468)+1))+( limit365 = (* (ptr) var_c68468 ), BCK(0, limit365) )))+2) ) = var_c68404; }; }; }; }; SOURCE(22195, 126) { word limit367; if ((controlPoints_v15924 == 0)) { goto then0366;}; if (XR_ExtractField(controlPoints_v15924, 32 + (word) ( limit367 = (* (ptr) controlPoints_v15924 ), BCK(1, limit367) ), 1)) { then0366: ; SOURCE(22241, 80) { W2 var_c68500; word var_c68564; { W2 var_c0543; { word var_c68532; W2 var_c01374; { word limit368; var_c68532 = (* (( (ptr) path_v15812)+4) ); var_c01374 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68532)+1))+( /*1*/ limit368 = (* (ptr) var_c68532 ), /*1*/ BCK(0, limit368) /*1*/ )))+4) ); }; { word pd369; pd369 = (* (( (ptr) (* (( (ptr) gf_c79796)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd369 ))))((word) &var_c0543, transform_v15840, var_c01374, pd369); }; }; var_c68500 = var_c0543; }; { word limit370; var_c68564 = (* (( (ptr) path_v15812)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68564)+1))+( limit370 = (* (ptr) var_c68564 ), BCK(0, limit370) )))+4) ) = var_c68500; }; }; }; }; }; /* removed tail goto */ (* (W2Pt) formal_c0545 ) = oldLo_v15968; (* (W2Pt) (( (ptr) formal_c0545)+2) ) = oldHi_v15996; (* (W2Pt) (( (ptr) formal_c0545)+4) ) = oldC1_v16024; (* (W2Pt) (( (ptr) formal_c0545)+6) ) = oldC2_v16052; return; } static void BZSpecialTransformPath_P3600(seg_v16112, transform_v16140, lo_v16168, hi_v16196, controlPoints_v16224, loTransform_v16252, hiTransform_v16280, curveTo_v16308) word seg_v16112; word transform_v16140; word lo_v16168; word hi_v16196; word controlPoints_v16224; word loTransform_v16252; word hiTransform_v16280; word curveTo_v16308; { W6 var_c79828; register ptr gf_c79860 = (ptr) &globalframe; /* declaration of var_c68596 skipped */ W2 oldLo_v27128; W2 oldHi_v27156; W2 oldC1_v27184; W2 oldC2_v27212; word path_v27240; word moveTo_v27268; word var_c68628; word var_c68660; word var_c68692; word var_c68724; /* BZSpecialTransformPath: */ SOURCE(22327, 972) { word tmpAddr371; tmpAddr371 = (word) (( (ptr) &var_c79828)+4)/* var_c68596 */ ; (* (ptr) tmpAddr371 ) = ( ((word) (fPt) NoName_Q7680) ); (* (( (ptr) tmpAddr371) + 1) ) = 1; }; SOURCE(22599, 36) path_v27240 = (word) GetPath_P6780(seg_v16112); SOURCE(22637, 32) moveTo_v27268 = (word) (( (bPt) &var_c79828)+16)/* var_c68596 */ ; SOURCE(22673, 25) { word limit372; var_c68628 = (* (( (ptr) path_v27240)+4) ); oldLo_v27128 = (* (W2Pt) (( (W8Pt) (( (ptr) var_c68628)+1))+( limit372 = (* (ptr) var_c68628 ), BCK(0, limit372) )) ); }; SOURCE(22700, 25) { word limit373; var_c68660 = (* (( (ptr) path_v27240)+4) ); oldHi_v27156 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68660)+1))+( limit373 = (* (ptr) var_c68660 ), BCK(0, limit373) )))+6) ); }; SOURCE(22727, 25) { word limit374; var_c68692 = (* (( (ptr) path_v27240)+4) ); oldC1_v27184 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68692)+1))+( limit374 = (* (ptr) var_c68692 ), BCK(0, limit374) )))+2) ); }; SOURCE(22754, 25) { word limit375; var_c68724 = (* (( (ptr) path_v27240)+4) ); oldC2_v27212 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68724)+1))+( limit375 = (* (ptr) var_c68724 ), BCK(0, limit375) )))+4) ); }; SOURCE(22781, 79) if ((0 != lo_v16168)) { SOURCE(22792, 68) { W2 var_c68756; word var_c68788; { word pd376; pd376 = (* (( (ptr) (* (( (ptr) gf_c79860)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd376 ))))((word) &var_c68756, transform_v16140, oldLo_v27128, pd376); }; { word limit377; var_c68788 = (* (( (ptr) path_v27240)+4) ); (* (W2Pt) (( (W8Pt) (( (ptr) var_c68788)+1))+( limit377 = (* (ptr) var_c68788 ), BCK(0, limit377) )) ) = var_c68756; }; }; }; SOURCE(22862, 79) if ((0 != hi_v16196)) { SOURCE(22873, 68) { W2 var_c68820; word var_c68852; { word pd378; pd378 = (* (( (ptr) (* (( (ptr) gf_c79860)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd378 ))))((word) &var_c68820, transform_v16140, oldHi_v27156, pd378); }; { word limit379; var_c68852 = (* (( (ptr) path_v27240)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68852)+1))+( limit379 = (* (ptr) var_c68852 ), BCK(0, limit379) )))+6) ) = var_c68820; }; }; }; SOURCE(22943, 128) { word limit381; if ((controlPoints_v16224 == 0)) { goto then0380;}; if (XR_ExtractField(controlPoints_v16224, 32 + (word) ( limit381 = (* (ptr) controlPoints_v16224 ), BCK(0, limit381) ), 1)) { then0380: ; SOURCE(22989, 82) { W2 var_c68884; word var_c68948; { W2 var_c0573; { word var_c68916; W2 var_c01375; { word limit382; var_c68916 = (* (( (ptr) path_v27240)+4) ); var_c01375 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68916)+1))+( /*1*/ limit382 = (* (ptr) var_c68916 ), /*1*/ BCK(0, limit382) /*1*/ )))+2) ); }; { word pd383; pd383 = (* (( (ptr) (* (( (ptr) gf_c79860)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd383 ))))((word) &var_c0573, loTransform_v16252, var_c01375, pd383); }; }; var_c68884 = var_c0573; }; { word limit384; var_c68948 = (* (( (ptr) path_v27240)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c68948)+1))+( limit384 = (* (ptr) var_c68948 ), BCK(0, limit384) )))+2) ) = var_c68884; }; }; }; }; SOURCE(23073, 128) { word limit386; if ((controlPoints_v16224 == 0)) { goto then0385;}; if (XR_ExtractField(controlPoints_v16224, 32 + (word) ( limit386 = (* (ptr) controlPoints_v16224 ), BCK(1, limit386) ), 1)) { then0385: ; SOURCE(23119, 82) { W2 var_c68980; word var_c69044; { W2 var_c0577; { word var_c69012; W2 var_c01376; { word limit387; var_c69012 = (* (( (ptr) path_v27240)+4) ); var_c01376 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69012)+1))+( /*1*/ limit387 = (* (ptr) var_c69012 ), /*1*/ BCK(0, limit387) /*1*/ )))+4) ); }; { word pd388; pd388 = (* (( (ptr) (* (( (ptr) gf_c79860)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd388 ))))((word) &var_c0577, hiTransform_v16280, var_c01376, pd388); }; }; var_c68980 = var_c0577; }; { word limit389; var_c69044 = (* (( (ptr) path_v27240)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69044)+1))+( limit389 = (* (ptr) var_c69044 ), BCK(0, limit389) )))+4) ) = var_c68980; }; }; }; }; SOURCE(23203, 47) { word pd390; pd390 = (* (( (ptr) (* (( (ptr) gf_c79860)+291)/* var_c65492 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd390 ))))(path_v27240, moveTo_v27268, curveTo_v16308, pd390); }; SOURCE(23252, 47) (void) BZRestorePath_P3660(path_v27240, oldLo_v27128, oldHi_v27156, oldC1_v27184, oldC2_v27212); } static void NoName_Q7680(p_v57040, formal_c79892) W2 p_v57040; word formal_c79892; { formal_c79892 = (formal_c79892 - 16); /* : */ } static void BZRestorePath_P3660(path_v16368, oldLo_v16396, oldHi_v16424, oldC1_v16452, oldC2_v16480) word path_v16368; W2 oldLo_v16396; W2 oldHi_v16424; W2 oldC1_v16452; W2 oldC2_v16480; { word var_c69076; word var_c69108; word var_c69140; word var_c69172; /* BZRestorePath: */ SOURCE(23305, 187) SOURCE(23386, 25) { word limit391; var_c69076 = (* (( (ptr) path_v16368)+4) ); (* (W2Pt) (( (W8Pt) (( (ptr) var_c69076)+1))+( limit391 = (* (ptr) var_c69076 ), BCK(0, limit391) )) ) = oldLo_v16396; }; SOURCE(23413, 25) { word limit392; var_c69108 = (* (( (ptr) path_v16368)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69108)+1))+( limit392 = (* (ptr) var_c69108 ), BCK(0, limit392) )))+6) ) = oldHi_v16424; }; SOURCE(23440, 25) { word limit393; var_c69140 = (* (( (ptr) path_v16368)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69140)+1))+( limit393 = (* (ptr) var_c69140 ), BCK(0, limit393) )))+2) ) = oldC1_v16452; }; SOURCE(23467, 25) { word limit394; var_c69172 = (* (( (ptr) path_v16368)+4) ); (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69172)+1))+( limit394 = (* (ptr) var_c69172 ), BCK(0, limit394) )))+4) ) = oldC2_v16480; }; } static void BZControlPointGet_P3720(formal_c0598, seg_v16540, controlPointNum_v16568) word formal_c0598; word seg_v16540; word controlPointNum_v16568; { register ptr gf_c79924 = (ptr) &globalframe; W2 point_v16612; word data_v27312; /* BZControlPointGet: */ SOURCE(23498, 227) SOURCE(23586, 35) data_v27312 = XR_Narrow((* (( (ptr) seg_v16540)+24) ), (* (( (ptr) gf_c79924)+27) )); SOURCE(23623, 102) { word var_c69204; var_c69204 = controlPointNum_v16568; if ((var_c69204 == 0)) { SOURCE(23656, 31) { W2 var_c69268; word var_c69236; { word limit395; var_c69236 = (* (( (ptr) (* (( (ptr) data_v27312)+8) ))+4) ); var_c69268 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69236)+1))+( limit395 = (* (ptr) var_c69236 ), BCK(0, limit395) )))+2) ); }; point_v16612 = var_c69268; /* removed tail goto */ }; } else { if ((var_c69204 == 1)) { SOURCE(23694, 31) { W2 var_c69332; word var_c69300; { word limit396; var_c69300 = (* (( (ptr) (* (( (ptr) data_v27312)+8) ))+4) ); var_c69332 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69300)+1))+( limit396 = (* (ptr) var_c69300 ), BCK(0, limit396) )))+4) ); }; point_v16612 = var_c69332; /* removed tail goto */ }; } else { SOURCE(23738, 5) (void) XR_RaiseUnnamedError(); }; }; }; (* (W2Pt) formal_c0598 ) = point_v16612; return; } static word BZControlPointCount_P3780(seg_v16672) word seg_v16672; { register ptr gf_c79956 = (ptr) &globalframe; word controlPointCount_v16716; word data_v27356; /* BZControlPointCount: */ SOURCE(23749, 173) SOURCE(23827, 35) data_v27356 = XR_Narrow((* (( (ptr) seg_v16672)+24) ), (* (( (ptr) gf_c79956)+27) )); SOURCE(23913, 9) return(2); } static void BZFieldSet_P3840(seg_v38984, controlPointNum_v39012, selected_v39040, selectClass_v39068) word seg_v38984; word controlPointNum_v39012; word selected_v39040; word selectClass_v39068; { register ptr gf_c79988 = (ptr) &globalframe; word data_v27400; /* BZFieldSet: */ SOURCE(23928, 546) SOURCE(23984, 35) data_v27400 = XR_Narrow((* (( (ptr) seg_v38984)+24) ), (* (( (ptr) gf_c79988)+27) )); SOURCE(24021, 453) { word var_c69364; var_c69364 = controlPointNum_v39012; if ((var_c69364 == 0)) { SOURCE(24056, 194) { word var_c69396; var_c69396 = selectClass_v39068; switch (var_c69396) { case 0: SOURCE(24090, 33) (* (ptr) data_v27400 ) = selected_v39040; break; case 1: SOURCE(24132, 30) (* (( (ptr) data_v27400)+1) ) = selected_v39040; break; case 2: SOURCE(24174, 33) (* (( (ptr) data_v27400)+2) ) = selected_v39040; break; case 3: SOURCE(24218, 32) (* (( (ptr) data_v27400)+3) ) = selected_v39040; break; default: SOURCE(24263, 5) (void) XR_RaiseUnnamedError(); break; }; }; } else { if ((var_c69364 == 1)) { SOURCE(24280, 194) { word var_c69428; var_c69428 = selectClass_v39068; switch (var_c69428) { case 0: SOURCE(24314, 33) (* (( (ptr) data_v27400)+4) ) = selected_v39040; break; case 1: SOURCE(24356, 30) (* (( (ptr) data_v27400)+5) ) = selected_v39040; break; case 2: SOURCE(24398, 33) (* (( (ptr) data_v27400)+6) ) = selected_v39040; break; case 3: SOURCE(24442, 32) (* (( (ptr) data_v27400)+7) ) = selected_v39040; break; default: SOURCE(24487, 5) (void) XR_RaiseUnnamedError(); break; }; }; } else { SOURCE(24508, 5) (void) XR_RaiseUnnamedError(); }; }; }; } static word BZFieldGet_P3900(seg_v39128, controlPointNum_v39156, selectClass_v39184) word seg_v39128; word controlPointNum_v39156; word selectClass_v39184; { register ptr gf_c80020 = (ptr) &globalframe; word selected_v39228; word data_v27444; /* BZFieldGet: */ SOURCE(24519, 546) SOURCE(24575, 35) data_v27444 = XR_Narrow((* (( (ptr) seg_v39128)+24) ), (* (( (ptr) gf_c80020)+27) )); SOURCE(24612, 453) { word var_c69460; var_c69460 = controlPointNum_v39156; if ((var_c69460 == 0)) { SOURCE(24647, 194) { word var_c69492; var_c69492 = selectClass_v39184; switch (var_c69492) { case 0: SOURCE(24681, 33) selected_v39228 = (* (ptr) data_v27444 ); break; case 1: SOURCE(24723, 30) selected_v39228 = (* (( (ptr) data_v27444)+1) ); break; case 2: SOURCE(24765, 33) selected_v39228 = (* (( (ptr) data_v27444)+2) ); break; case 3: SOURCE(24809, 32) selected_v39228 = (* (( (ptr) data_v27444)+3) ); break; default: SOURCE(24854, 5) (void) XR_RaiseUnnamedError(); break; }; }; } else { if ((var_c69460 == 1)) { SOURCE(24871, 194) { word var_c69524; var_c69524 = selectClass_v39184; switch (var_c69524) { case 0: SOURCE(24905, 33) selected_v39228 = (* (( (ptr) data_v27444)+4) ); break; case 1: SOURCE(24947, 30) selected_v39228 = (* (( (ptr) data_v27444)+5) ); break; case 2: SOURCE(24989, 33) selected_v39228 = (* (( (ptr) data_v27444)+6) ); break; case 3: SOURCE(25033, 32) selected_v39228 = (* (( (ptr) data_v27444)+7) ); break; default: SOURCE(25078, 5) (void) XR_RaiseUnnamedError(); break; }; }; } else { SOURCE(25099, 5) (void) XR_RaiseUnnamedError(); }; }; }; SOURCE(24519, 546) return(selected_v39228); } static void BZClosestControlPoint_P3960(formal_c0632, seg_v16776, testPoint_v16804, tolerance_v16832) word formal_c0632; word seg_v16776; W2 testPoint_v16804; word tolerance_v16832; { register ptr gf_c80052 = (ptr) &globalframe; W2 point_v16876; W2 normal_v16904; word controlPointNum_v16932; word success_v16960; word data_v27488; word d0_v27516; word d1_v27544; /* BZClosestControlPoint: */ SOURCE(25109, 585) SOURCE(25109, 585) normal_v16904.f0 = (* (ptr) &fc78 ); normal_v16904.f1 = (* (ptr) &fc115 ); SOURCE(25276, 35) data_v27488 = XR_Narrow((* (( (ptr) seg_v16776)+24) ), (* (( (ptr) gf_c80052)+27) )); SOURCE(25313, 71) { word var_c69556; W2 var_c01377; { word limit397; var_c69556 = (* (( (ptr) (* (( (ptr) data_v27488)+8) ))+4) ); var_c01377 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69556)+1))+( limit397 = (* (ptr) var_c69556 ), BCK(0, limit397) )))+2) ); }; { word pd398; pd398 = (* (( (ptr) (* (( (ptr) gf_c80052)+300)/* var_c69588 */ ))+21) ); d0_v27516 = (word) ( *( (fPt) ((* (ptr) pd398 ))))(testPoint_v16804, var_c01377, pd398); }; }; SOURCE(25386, 71) { word var_c69620; W2 var_c01378; { word limit399; var_c69620 = (* (( (ptr) (* (( (ptr) data_v27488)+8) ))+4) ); var_c01378 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69620)+1))+( limit399 = (* (ptr) var_c69620 ), BCK(0, limit399) )))+4) ); }; { word pd400; pd400 = (* (( (ptr) (* (( (ptr) gf_c80052)+300)/* var_c69588 */ ))+21) ); d1_v27544 = (word) ( *( (fPt) ((* (ptr) pd400 ))))(testPoint_v16804, var_c01378, pd400); }; }; SOURCE(25459, 235) { word x401; word x402; if ((( x401 = d0_v27516, *(float*)&x401 ) < ( x402 = d1_v27544, *(float*)&x402 ))) { { word var_c69652; SOURCE(25477, 21) { word pd403; pd403 = (* (( (ptr) (* (( (ptr) gf_c80052)+299)/* var_c66836 */ ))+9) ); d0_v27516 = (word) ( *( (fPt) ((* (ptr) pd403 ))))(d0_v27516, pd403); }; SOURCE(25500, 30) { word limit404; var_c69652 = (* (( (ptr) (* (( (ptr) data_v27488)+8) ))+4) ); point_v16876 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69652)+1))+( limit404 = (* (ptr) var_c69652 ), BCK(0, limit404) )))+2) ); }; SOURCE(25532, 19) controlPointNum_v16932 = 0; SOURCE(25553, 27) { word x405; word x406; success_v16960 = (( x405 = d0_v27516, *(float*)&x405 ) <= ( x406 = tolerance_v16832, *(float*)&x406 )); }; }; } else { { word var_c69684; SOURCE(25591, 21) { word pd407; pd407 = (* (( (ptr) (* (( (ptr) gf_c80052)+299)/* var_c66836 */ ))+9) ); d1_v27544 = (word) ( *( (fPt) ((* (ptr) pd407 ))))(d1_v27544, pd407); }; SOURCE(25614, 30) { word limit408; var_c69684 = (* (( (ptr) (* (( (ptr) data_v27488)+8) ))+4) ); point_v16876 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69684)+1))+( limit408 = (* (ptr) var_c69684 ), BCK(0, limit408) )))+4) ); }; SOURCE(25646, 19) controlPointNum_v16932 = 1; SOURCE(25667, 27) { word x409; word x410; success_v16960 = (( x409 = d1_v27544, *(float*)&x409 ) <= ( x410 = tolerance_v16832, *(float*)&x410 )); }; }; }; }; /* removed tail goto */ (* (W2Pt) formal_c0632 ) = point_v16876; (* (W2Pt) (( (ptr) formal_c0632)+2) ) = normal_v16904; (* (( (ptr) formal_c0632)+4) ) = controlPointNum_v16932; (* (( (ptr) formal_c0632)+5) ) = success_v16960; return; } static word BZAsSimpleCurve_P4020(seg_v17020, point_v17048) word seg_v17020; W2 point_v17048; { register ptr gf_c80084 = (ptr) &globalframe; word simpleCurve_v17092; word data_v27588; W8 bezier_v27616; /* BZAsSimpleCurve: */ SOURCE(25703, 195) SOURCE(25703, 195) simpleCurve_v17092 = 0; SOURCE(25789, 35) data_v27588 = XR_Narrow((* (( (ptr) seg_v17020)+24) ), (* (( (ptr) gf_c80084)+27) )); SOURCE(25826, 36) { word var_c69716; var_c69716 = (* (( (ptr) (* (( (ptr) data_v27588)+8) ))+4) ); { word limit411; bezier_v27616 = (* (( (W8Pt) (( (ptr) var_c69716)+1))+( limit411 = (* (ptr) var_c69716 ), BCK(0, limit411) )) ); }; }; SOURCE(25864, 34) { word var_c69748; var_c69748 = XR_NewObject(32, (* (( (ptr) gf_c80084)+26) )); (* (W8Pt) var_c69748 ) = bezier_v27616; simpleCurve_v17092 = var_c69748; }; SOURCE(25703, 195) return(simpleCurve_v17092); } static word BZAsPolyline_P4080(seg_v17164, tolerance_v17192) word seg_v17164; word tolerance_v17192; { register ptr gf_c80116 = (ptr) &globalframe; word polyline_v17236; word data_v27660; /* BZAsPolyline: */ SOURCE(25904, 202) SOURCE(25904, 202) polyline_v17236 = 0; SOURCE(26007, 35) data_v27660 = XR_Narrow((* (( (ptr) seg_v17164)+24) ), (* (( (ptr) gf_c80116)+27) )); SOURCE(26044, 62) { word var_c69780; W8 var_c01379; var_c69780 = (* (( (ptr) (* (( (ptr) data_v27660)+8) ))+4) ); { word limit412; var_c01379 = (* (( (W8Pt) (( (ptr) var_c69780)+1))+( limit412 = (* (ptr) var_c69780 ), BCK(0, limit412) )) ); }; { word pd413; pd413 = (* (( (ptr) (* (( (ptr) gf_c80116)+301)/* var_c69812 */ ))+6) ); polyline_v17236 = (word) ( *( (fPt) ((* (ptr) pd413 ))))(var_c01379, tolerance_v17192, pd413); }; }; SOURCE(25904, 202) return(polyline_v17236); } static void BZJointNormal_P4140(formal_c0666, seg_v17296, joint_v17324, point_v17352, hi_v17380) word formal_c0666; word seg_v17296; W2 joint_v17324; W2 point_v17352; word hi_v17380; { register ptr gf_c80148 = (ptr) &globalframe; W2 normal_v17424; W2 tangent_v17452; word data_v27704; W2 normal1_v27732; W2 normal2_v27760; W2 direction_v27788; W2 p0_v27816; W2 p1_v27844; W2 p2_v27872; W2 p3_v27900; /* BZJointNormal: */ SOURCE(26112, 852) SOURCE(26216, 35) data_v27704 = XR_Narrow((* (( (ptr) seg_v17296)+24) ), (* (( (ptr) gf_c80148)+27) )); { word var_c69844; word var_c69876; word var_c69908; word var_c69940; SOURCE(26310, 27) { word limit414; var_c69844 = (* (( (ptr) (* (( (ptr) data_v27704)+8) ))+4) ); p0_v27816 = (* (W2Pt) (( (W8Pt) (( (ptr) var_c69844)+1))+( limit414 = (* (ptr) var_c69844 ), BCK(0, limit414) )) ); }; SOURCE(26339, 27) { word limit415; var_c69876 = (* (( (ptr) (* (( (ptr) data_v27704)+8) ))+4) ); p1_v27844 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69876)+1))+( limit415 = (* (ptr) var_c69876 ), BCK(0, limit415) )))+2) ); }; SOURCE(26368, 27) { word limit416; var_c69908 = (* (( (ptr) (* (( (ptr) data_v27704)+8) ))+4) ); p2_v27872 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69908)+1))+( limit416 = (* (ptr) var_c69908 ), BCK(0, limit416) )))+4) ); }; SOURCE(26397, 27) { word limit417; var_c69940 = (* (( (ptr) (* (( (ptr) data_v27704)+8) ))+4) ); p3_v27900 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c69940)+1))+( limit417 = (* (ptr) var_c69940 ), BCK(0, limit417) )))+6) ); }; SOURCE(26426, 298) if ((0 != hi_v17380)) { SOURCE(26439, 43) { word pd418; pd418 = (* (( (ptr) (* (( (ptr) gf_c80148)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd418 ))))((word) &tangent_v17452, p3_v27900, p2_v27872, pd418); }; SOURCE(26484, 21) normal1_v27732.f0 = tangent_v17452.f1; SOURCE(26507, 22) { word x419; *(float*)&normal1_v27732.f1 = - ( x419 = tangent_v17452.f0, *(float*)&x419 ); }; SOURCE(26531, 22) { word x420; *(float*)&normal2_v27760.f0 = - ( x420 = tangent_v17452.f1, *(float*)&x420 ); }; SOURCE(26555, 21) normal2_v27760.f1 = tangent_v17452.f0; } else { SOURCE(26587, 43) { word pd421; pd421 = (* (( (ptr) (* (( (ptr) gf_c80148)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd421 ))))((word) &tangent_v17452, p0_v27816, p1_v27844, pd421); }; SOURCE(26632, 21) normal1_v27732.f0 = tangent_v17452.f1; SOURCE(26655, 22) { word x422; *(float*)&normal1_v27732.f1 = - ( x422 = tangent_v17452.f0, *(float*)&x422 ); }; SOURCE(26679, 22) { word x423; *(float*)&normal2_v27760.f0 = - ( x423 = tangent_v17452.f1, *(float*)&x423 ); }; SOURCE(26703, 21) normal2_v27760.f1 = tangent_v17452.f0; }; SOURCE(26729, 52) { word pd424; pd424 = (* (( (ptr) (* (( (ptr) gf_c80148)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd424 ))))((word) &direction_v27788, joint_v17324, point_v17352, pd424); }; SOURCE(26783, 181) { float tf425; word pd426; word x427; float tf428; word pd429; word x430; pd426 = (* (( (ptr) (* (( (ptr) gf_c80148)+300)/* var_c69588 */ ))+9) ); pd429 = (* (( (ptr) (* (( (ptr) gf_c80148)+300)/* var_c69588 */ ))+9) ); if ((FABS(( x427 = (word) ( *( (fPt) ((* (ptr) pd426 ))))(normal1_v27732, direction_v27788, pd426), *(float*)&x427 ), tf425) < FABS(( x430 = (word) ( *( (fPt) ((* (ptr) pd429 ))))(normal2_v27760, direction_v27788, pd429), *(float*)&x430 ), tf428))) { SOURCE(26921, 17) normal_v17424 = normal1_v27732; } else { SOURCE(26948, 16) normal_v17424 = normal2_v27760; }; }; }; /* removed tail goto */ (* (W2Pt) formal_c0666 ) = normal_v17424; (* (W2Pt) (( (ptr) formal_c0666)+2) ) = tangent_v17452; return; } static void BZAddJoint_P4200(formal_c0679, seg_v17512, pos_v17540) word formal_c0679; word seg_v17512; W2 pos_v17540; { register ptr gf_c80180 = (ptr) &globalframe; word seg1_v17584; word seg2_v17612; word data_v27944; W8 bezier_v27972; W8 bezier1_v28000; W8 bezier2_v28028; word alpha_v28056; /* BZAddJoint: */ SOURCE(26971, 445) SOURCE(26971, 445) seg1_v17584 = 0; SOURCE(26971, 445) seg2_v17612 = 0; SOURCE(27056, 35) data_v27944 = XR_Narrow((* (( (ptr) seg_v17512)+24) ), (* (( (ptr) gf_c80180)+27) )); SOURCE(27147, 28) { word var_c69972; var_c69972 = (* (( (ptr) (* (( (ptr) data_v27944)+8) ))+4) ); { word limit431; bezier_v27972 = (* (( (W8Pt) (( (ptr) var_c69972)+1))+( limit431 = (* (ptr) var_c69972 ), BCK(0, limit431) )) ); }; }; SOURCE(27177, 40) { word pd432; pd432 = (* (( (ptr) (* (( (ptr) gf_c80180)+291)/* var_c65492 */ ))+15) ); alpha_v28056 = (word) ( *( (fPt) ((* (ptr) pd432 ))))(bezier_v27972, pos_v17540, pd432); }; SOURCE(27219, 53) { W16 var_c70036; { word pd433; pd433 = (* (( (ptr) (* (( (ptr) gf_c80180)+302)/* var_c70004 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd433 ))))((word) &var_c70036, bezier_v27972, alpha_v28056, pd433); }; bezier2_v28028 = (* (W8Pt) (( (ptr) &var_c70036)+8) ); bezier1_v28000 = (* (W8Pt) &var_c70036 ); }; SOURCE(27274, 70) seg1_v17584 = (word) MakeBezier_P2820((* (W2Pt) &bezier1_v28000 ), (* (W2Pt) (( (ptr) &bezier1_v28000)+2) ), (* (W2Pt) ( ( (ptr) &bezier1_v28000)+4) ), (* (W2Pt) (( (ptr) &bezier1_v28000)+6) ), 0); SOURCE(27346, 70) seg2_v17612 = (word) MakeBezier_P2820((* (W2Pt) &bezier2_v28028 ), (* (W2Pt) (( (ptr) &bezier2_v28028)+2) ), (* (W2Pt) ( ( (ptr) &bezier2_v28028)+4) ), (* (W2Pt) (( (ptr) &bezier2_v28028)+6) ), 0); /* removed tail goto */ (* (ptr) formal_c0679 ) = seg1_v17584; (* (( (ptr) formal_c0679)+1) ) = seg2_v17612; return; } static word BZDescribe_P4260(seg_v17672, self_v17700, lo_v17728, hi_v17756, cps_v17784) word seg_v17672; word self_v17700; word lo_v17728; word hi_v17756; word cps_v17784; { register ptr gf_c80212 = (ptr) &globalframe; word rope_v17828; /* BZDescribe: */ SOURCE(27422, 113) SOURCE(27422, 113) rope_v17828 = 0; SOURCE(27520, 15) rope_v17828 = (* (( (ptr) gf_c80212)+31) ); SOURCE(27422, 113) return(rope_v17828); } static void BZFileOut_P4320(seg_v17888, f_v17916) word seg_v17888; word f_v17916; { register ptr gf_c80244 = (ptr) &globalframe; word data_v28100; /* BZFileOut: */ SOURCE(27541, 202) SOURCE(27590, 35) data_v28100 = XR_Narrow((* (( (ptr) seg_v17888)+24) ), (* (( (ptr) gf_c80244)+27) )); SOURCE(27627, 48) { word var_c70068; W2 var_c01380; { word limit434; var_c70068 = (* (( (ptr) (* (( (ptr) data_v28100)+8) ))+4) ); var_c01380 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c70068)+1))+( limit434 = (* (ptr) var_c70068 ), BCK(0, limit434) )))+2) ); }; { word pd435; pd435 = (* (( (ptr) (* (( (ptr) gf_c80244)+296)/* var_c66196 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd435 ))))(f_v17916, var_c01380, pd435); }; }; SOURCE(27677, 16) { word pd436; pd436 = (* (( (ptr) (* (( (ptr) gf_c80244)+285)/* var_c65044 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd436 ))))(f_v17916, 32, pd436); }; SOURCE(27695, 48) { word var_c70100; W2 var_c01381; { word limit437; var_c70100 = (* (( (ptr) (* (( (ptr) data_v28100)+8) ))+4) ); var_c01381 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c70100)+1))+( limit437 = (* (ptr) var_c70100 ), BCK(0, limit437) )))+4) ); }; { word pd438; pd438 = (* (( (ptr) (* (( (ptr) gf_c80244)+296)/* var_c66196 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd438 ))))(f_v17916, var_c01381, pd438); }; }; } static word BZFileIn_P4380(f_v17976, loPoint_v18004, hiPoint_v18032, version_v18060) word f_v17976; W2 loPoint_v18004; W2 hiPoint_v18032; word version_v18060; { register ptr gf_c80276 = (ptr) &globalframe; word seg_v18104; W2 p1_v28144; W2 p2_v28172; /* BZFileIn: */ SOURCE(27749, 217) SOURCE(27749, 217) seg_v18104 = 0; SOURCE(27861, 27) { word pd439; pd439 = (* (( (ptr) (* (( (ptr) gf_c80276)+297)/* var_c66260 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd439 ))))((word) &p1_v28144, f_v17976, pd439); }; SOURCE(27890, 27) { word pd440; pd440 = (* (( (ptr) (* (( (ptr) gf_c80276)+297)/* var_c66260 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd440 ))))((word) &p2_v28172, f_v17976, pd440); }; SOURCE(27919, 47) seg_v18104 = (word) MakeBezier_P2820(loPoint_v18004, p1_v28144, p2_v28172, hiPoint_v18032, 0); SOURCE(27749, 217) return(seg_v18104); } static word BuildCubicSplineClass_P4440() { register ptr gf_c80308 = (ptr) &globalframe; word class_v18408; /* BuildCubicSplineClass: */ SOURCE(28316, 992) SOURCE(28316, 992) class_v18408 = 0; SOURCE(28397, 911) { word var_c70132; var_c70132 = XR_NewObject(116, (* (( (ptr) gf_c80308)+20) )); (* (ptr) var_c70132 ) = (* (( (ptr) gf_c80308)+47) ); (* (( (ptr) var_c70132)+1) ) = (word) (( (bPt) gf_c80308)+492)/* var_c62292 */ ; (* (( (ptr) var_c70132)+2) ) = (word) (( (bPt) gf_c80308)+484)/* var_c62260 */ ; (* (( (ptr) var_c70132)+3) ) = (word) (( (bPt) gf_c80308)+468)/* var_c62196 */ ; (* (( (ptr) var_c70132)+4) ) = (word) (( (bPt) gf_c80308)+460)/* var_c62164 */ ; (* (( (ptr) var_c70132)+5) ) = (word) (( (bPt) gf_c80308)+524)/* var_c62420 */ ; (* (( (ptr) var_c70132)+6) ) = (word) (( (bPt) gf_c80308)+284)/* var_c61460 */ ; (* (( (ptr) var_c70132)+7) ) = (word) (( (bPt) gf_c80308)+452)/* var_c62132 */ ; (* (( (ptr) var_c70132)+8) ) = (word) (( (bPt) gf_c80308)+444)/* var_c62100 */ ; (* (( (ptr) var_c70132)+9) ) = (word) (( (bPt) gf_c80308)+436)/* var_c62068 */ ; (* (( (ptr) var_c70132)+10) ) = (word) (( (bPt) gf_c80308)+428)/* var_c62036 */ ; (* (( (ptr) var_c70132)+11) ) = (word) (( (bPt) gf_c80308)+420)/* var_c62004 */ ; (* (( (ptr) var_c70132)+12) ) = (word) (( (bPt) gf_c80308)+412)/* var_c61972 */ ; (* (( (ptr) var_c70132)+13) ) = (word) (( (bPt) gf_c80308)+404)/* var_c61940 */ ; (* (( (ptr) var_c70132)+14) ) = (word) (( (bPt) gf_c80308)+396)/* var_c61908 */ ; (* (( (ptr) var_c70132)+15) ) = (word) (( (bPt) gf_c80308)+388)/* var_c61876 */ ; (* (( (ptr) var_c70132)+16) ) = (word) (( (bPt) gf_c80308)+380)/* var_c61844 */ ; (* (( (ptr) var_c70132)+17) ) = (word) (( (bPt) gf_c80308)+372)/* var_c61812 */ ; (* (( (ptr) var_c70132)+18) ) = (word) (( (bPt) gf_c80308)+276)/* var_c61428 */ ; (* (( (ptr) var_c70132)+19) ) = (word) (( (bPt) gf_c80308)+364)/* var_c61780 */ ; (* (( (ptr) var_c70132)+20) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c80308)+295)/* var_c65748 */ ))+42) ); (* (( (ptr) var_c70132)+21) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c80308)+295)/* var_c65748 */ ))+43) ); (* (( (ptr) var_c70132)+22) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c80308)+295)/* var_c65748 */ ))+44) ); (* (( (ptr) var_c70132)+23) ) = XR_CheckProc(* (( (ptr) (* (( (ptr) gf_c80308)+295)/* var_c65748 */ ))+45) ); (* (( (ptr) var_c70132)+24) ) = (word) (( (bPt) gf_c80308)+356)/* var_c61748 */ ; (* (( (ptr) var_c70132)+25) ) = (word) (( (bPt) gf_c80308)+348)/* var_c61716 */ ; (* (( (ptr) var_c70132)+26) ) = (word) (( (bPt) gf_c80308)+340)/* var_c61684 */ ; (* (( (ptr) var_c70132)+27) ) = (word) (( (bPt) gf_c80308)+332)/* var_c61652 */ ; (* (( (ptr) var_c70132)+28) ) = (word) (( (bPt) gf_c80308)+516)/* var_c62388 */ ; class_v18408 = var_c70132; }; SOURCE(28316, 992) return(class_v18408); } static word CSSameShape_P4500(seg1_v39288, seg2_v39316) word seg1_v39288; word seg2_v39316; { register ptr gf_c80340 = (ptr) &globalframe; word var_c39360; word data1_v28216; word data2_v28244; /* CSSameShape: */ SOURCE(29314, 164) SOURCE(29361, 42) data1_v28216 = XR_Narrow((* (( (ptr) seg1_v39288)+24) ), (* (( (ptr) gf_c80340)+19) )); SOURCE(29405, 42) data2_v28244 = XR_Narrow((* (( (ptr) seg2_v39316)+24) ), (* (( (ptr) gf_c80340)+19) )); SOURCE(29449, 29) return(((* (( (ptr) data1_v28216)+1) ) == (* (( (ptr) data2_v28244)+1) ))); } static void CSSetStrokeWidth_P4560(seg_v18468, strokeWidth_v18496) word seg_v18468; word strokeWidth_v18496; { /* CSSetStrokeWidth: */ SOURCE(29484, 113) SOURCE(29545, 29) (* (( (ptr) seg_v18468)+2) ) = strokeWidth_v18496; SOURCE(29576, 21) (void) UpdateCSBoundBox_P4860(seg_v18468); } static word MakeCubicSpline_P4620(cps_v18556, type_v18584, props_v18612) word cps_v18556; word type_v18584; word props_v18612; { register ptr gf_c80372 = (ptr) &globalframe; word seg_v18752; word coeffs_v28288 = 0; word data_v28316 = 0; word newCPs_v28344 = 0; word last_v28372; /* MakeCubicSpline: */ SOURCE(29603, 1404) SOURCE(29603, 1404) seg_v18752 = 0; SOURCE(29841, 24) { word idx441; last_v28372 = ( idx441 = (word) ((* (ptr) cps_v18556 ) - 1), SGNCK(idx441) ); }; SOURCE(29867, 209) { word var_c70164; var_c70164 = type_v18584; switch (var_c70164) { case 2: case 3: SOURCE(29953, 54) { word var_c70196; word var_c70228; word var_c70260; { word idx442; var_c70196 = ( idx442 = (* (ptr) cps_v18556 ), BCK(idx442, 33554431) ); }; var_c70228 = ((word) var_c70196 << 3); var_c70260 = XR_NewObject((4 + var_c70228), (* (( (ptr) gf_c80372)+24) )); (* (ptr) var_c70260 ) = var_c70196; newCPs_v28344 = var_c70260; }; break; case 6: SOURCE(30020, 56) { word var_c70292; word var_c70324; word var_c70356; { word idx443; var_c70292 = ( idx443 = (word) ((* (ptr) cps_v18556 ) + 4), BCK(idx443, 33554431) ); }; var_c70324 = ((word) var_c70292 << 3); var_c70356 = XR_NewObject((4 + var_c70324), (* (( (ptr) gf_c80372)+24) )); (* (ptr) var_c70356 ) = var_c70292; newCPs_v28344 = var_c70356; }; break; default: SOURCE(30089, 5) (void) XR_RaiseUnnamedError(); break; }; }; SOURCE(30096, 112) { word var_c70388; word var_c70516; { word var_c70420; word var_c70452; word var_c70484; { word idx444; var_c70420 = ( idx444 = (* (ptr) cps_v18556 ), BCK(idx444, 16777215) ); }; var_c70452 = ((word) var_c70420 << 4); var_c70484 = XR_NewObject((4 + var_c70452), (* (( (ptr) gf_c80372)+23) )); (* (ptr) var_c70484 ) = var_c70420; var_c70388 = var_c70484; }; var_c70516 = XR_NewObject(16, (* (( (ptr) gf_c80372)+19) )); (* (ptr) var_c70516 ) = newCPs_v28344; (* (( (ptr) var_c70516)+1) ) = type_v18584; (* (( (ptr) var_c70516)+3) ) = var_c70388; data_v28316 = var_c70516; }; SOURCE(30210, 399) { word var_c70548; word var_c70580; word var_c70612; word var_c70644; var_c70548 = (word) FetchSegmentClass_P120((* ((( (ptr) gf_c80372)+47)) )); { word pd445; pd445 = (* (( (ptr) (* (( (ptr) gf_c80372)+287)/* var_c65172 */ ))+5) ); var_c70580 = (word) ( *( (fPt) ((* (ptr) pd445 ))))((* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), 0, 0, pd445) ; }; { word pd446; pd446 = (* (( (ptr) (* (( (ptr) gf_c80372)+287)/* var_c65172 */ ))+5) ); var_c70612 = (word) ( *( (fPt) ((* (ptr) pd446 ))))((* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), (* (ptr) &fc78 ), 0, 0, pd446) ; }; var_c70644 = XR_NewObject(104, (* (( (ptr) gf_c80372)+15) )); (* (ptr) var_c70644 ) = var_c70548; (* (( (ptr) var_c70644)+2) ) = (* (( (ptr) gf_c80372)+4)/* defaultStrokeWidth_v4540 */ ); (* (( (ptr) var_c70644)+3) ) = (* (( (ptr) gf_c80372)+5)/* defaultStrokeEnd_v4568 */ ); (* (( (ptr) var_c70644)+6) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c70644)+7) ) = (* (ptr) &fc115 ); (* (( (ptr) var_c70644)+8) ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf_c80372)+294)/* var_c65684 */ ))+54) ) ); { word limit447; (* (( (ptr) var_c70644)+9) ) = (* (( (W2Pt) (( (ptr) cps_v18556)+1))+( limit447 = (* (ptr) cps_v18556 ), BCK(0, limit447) )) ).f0; }; { word limit448; (* (( (ptr) var_c70644)+10) ) = (* (( (W2Pt) (( (ptr) cps_v18556)+1))+( limit448 = (* (ptr) cps_v18556 ), BCK(0, limit448) )) ).f1; }; { word limit449; (* (( (ptr) var_c70644)+11) ) = (* (( (W2Pt) (( (ptr) cps_v18556)+1))+( limit449 = (* (ptr) cps_v18556 ), BCK(last_v28372, limit449) )) ).f0; }; { word limit450; (* (( (ptr) var_c70644)+12) ) = (* (( (W2Pt) (( (ptr) cps_v18556)+1))+( limit450 = (* (ptr) cps_v18556 ), BCK(last_v28372, limit450) )) ).f1; }; (* (( (ptr) var_c70644)+13) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c70644)+14) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c70644)+15) ) = (* (ptr) &fc78 ); (* (( (ptr) var_c70644)+16) ) = (* (ptr) &fc78 ); (* (W4Pt) (( (ptr) var_c70644)+17) ) = (* (W4Pt) (( (ptr) gf_c80372)+279)/* var_c64820 */ ); (* (( (ptr) var_c70644)+21) ) = var_c70580; (* (( (ptr) var_c70644)+22) ) = var_c70612; (* (( (ptr) var_c70644)+24) ) = data_v28316; (* (( (ptr) var_c70644)+25) ) = props_v18612; seg_v18752 = var_c70644; }; SOURCE(30611, 59) { W2 var_c70676; { word limit451; (void) FPToPoint_P6540((word) &var_c70676, (* (( (W2Pt) (( (ptr) cps_v18556)+1))+( limit451 = (* (ptr) cps_v18556 ), BCK(0, limit451) )) )); }; (void) CSEndPointSet_P6180(seg_v18752, 1, var_c70676); }; SOURCE(30672, 63) { W2 var_c70708; { word limit452; (void) FPToPoint_P6540((word) &var_c70708, (* (( (W2Pt) (( (ptr) cps_v18556)+1))+( limit452 = (* (ptr) cps_v18556 ), BCK(last_v28372, limit452) )) )); }; (void) CSEndPointSet_P6180(seg_v18752, 0, var_c70708); }; SOURCE(30737, 101) { register word i_v28416 = 0; register word noName_c70740; { word pd453; pd453 = (* (( (ptr) (* (ptr) seg_v18752 ))+17) ); noName_c70740 = (word) ( *( (fPt) ((* (ptr) pd453 ))))(seg_v18752, pd453); }; if (( (int)i_v28416 >= (int)noName_c70740)) { goto lab_L100029; }; lab_L100032: ; SOURCE(30792, 46) { W2 var_c70772; { W2 var_c0741; { word var_c70804; W2 var_c01382; var_c70804 = (i_v28416 + 1); { word limit454; var_c01382 = (* (( (W2Pt) (( (ptr) cps_v18556)+1))+( limit454 = (* (ptr) cps_v18556 ), BCK(var_c70804, limit454) )) ); }; (void) FPToPoint_P6540((word) &var_c0741, var_c01382); }; var_c70772 = var_c0741; }; (void) CSControlPointSet_P6120(seg_v18752, SGNCK(i_v28416), var_c70772); }; i_v28416 = (i_v28416 + 1); if (( (int)i_v28416 < (int)noName_c70740)) { goto lab_L100032; }; lab_L100029: ; }; SOURCE(30849, 48) { word pd455; pd455 = (* (( (ptr) (* (( (ptr) gf_c80372)+290)/* var_c65460 */ ))+8) ); coeffs_v28288 = (word) ( *( (fPt) ((* (ptr) pd455 ))))((* (ptr) data_v28316 ), type_v18584, pd455); }; SOURCE(30899, 51) { word pd456; pd456 = (* (( (ptr) (* (( (ptr) gf_c80372)+291)/* var_c65492 */ ))+4) ); (* (( (ptr) data_v28316)+2) ) = (word) ( *( (fPt) ((* (ptr) pd456 ))))(coeffs_v28288, 0, pd456); }; SOURCE(30986, 21) (void) UpdateCSBoundBox_P4860(seg_v18752); SOURCE(29603, 1404) return(seg_v18752); } static word CubicSplineGetParams_P4680(seg_v18812) word seg_v18812; { register ptr gf_c80404 = (ptr) &globalframe; word var_c18856; word data_v28460; /* CubicSplineGetParams: */ SOURCE(31013, 138) SOURCE(31092, 40) data_v28460 = XR_Narrow((* (( (ptr) seg_v18812)+24) ), (* (( (ptr) gf_c80404)+19) )); SOURCE(31134, 17) return((* (( (ptr) data_v28460)+2) )); } static word CSBoundBox_P4740(seg_v18916) word seg_v18916; { word bBox_v18960; /* CSBoundBox: */ SOURCE(31157, 76) SOURCE(31157, 76) bBox_v18960 = 0; SOURCE(31218, 15) bBox_v18960 = (* (( (ptr) seg_v18916)+21) ); SOURCE(31157, 76) return(bBox_v18960); } static word CSTightBox_P4800(seg_v19020) word seg_v19020; { word bBox_v19064; /* CSTightBox: */ SOURCE(31239, 80) SOURCE(31239, 80) bBox_v19064 = 0; SOURCE(31300, 19) bBox_v19064 = (* (( (ptr) seg_v19020)+22) ); SOURCE(31239, 80) return(bBox_v19064); } static void UpdateCSBoundBox_P4860(seg_v19124) word seg_v19124; { register ptr gf_c80436 = (ptr) &globalframe; word data_v28504; word path_v28532; word pad_v28560; /* UpdateCSBoundBox: */ SOURCE(31325, 499) SOURCE(31367, 40) data_v28504 = XR_Narrow((* (( (ptr) seg_v19124)+24) ), (* (( (ptr) gf_c80436)+19) )); SOURCE(31409, 33) path_v28532 = (* (( (ptr) data_v28504)+2) ); SOURCE(31455, 106) if (((* (( (ptr) seg_v19124)+3) ) == 0)) { SOURCE(31486, 44) { word x457; word x458; word x459; *(float*)&pad_v28560 = (( x457 = (* (( (ptr) seg_v19124)+2) ), *(float*)&x457 ) * ( x458 = (* (ptr) &fc156 ), *(float*)&x458 )) + ( x459 = (* (ptr) &fc158 ), *(float*)&x459 ); }; } else { SOURCE(31530, 31) { word x460; word x461; word x462; *(float*)&pad_v28560 = (( x460 = (* (( (ptr) seg_v19124)+2) ), *(float*)&x460 ) / ( x461 = (* (ptr) &fc70 ), *(float*)&x461 )) + ( x462 = (* (ptr) &fc158 ), *(float*)&x462 ); }; }; SOURCE(31563, 261) if (((* (( (ptr) data_v28504)+1) ) == 6)) { SOURCE(31593, 31) (void) KnotBoundBox_P6480(seg_v19124, (* (( (ptr) seg_v19124)+22) )); SOURCE(31626, 35) (void) CurveBoundBox_P6240(seg_v19124, (* (( (ptr) seg_v19124)+21) ), 0); SOURCE(31663, 41) { word pd463; pd463 = (* (( (ptr) (* (( (ptr) gf_c80436)+287)/* var_c65172 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd463 ))))((* (( (ptr) seg_v19124)+21) ), pad_v28560, pd463); }; } else { SOURCE(31715, 39) (void) CurveBoundBox_P6240(seg_v19124, (* (( (ptr) seg_v19124)+22) ), 0); SOURCE(31756, 25) (* (W6Pt) (* (( (ptr) seg_v19124)+21) ) ) = (* (W6Pt) (* (( (ptr) seg_v19124)+22) ) ); SOURCE(31783, 41) { word pd464; pd464 = (* (( (ptr) (* (( (ptr) gf_c80436)+287)/* var_c65172 */ ))+17) ); (void) ( *( (fPt) ((* (ptr) pd464 ))))((* (( (ptr) seg_v19124)+21) ), pad_v28560, pd464); }; }; } static word CSCopyData_P4920(seg_v39420) word seg_v39420; { register ptr gf_c80468 = (ptr) &globalframe; word data_v39464; word csData_v28604; word new_v28632; word cpCount_v28660; /* CSCopyData: */ SOURCE(31833, 540) SOURCE(31833, 540) data_v39464 = 0; SOURCE(31877, 42) csData_v28604 = XR_Narrow((* (( (ptr) seg_v39420)+24) ), (* (( (ptr) gf_c80468)+19) )); SOURCE(31921, 46) new_v28632 = XR_NewObject(16, (* (( (ptr) gf_c80468)+19) )); SOURCE(31969, 47) { word pd465; pd465 = (* (( (ptr) (* (ptr) seg_v39420 ))+17) ); cpCount_v28660 = (word) ( *( (fPt) ((* (ptr) pd465 ))))(seg_v39420, pd465); }; SOURCE(32018, 62) { word var_c70868; { word var_c70900; word var_c70932; word var_c70964; { word idx466; var_c70900 = ( idx466 = (* (ptr) (* (ptr) csData_v28604 ) ), BCK(idx466, 33554431) ); }; var_c70932 = ((word) var_c70900 << 3); var_c70964 = XR_NewObject((4 + var_c70932), (* (( (ptr) gf_c80468)+24) )); (* (ptr) var_c70964 ) = var_c70900; var_c70868 = var_c70964; }; (* (ptr) new_v28632 ) = var_c70868; }; SOURCE(32082, 52) { word var_c70996; { word var_c71028; word var_c71060; word var_c71092; var_c71028 = BCK(cpCount_v28660, 16777215); var_c71060 = ((word) var_c71028 << 4); var_c71092 = XR_NewObject((4 + var_c71060), (* (( (ptr) gf_c80468)+23) )); (* (ptr) var_c71092 ) = var_c71028; var_c70996 = var_c71092; }; (* (( (ptr) new_v28632)+3) ) = var_c70996; }; SOURCE(32136, 63) { register word i_v28704 = 0; register word noName_c71124; noName_c71124 = (* (ptr) (* (ptr) new_v28632 ) ); if ((i_v28704 >= noName_c71124)) { goto lab_L100033; }; lab_L100036: ; SOURCE(32173, 26) { word var_c71188; var_c71188 = (* (ptr) new_v28632 ); { word var_c71156; var_c71156 = (* (ptr) csData_v28604 ); { word limit467; word limit468; (* (( (W2Pt) (( (ptr) var_c71188)+1))+( limit467 = (* (ptr) var_c71188 ), BCK(i_v28704, limit467) )) ) = (* (( (W2Pt) (( (ptr) var_c71156)+1))+( limit468 = (* (ptr) var_c71156 ), BCK(i_v28704, limit468) )) ); }; }; }; i_v28704 = (i_v28704 + 1); if ((i_v28704 < noName_c71124)) { goto lab_L100036; }; lab_L100033: ; }; SOURCE(32210, 72) { register word i_v28748 = 0; register word noName_c71220; noName_c71220 = cpCount_v28660; if ((i_v28748 >= noName_c71220)) { goto lab_L100037; }; lab_L100040: ; SOURCE(32240, 42) { word var_c71284; var_c71284 = (* (( (ptr) new_v28632)+3) ); { word var_c71252; var_c71252 = (* (( (ptr) csData_v28604)+3) ); { word limit469; word limit470; (* (( (W4Pt) (( (ptr) var_c71284)+1))+( limit469 = (* (ptr) var_c71284 ), BCK(i_v28748, limit469) )) ) = (* (( (W4Pt) (( (ptr) var_c71252)+1))+( limit470 = (* (ptr) var_c71252 ), BCK(i_v28748, limit470) )) ); }; }; }; i_v28748 = (i_v28748 + 1); if ((i_v28748 < noName_c71220)) { goto lab_L100040; }; lab_L100037: ; }; SOURCE(32293, 22) (* (( (ptr) new_v28632)+1) ) = (* (( (ptr) csData_v28604)+1) ); SOURCE(32317, 43) { word pd471; pd471 = (* (( (ptr) (* (( (ptr) gf_c80468)+291)/* var_c65492 */ ))+12) ); (* (( (ptr) new_v28632)+2) ) = (word) ( *( (fPt) ((* (ptr) pd471 ))))((* ((( (ptr) csData_v28604)+2)) ), pd471); }; SOURCE(32362, 11) return(new_v28632); } static void CSReverse_P4980(seg_v19184) word seg_v19184; { register ptr gf_c80500 = (ptr) &globalframe; word data_v28792; W2 temp_v28820; word last_v28848; /* CSReverse: */ SOURCE(32379, 296) SOURCE(32414, 40) data_v28792 = XR_Narrow((* (( (ptr) seg_v19184)+24) ), (* (( (ptr) gf_c80500)+19) )); SOURCE(32485, 29) { word idx472; last_v28848 = ( idx472 = (word) ((* (ptr) (* (ptr) data_v28792 ) ) - 1), SGNCK(idx472) ); }; SOURCE(32516, 115) { register word i_v28892 = 0; register word noName_c71316; noName_c71316 = ((* (ptr) (* (ptr) data_v28792 ) ) >> 1); if ((i_v28892 >= noName_c71316)) { goto lab_L100041; }; lab_L100044: ; SOURCE(32556, 18) { word var_c71348; var_c71348 = (* (ptr) data_v28792 ); { word limit473; temp_v28820 = (* (( (W2Pt) (( (ptr) var_c71348)+1))+( limit473 = (* (ptr) var_c71348 ), BCK(i_v28892, limit473) )) ); }; }; SOURCE(32576, 30) { word var_c71444; var_c71444 = (* (ptr) data_v28792 ); { word var_c71380; word var_c71412; var_c71380 = (last_v28848 - i_v28892); var_c71412 = (* (ptr) data_v28792 ); { word limit474; word limit475; (* (( (W2Pt) (( (ptr) var_c71444)+1))+( limit474 = (* (ptr) var_c71444 ), BCK(i_v28892, limit474) )) ) = (* (( (W2Pt) (( (ptr) var_c71412)+1))+( limit475 = (* (ptr) var_c71412 ), BCK(var_c71380, limit475) )) ); }; }; }; SOURCE(32608, 23) { word var_c71476; word var_c71508; var_c71476 = (last_v28848 - i_v28892); var_c71508 = (* (ptr) data_v28792 ); { word limit476; (* (( (W2Pt) (( (ptr) var_c71508)+1))+( limit476 = (* (ptr) var_c71508 ), BCK(var_c71476, limit476) )) ) = temp_v28820; }; }; i_v28892 = (i_v28892 + 1); if ((i_v28892 < noName_c71316)) { goto lab_L100044; }; lab_L100041: ; }; SOURCE(32642, 33) { word pd477; pd477 = (* (( (ptr) (* (( (ptr) gf_c80500)+291)/* var_c65492 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd477 ))))((* ((( (ptr) data_v28792)+2)) ), pd477); }; } static void CSBuildPathTransform_P5040(seg_v19244, transform_v19272, entire_v19300, lo_v19328, hi_v19356, controlPoints_v19384, lineTo_v19412, curveTo_v19440, conicTo_v19468, arcTo_v19496) word seg_v19244; word transform_v19272; word entire_v19300; word lo_v19328; word hi_v19356; word controlPoints_v19384; word lineTo_v19412; word curveTo_v19440; word conicTo_v19468; word arcTo_v19496; { W6 var_c80532; register ptr gf_c80564 = (ptr) &globalframe; /* declaration of var_c71540 skipped */ word data_v28936; word moveTo_v28964; /* CSBuildPathTransform: */ SOURCE(32681, 1338) { word tmpAddr478; tmpAddr478 = (word) (( (ptr) &var_c80532)+4)/* var_c71540 */ ; (* (ptr) tmpAddr478 ) = ( ((word) (fPt) NoName_Q7932) ); (* (( (ptr) tmpAddr478) + 1) ) = 1; }; SOURCE(32949, 40) data_v28936 = XR_Narrow((* (( (ptr) seg_v19244)+24) ), (* (( (ptr) gf_c80564)+19) )); SOURCE(32991, 32) moveTo_v28964 = (word) (( (bPt) &var_c80532)+16)/* var_c71540 */ ; SOURCE(33027, 992) if ((0 != entire_v19300)) { SOURCE(33042, 178) { word scratchPath_v29008; SOURCE(33044, 61) { word pd479; pd479 = (* (( (ptr) (* (( (ptr) gf_c80564)+291)/* var_c65492 */ ))+12) ); scratchPath_v29008 = (word) ( *( (fPt) ((* (ptr) pd479 ))))((* ((( (ptr) data_v28936)+2)) ), pd479); }; SOURCE(33107, 55) { word pd480; pd480 = (* (( (ptr) (* (( (ptr) gf_c80564)+291)/* var_c65492 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd480 ))))(scratchPath_v29008, transform_v19272, 0, pd480); }; SOURCE(33164, 54) { word pd481; pd481 = (* (( (ptr) (* (( (ptr) gf_c80564)+291)/* var_c65492 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd481 ))))(scratchPath_v29008, moveTo_v28964, curveTo_v19440, pd481); }; }; } else { SOURCE(33227, 813) { word coeffs_v29052 = 0; word cpsCopy_v29080; SOURCE(33266, 87) { word var_c71572; word var_c71604; word var_c71636; { word idx482; var_c71572 = ( idx482 = (* (ptr) (* (ptr) data_v28936 ) ), BCK(idx482, 33554431) ); }; var_c71604 = ((word) var_c71572 << 3); var_c71636 = XR_NewObject((4 + var_c71604), (* (( (ptr) gf_c80564)+24) )); (* (ptr) var_c71636 ) = var_c71572; cpsCopy_v29080 = var_c71636; }; SOURCE(33375, 61) { register word i_v29124 = 0; register word noName_c71668; noName_c71668 = (* (ptr) (* (ptr) data_v28936 ) ); if (( (int)i_v29124 >= (int)noName_c71668)) { goto lab_L100045; }; lab_L100048: ; SOURCE(33412, 24) { word var_c71700; var_c71700 = (* (ptr) data_v28936 ); { word limit483; word limit484; (* (( (W2Pt) (( (ptr) cpsCopy_v29080)+1))+( limit483 = (* (ptr) cpsCopy_v29080 ), BCK(i_v29124, limit483) )) ) = (* (( (W2Pt) (( (ptr) var_c71700)+1))+( limit484 = (* (ptr) var_c71700 ), BCK(i_v29124, limit484) )) ); }; }; i_v29124 = (i_v29124 + 1); if (( (int)i_v29124 < (int)noName_c71668)) { goto lab_L100048; }; lab_L100045: ; }; SOURCE(33447, 195) { register word i_v29168 = 0; register word noName_c71732; { word pd485; pd485 = (* (( (ptr) (* (ptr) seg_v19244 ))+17) ); noName_c71732 = (word) ( *( (fPt) ((* (ptr) pd485 ))))(seg_v19244, pd485); }; if (( (int)i_v29168 >= (int)noName_c71732)) { goto lab_L100049; }; lab_L100052: ; SOURCE(33501, 141) { word limit487; if ((controlPoints_v19384 == 0)) { goto then0486;}; if (XR_ExtractField(controlPoints_v19384, 32 + (word) ( limit487 = (* (ptr) controlPoints_v19384 ), BCK(i_v29168, limit487) ), 1)) { then0486: ; SOURCE(33547, 95) { W2 var_c71764; { W2 var_c71796; (void) CSControlPointGet_P5580((word) &var_c71796, seg_v19244, SGNCK(i_v29168)); { W2 var_c0813; { /*1*/ word pd488; /*1*/ pd488 = (* (( (ptr) (* (( (ptr) gf_c80564)+293)/* var_c65588 */ ))+39) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd488 ))))((word) &var_c0813, transform_v19272, var_c71796, pd488); /*1*/ }; var_c71764 = var_c0813; }; }; (void) CSControlPointSet_P6120(seg_v19244, SGNCK(i_v29168), var_c71764); }; }; }; i_v29168 = (i_v29168 + 1); if (( (int)i_v29168 < (int)noName_c71732)) { goto lab_L100052; }; lab_L100049: ; }; SOURCE(33653, 102) if ((0 != lo_v19328)) { SOURCE(33664, 91) { W2 var_c71828; { word pd489; pd489 = (* (( (ptr) (* (( (ptr) gf_c80564)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd489 ))))((word) &var_c71828, transform_v19272, (* (W2Pt) (( (ptr) seg_v19244)+9) ), pd489) ; }; (void) CSEndPointSet_P6180(seg_v19244, 1, var_c71828); }; }; SOURCE(33757, 103) if ((0 != hi_v19356)) { SOURCE(33768, 92) { W2 var_c71860; { word pd490; pd490 = (* (( (ptr) (* (( (ptr) gf_c80564)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd490 ))))((word) &var_c71860, transform_v19272, (* (W2Pt) (( (ptr) seg_v19244)+11) ), pd490) ; }; (void) CSEndPointSet_P6180(seg_v19244, 0, var_c71860); }; }; SOURCE(33862, 53) { word pd491; pd491 = (* (( (ptr) (* (( (ptr) gf_c80564)+290)/* var_c65460 */ ))+8) ); coeffs_v29052 = (word) ( *( (fPt) ((* (ptr) pd491 ))))((* (ptr) data_v28936 ), (* (( (ptr) data_v28936)+1) ), pd491); }; SOURCE(33917, 82) { word var_c71892; { word pd492; pd492 = (* (( (ptr) (* (( (ptr) gf_c80564)+291)/* var_c65492 */ ))+4) ); var_c71892 = (word) ( *( (fPt) ((* (ptr) pd492 ))))(coeffs_v29052, 0, pd492); }; { word pd493; pd493 = (* (( (ptr) (* (( (ptr) gf_c80564)+291)/* var_c65492 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd493 ))))(var_c71892, moveTo_v28964, curveTo_v19440, pd493); }; }; SOURCE(34001, 18) (* (ptr) data_v28936 ) = cpsCopy_v29080; }; }; } static void NoName_Q7932(p_v58552, formal_c80596) W2 p_v58552; word formal_c80596; { formal_c80596 = (formal_c80596 - 16); /* : */ } static void CSTransform_P5100(seg_v19556, transform_v19584) word seg_v19556; word transform_v19584; { register ptr gf_c80628 = (ptr) &globalframe; word data_v29212; /* CSTransform: */ SOURCE(34047, 397) SOURCE(34132, 40) data_v29212 = XR_Narrow((* (( (ptr) seg_v19556)+24) ), (* (( (ptr) gf_c80628)+19) )); SOURCE(34174, 183) { register word i_v29256 = 0; register word noName_c71924; noName_c71924 = (* (ptr) (* (ptr) data_v29212 ) ); if ((i_v29256 >= noName_c71924)) { goto lab_L100053; }; lab_L100056: ; { W2 vec_v29300; word var_c71988; word var_c72020; word var_c72052; word var_c72084; SOURCE(34212, 43) { word limit494; var_c71988 = (* (ptr) data_v29212 ); vec_v29300.f0 = (* (( (W2Pt) (( (ptr) var_c71988)+1))+( limit494 = (* (ptr) var_c71988 ), BCK(i_v29256, limit494) )) ).f0; }; { word limit495; var_c72020 = (* (ptr) data_v29212 ); vec_v29300.f1 = (* (( (W2Pt) (( (ptr) var_c72020)+1))+( limit495 = (* (ptr) var_c72020 ), BCK(i_v29256, limit495) )) ).f1; }; SOURCE(34257, 52) { word pd496; pd496 = (* (( (ptr) (* (( (ptr) gf_c80628)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd496 ))))((word) &vec_v29300, transform_v19584, vec_v29300, pd496); }; SOURCE(34311, 22) { word limit497; var_c72052 = (* (ptr) data_v29212 ); (* (( (W2Pt) (( (ptr) var_c72052)+1))+( limit497 = (* (ptr) var_c72052 ), BCK(i_v29256, limit497) )) ).f0 = vec_v29300.f0; }; SOURCE(34335, 22) { word limit498; var_c72084 = (* (ptr) data_v29212 ); (* (( (W2Pt) (( (ptr) var_c72084)+1))+( limit498 = (* (ptr) var_c72084 ), BCK(i_v29256, limit498) )) ).f1 = vec_v29300.f1; }; }; i_v29256 = (i_v29256 + 1); if ((i_v29256 < noName_c71924)) { goto lab_L100056; }; lab_L100053: ; }; SOURCE(34368, 53) { word pd499; pd499 = (* (( (ptr) (* (( (ptr) gf_c80628)+291)/* var_c65492 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd499 ))))((* (( (ptr) data_v29212)+2) ), transform_v19584, 0, pd499); }; SOURCE(34423, 21) (void) UpdateCSBoundBox_P4860(seg_v19556); } static void CSEndPointMoved_P5160(seg_v19644, lo_v19672, newPoint_v19700) word seg_v19644; word lo_v19672; W2 newPoint_v19700; { register ptr gf_c80660 = (ptr) &globalframe; word data_v29344; word coeffs_v29372 = 0; /* CSEndPointMoved: */ SOURCE(34450, 343) SOURCE(34518, 40) data_v29344 = XR_Narrow((* (( (ptr) seg_v19644)+24) ), (* (( (ptr) gf_c80660)+19) )); SOURCE(34597, 32) (void) CSEndPointSet_P6180(seg_v19644, lo_v19672, newPoint_v19700); SOURCE(34631, 53) { word pd500; pd500 = (* (( (ptr) (* (( (ptr) gf_c80660)+290)/* var_c65460 */ ))+8) ); coeffs_v29372 = (word) ( *( (fPt) ((* (ptr) pd500 ))))((* (ptr) data_v29344 ), (* (( (ptr) data_v29344)+1) ), pd500); }; SOURCE(34719, 51) { word pd501; pd501 = (* (( (ptr) (* (( (ptr) gf_c80660)+291)/* var_c65492 */ ))+4) ); (* (( (ptr) data_v29344)+2) ) = (word) ( *( (fPt) ((* (ptr) pd501 ))))(coeffs_v29372, 0, pd501); }; SOURCE(34772, 21) (void) UpdateCSBoundBox_P4860(seg_v19644); } static void CSControlPointMoved_P5220(seg_v19760, transform_v19788, controlPointNum_v19816) word seg_v19760; word transform_v19788; word controlPointNum_v19816; { register ptr gf_c80692 = (ptr) &globalframe; word data_v29416; word coeffs_v29444 = 0; /* CSControlPointMoved: */ SOURCE(34799, 448) SOURCE(34914, 40) data_v29416 = XR_Narrow((* (( (ptr) seg_v19760)+24) ), (* (( (ptr) gf_c80692)+19) )); SOURCE(34993, 123) { W2 var_c72116; { W2 var_c72148; (void) CSControlPointGet_P5580((word) &var_c72148, seg_v19760, controlPointNum_v19816); { W2 var_c0844; { word pd502; pd502 = (* (( (ptr) (* (( (ptr) gf_c80692)+293)/* var_c65588 */ ))+39) ); (void) ( *( (fPt) ((* (ptr) pd502 ))))((word) &var_c0844, transform_v19788, var_c72148, pd502); }; var_c72116 = var_c0844; }; }; (void) CSControlPointSet_P6120(seg_v19760, controlPointNum_v19816, var_c72116); }; SOURCE(35118, 53) { word pd503; pd503 = (* (( (ptr) (* (( (ptr) gf_c80692)+290)/* var_c65460 */ ))+8) ); coeffs_v29444 = (word) ( *( (fPt) ((* (ptr) pd503 ))))((* (ptr) data_v29416 ), (* (( (ptr) data_v29416)+1) ), pd503); }; SOURCE(35173, 51) { word pd504; pd504 = (* (( (ptr) (* (( (ptr) gf_c80692)+291)/* var_c65492 */ ))+4) ); (* (( (ptr) data_v29416)+2) ) = (word) ( *( (fPt) ((* (ptr) pd504 ))))(coeffs_v29444, 0, pd504); }; SOURCE(35226, 21) (void) UpdateCSBoundBox_P4860(seg_v19760); } static word CSDescribe_P5280(seg_v19876, self_v19904, lo_v19932, hi_v19960, cps_v19988) word seg_v19876; word self_v19904; word lo_v19932; word hi_v19960; word cps_v19988; { register ptr gf_c80724 = (ptr) &globalframe; word rope_v20032; word data_v29488; /* CSDescribe: */ SOURCE(35253, 257) SOURCE(35253, 257) rope_v20032 = 0; SOURCE(35351, 40) data_v29488 = XR_Narrow((* (( (ptr) seg_v19876)+24) ), (* (( (ptr) gf_c80724)+19) )); SOURCE(35393, 117) { word var_c72180; var_c72180 = (* (( (ptr) data_v29488)+1) ); switch (var_c72180) { case 2: SOURCE(35428, 16) rope_v20032 = (* (( (ptr) gf_c80724)+34) ); break; case 3: SOURCE(35458, 23) rope_v20032 = (* (( (ptr) gf_c80724)+35) ); break; case 6: SOURCE(35494, 16) rope_v20032 = (* (( (ptr) gf_c80724)+36) ); break; default: SOURCE(35523, 5) (void) XR_RaiseUnnamedError(); break; }; }; SOURCE(35253, 257) return(rope_v20032); } static void CSFileOut_P5340(seg_v20092, f_v20120) word seg_v20092; word f_v20120; { register ptr gf_c80756 = (ptr) &globalframe; word data_v29532; word cpCount_v29560; /* CSFileOut: */ SOURCE(35534, 442) SOURCE(35583, 40) data_v29532 = XR_Narrow((* (( (ptr) seg_v20092)+24) ), (* (( (ptr) gf_c80756)+19) )); SOURCE(35625, 47) { word pd505; pd505 = (* (( (ptr) (* (ptr) seg_v20092 ))+17) ); cpCount_v29560 = (word) ( *( (fPt) ((* (ptr) pd505 ))))(seg_v20092, pd505); }; SOURCE(35674, 149) { word var_c72212; var_c72212 = (* (( (ptr) data_v29532)+1) ); switch (var_c72212) { case 2: SOURCE(35709, 27) { word pd506; pd506 = (* (( (ptr) (* (( (ptr) gf_c80756)+285)/* var_c65044 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd506 ))))(f_v20120, (* (( (ptr) gf_c80756)+37) ), 0, 2147483647, pd506); }; break; case 3: SOURCE(35750, 33) { word pd507; pd507 = (* (( (ptr) (* (( (ptr) gf_c80756)+285)/* var_c65044 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd507 ))))(f_v20120, (* (( (ptr) gf_c80756)+38) ), 0, 2147483647, pd507); }; break; case 6: SOURCE(35796, 27) { word pd508; pd508 = (* (( (ptr) (* (( (ptr) gf_c80756)+285)/* var_c65044 */ ))+93) ); (void) ( *( (fPt) ((* (ptr) pd508 ))))(f_v20120, (* (( (ptr) gf_c80756)+39) ), 0, 2147483647, pd508); }; break; default: SOURCE(35836, 5) (void) XR_RaiseUnnamedError(); break; }; }; SOURCE(35843, 35) { W2 var_c72244; var_c72244.f0 = 5; var_c72244.f1 = cpCount_v29560; { word pd509; pd509 = (* (( (ptr) (* (( (ptr) gf_c80756)+285)/* var_c65044 */ ))+61) ); (void) ( *( (fPt) ((* (ptr) pd509 ))))(f_v20120, (* (( (ptr) gf_c80756)+40) ), var_c72244, pd509); }; }; SOURCE(35880, 96) { register word i_v29604 = 0; register word noName_c72276; noName_c72276 = cpCount_v29560; if (( (int)i_v29604 >= (int)noName_c72276)) { goto lab_L100057; }; lab_L100060: ; SOURCE(35910, 51) { W2 var_c72308; (void) CSControlPointGet_P5580((word) &var_c72308, seg_v20092, SGNCK(i_v29604)); { word pd510; pd510 = (* (( (ptr) (* (( (ptr) gf_c80756)+296)/* var_c66196 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd510 ))))(f_v20120, var_c72308, pd510); }; }; SOURCE(35963, 13) { word pd511; pd511 = (* (( (ptr) (* (( (ptr) gf_c80756)+285)/* var_c65044 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd511 ))))(f_v20120, 32, pd511); }; i_v29604 = (i_v29604 + 1); if (( (int)i_v29604 < (int)noName_c72276)) { goto lab_L100060; }; lab_L100057: ; }; } static word CSFileIn_P5400(f_v20180, loPoint_v20208, hiPoint_v20236, version_v20264) word f_v20180; W2 loPoint_v20208; W2 hiPoint_v20236; word version_v20264; { register ptr gf_c80788 = (ptr) &globalframe; word seg_v20308; word cps_v29648 = 0; word type_v29676; word typeWord_v29704 = 0; word cyclic_v29732; /* CSFileIn: */ SOURCE(35991, 1043) SOURCE(35991, 1043) seg_v20308 = 0; SOURCE(36186, 470) { word x512; word x514; if ((( x512 = version_v20264, *(float*)&x512 ) >= ( x514 = (* (ptr) &fc513 ), *(float*)&x514 ))) { SOURCE(36215, 30) { word pd515; pd515 = (* (( (ptr) (* (( (ptr) gf_c80788)+297)/* var_c66260 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd515 ))))(f_v20180, (* (( (ptr) gf_c80788)+41) ), pd515); }; SOURCE(36247, 32) { word pd516; pd516 = (* (( (ptr) (* (( (ptr) gf_c80788)+297)/* var_c66260 */ ))+8) ); typeWord_v29704 = (word) ( *( (fPt) ((* (ptr) pd516 ))))(f_v20180, pd516); }; SOURCE(36281, 189) { word pd517; pd517 = (* (( (ptr) (* (( (ptr) gf_c80788)+303)/* var_c72340 */ ))+8) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd517 ))))(typeWord_v29704, (* (( (ptr) gf_c80788)+34) ), 1, pd517))) { SOURCE(36321, 22) type_v29676 = 2; } else { SOURCE(36343, 127) { word pd518; pd518 = (* (( (ptr) (* (( (ptr) gf_c80788)+303)/* var_c72340 */ ))+8) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd518 ))))(typeWord_v29704, (* (( (ptr) gf_c80788)+42) ), 1, pd518))) { SOURCE(36389, 21) type_v29676 = 3; } else { SOURCE(36410, 60) { word pd519; pd519 = (* (( (ptr) (* (( (ptr) gf_c80788)+303)/* var_c72340 */ ))+8) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd519 ))))(typeWord_v29704, (* (( (ptr) gf_c80788)+36) ), 1, pd519))) { SOURCE(36450, 20) type_v29676 = 6; } else { SOURCE(36470, 5) (void) XR_RaiseUnnamedError(); }; }; }; }; }; }; } else { SOURCE(36484, 172) { word x520; word x522; if ((( x520 = version_v20264, *(float*)&x520 ) >= ( x522 = (* (ptr) &fc521 ), *(float*)&x522 ))) { SOURCE(36513, 32) { word pd523; pd523 = (* (( (ptr) (* (( (ptr) gf_c80788)+297)/* var_c66260 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd523 ))))(f_v20180, (* (( (ptr) gf_c80788)+43) ), pd523); }; SOURCE(36547, 30) { word pd524; pd524 = (* (( (ptr) (* (( (ptr) gf_c80788)+297)/* var_c66260 */ ))+24) ); cyclic_v29732 = (word) ( *( (fPt) ((* (ptr) pd524 ))))(f_v20180, pd524); }; SOURCE(36579, 52) if ((0 != cyclic_v29732)) { SOURCE(36594, 21) type_v29676 = 3; } else { SOURCE(36615, 16) type_v29676 = 2; }; } else { SOURCE(36640, 16) type_v29676 = 2; }; }; }; }; SOURCE(36658, 63) { word var_c72372; word var_c72404; word var_c72436; { word pd525; word idx526; pd525 = (* (( (ptr) (* (( (ptr) gf_c80788)+297)/* var_c66260 */ ))+25) ); var_c72372 = ( idx526 = (word) ((word) ( *( (fPt) ((* (ptr) pd525 ))))(f_v20180, pd525) + 2), BCK(idx526, 33554431) ); }; var_c72404 = ((word) var_c72372 << 3); var_c72436 = XR_NewObject((4 + var_c72404), (* (( (ptr) gf_c80788)+24) )); (* (ptr) var_c72436 ) = var_c72372; cps_v29648 = var_c72436; }; SOURCE(36723, 77) { register word i_v29776 = 1; register word noName_c72468; noName_c72468 = ((* (ptr) cps_v29648 ) - 1); if (( (int)i_v29776 >= (int)noName_c72468)) { goto lab_L100061; }; lab_L100064: ; SOURCE(36758, 42) { W2 var_c72500; { W2 var_c72532; { word pd527; pd527 = (* (( (ptr) (* (( (ptr) gf_c80788)+297)/* var_c66260 */ ))+19) ); (void) ( *( (fPt) ((* (ptr) pd527 ))))((word) &var_c72532, f_v20180, pd527); }; { W2 var_c0880; (void) PointToFP_P6600((word) &var_c0880, var_c72532); var_c72500 = var_c0880; }; }; { word limit528; (* (( (W2Pt) (( (ptr) cps_v29648)+1))+( limit528 = (* (ptr) cps_v29648 ), BCK(i_v29776, limit528) )) ) = var_c72500; }; }; i_v29776 = (i_v29776 + 1); if (( (int)i_v29776 < (int)noName_c72468)) { goto lab_L100064; }; lab_L100061: ; }; SOURCE(36811, 48) if ( ( (type_v29676 == 3) ? ! XR_EqualWords(&loPoint_v20208, &hiPoint_v20236, 2) : 0 ) ) { SOURCE(36859, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(36928, 27) { W2 var_c72564; (void) PointToFP_P6600((word) &var_c72564, loPoint_v20208); { word limit529; (* (( (W2Pt) (( (ptr) cps_v29648)+1))+( limit529 = (* (ptr) cps_v29648 ), BCK(0, limit529) )) ) = var_c72564; }; }; SOURCE(36957, 38) { W2 var_c72596; (void) PointToFP_P6600((word) &var_c72596, hiPoint_v20236); { word var_c72628; var_c72628 = ((* (ptr) cps_v29648 ) - 1); { word limit530; (* (( (W2Pt) (( (ptr) cps_v29648)+1))+( limit530 = (* (ptr) cps_v29648 ), BCK(var_c72628, limit530) )) ) = var_c72596; }; }; }; SOURCE(36997, 37) seg_v20308 = (word) MakeCubicSpline_P4620(cps_v29648, type_v29676, 0); SOURCE(35991, 1043) return(seg_v20308); } static void CSFieldSet_P5460(seg_v39524, controlPointNum_v39552, selected_v39580, selectClass_v39608) word seg_v39524; word controlPointNum_v39552; word selected_v39580; word selectClass_v39608; { register ptr gf_c80820 = (ptr) &globalframe; word data_v29820; /* CSFieldSet: */ SOURCE(37040, 364) SOURCE(37096, 40) data_v29820 = XR_Narrow((* (( (ptr) seg_v39524)+24) ), (* (( (ptr) gf_c80820)+19) )); SOURCE(37138, 266) { word var_c72660; word var_c72692; word var_c72724; word var_c72756; word var_c72788; var_c72660 = selectClass_v39608; switch (var_c72660) { case 0: SOURCE(37172, 51) { word limit531; var_c72692 = (* (( (ptr) data_v29820)+3) ); (* (( (W4Pt) (( (ptr) var_c72692)+1))+( limit531 = (* (ptr) var_c72692 ), BCK(controlPointNum_v39552, limit531) )) ).f0 = selected_v39580; }; break; case 1: SOURCE(37232, 48) { word limit532; var_c72724 = (* (( (ptr) data_v29820)+3) ); (* (( (W4Pt) (( (ptr) var_c72724)+1))+( limit532 = (* (ptr) var_c72724 ), BCK(controlPointNum_v39552, limit532) )) ).f1 = selected_v39580; }; break; case 2: SOURCE(37292, 51) { word limit533; var_c72756 = (* (( (ptr) data_v29820)+3) ); (* (( (W4Pt) (( (ptr) var_c72756)+1))+( limit533 = (* (ptr) var_c72756 ), BCK(controlPointNum_v39552, limit533) )) ).f2 = selected_v39580; }; break; case 3: SOURCE(37354, 50) { word limit534; var_c72788 = (* (( (ptr) data_v29820)+3) ); (* (( (W4Pt) (( (ptr) var_c72788)+1))+( limit534 = (* (ptr) var_c72788 ), BCK(controlPointNum_v39552, limit534) )) ).f3 = selected_v39580; }; break; default: SOURCE(37417, 5) (void) XR_RaiseUnnamedError(); break; }; }; } static word CSFieldGet_P5520(seg_v39668, controlPointNum_v39696, selectClass_v39724) word seg_v39668; word controlPointNum_v39696; word selectClass_v39724; { register ptr gf_c80852 = (ptr) &globalframe; word selected_v39768; word data_v29864; /* CSFieldGet: */ SOURCE(37428, 364) SOURCE(37484, 40) data_v29864 = XR_Narrow((* (( (ptr) seg_v39668)+24) ), (* (( (ptr) gf_c80852)+19) )); SOURCE(37526, 266) { word var_c72820; word var_c72852; word var_c72884; word var_c72916; word var_c72948; var_c72820 = selectClass_v39724; switch (var_c72820) { case 0: SOURCE(37560, 51) { word limit535; var_c72852 = (* (( (ptr) data_v29864)+3) ); selected_v39768 = (* (( (W4Pt) (( (ptr) var_c72852)+1))+( limit535 = (* (ptr) var_c72852 ), BCK(controlPointNum_v39696, limit535) )) ).f0; }; break; case 1: SOURCE(37620, 48) { word limit536; var_c72884 = (* (( (ptr) data_v29864)+3) ); selected_v39768 = (* (( (W4Pt) (( (ptr) var_c72884)+1))+( limit536 = (* (ptr) var_c72884 ), BCK(controlPointNum_v39696, limit536) )) ).f1; }; break; case 2: SOURCE(37680, 51) { word limit537; var_c72916 = (* (( (ptr) data_v29864)+3) ); selected_v39768 = (* (( (W4Pt) (( (ptr) var_c72916)+1))+( limit537 = (* (ptr) var_c72916 ), BCK(controlPointNum_v39696, limit537) )) ).f2; }; break; case 3: SOURCE(37742, 50) { word limit538; var_c72948 = (* (( (ptr) data_v29864)+3) ); selected_v39768 = (* (( (W4Pt) (( (ptr) var_c72948)+1))+( limit538 = (* (ptr) var_c72948 ), BCK(controlPointNum_v39696, limit538) )) ).f3; }; break; default: SOURCE(37805, 5) (void) XR_RaiseUnnamedError(); break; }; }; SOURCE(37428, 364) return(selected_v39768); } static void CSControlPointGet_P5580(formal_c0919, seg_v20368, controlPointNum_v20396) word formal_c0919; word seg_v20368; word controlPointNum_v20396; { register ptr gf_c80884 = (ptr) &globalframe; W2 point_v20440; word data_v29908; /* CSControlPointGet: */ SOURCE(37816, 393) SOURCE(37904, 40) data_v29908 = XR_Narrow((* (( (ptr) seg_v20368)+24) ), (* (( (ptr) gf_c80884)+19) )); SOURCE(37946, 263) { word var_c72980; var_c72980 = (* (( (ptr) data_v29908)+1) ); switch (var_c72980) { case 2: case 3: SOURCE(37993, 45) if (( (int)controlPointNum_v20396 >= (int)((* (ptr) (* (ptr) data_v29908 ) ) - 2))) { SOURCE(38038, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(38045, 47) { W2 var_c73108; { W2 var_c0914; { word var_c73044; word var_c73076; W2 var_c01383; var_c73044 = (controlPointNum_v20396 + 1); var_c73076 = (* (ptr) data_v29908 ); { word limit539; var_c01383 = (* (( (W2Pt) (( (ptr) var_c73076)+1))+( /*1*/ limit539 = (* (ptr) var_c73076 ), /*1*/ BCK(var_c73044, limit539) /*1*/ )) ); }; (void) FPToPoint_P6540((word) &var_c0914, var_c01383); }; var_c73108 = var_c0914; }; point_v20440 = var_c73108; /* removed tail goto */ }; break; case 6: SOURCE(38110, 45) if (( (int)controlPointNum_v20396 >= (int)((* (ptr) (* (ptr) data_v29908 ) ) - 4))) { SOURCE(38155, 5) (void) XR_RaiseUnnamedError(); }; SOURCE(38162, 47) { W2 var_c73236; { W2 var_c0918; { word var_c73172; word var_c73204; W2 var_c01384; var_c73172 = (controlPointNum_v20396 + 3); var_c73204 = (* (ptr) data_v29908 ); { word limit540; var_c01384 = (* (( (W2Pt) (( (ptr) var_c73204)+1))+( /*1*/ limit540 = (* (ptr) var_c73204 ), /*1*/ BCK(var_c73172, limit540) /*1*/ )) ); }; (void) FPToPoint_P6540((word) &var_c0918, var_c01384); }; var_c73236 = var_c0918; }; point_v20440 = var_c73236; /* removed tail goto */ }; break; default: SOURCE(38225, 5) (void) XR_RaiseUnnamedError(); break; }; }; (* (W2Pt) formal_c0919 ) = point_v20440; return; } static word CSControlPointCount_P5640(seg_v20500) word seg_v20500; { register ptr gf_c80916 = (ptr) &globalframe; word controlPointCount_v20544; word data_v29952; /* CSControlPointCount: */ SOURCE(38236, 361) SOURCE(38314, 40) data_v29952 = XR_Narrow((* (( (ptr) seg_v20500)+24) ), (* (( (ptr) gf_c80916)+19) )); SOURCE(38405, 192) { word var_c73268; var_c73268 = (* (( (ptr) data_v29952)+1) ); switch (var_c73268) { case 2: case 3: SOURCE(38450, 25) { word idx541; return(( idx541 = (word) ((* (ptr) (* (ptr) data_v29952 ) ) - 2), SGNCK(idx541) )); }; case 6: SOURCE(38524, 73) { word idx542; return(( idx542 = (word) ((* (ptr) (* (ptr) data_v29952 ) ) - 6), SGNCK(idx542) )); }; default: SOURCE(38597, 5) (void) XR_RaiseUnnamedError(); break; }; }; } static void CSClosestControlPoint_P5700(formal_c0951, seg_v20604, testPoint_v20632, tolerance_v20660) word formal_c0951; word seg_v20604; W2 testPoint_v20632; word tolerance_v20660; { register ptr gf_c80948 = (ptr) &globalframe; W2 point_v20704; W2 normal_v20732; word controlPointNum_v20760; word success_v20788; word data_v29996; word nextDist_v30024; word minDist_v30052; /* CSClosestControlPoint: */ SOURCE(38607, 1336) SOURCE(38607, 1336) normal_v20732.f0 = (* (ptr) &fc78 ); normal_v20732.f1 = (* (ptr) &fc115 ); SOURCE(38774, 40) data_v29996 = XR_Narrow((* (( (ptr) seg_v20604)+24) ), (* (( (ptr) gf_c80948)+19) )); SOURCE(38847, 78) { word pd543; pd543 = (* (( (ptr) (* (ptr) seg_v20604 ))+17) ); if (((word) ( *( (fPt) ((* (ptr) pd543 ))))(seg_v20604, pd543) == 0)) { SOURCE(38892, 33) point_v20704.f0 = (* (ptr) &fc78 ); point_v20704.f1 = (* (ptr) &fc78 ); normal_v20732.f0 = (* (ptr) &fc78 ); normal_v20732.f1 = (* (ptr) &fc115 ); controlPointNum_v20760 = 999; success_v20788 = 0; goto lab_L100066; }; }; SOURCE(38927, 73) { W2 var_c73364; (void) CSControlPointGet_P5580((word) &var_c73364, seg_v20604, 0); { word pd544; pd544 = (* (( (ptr) (* (( (ptr) gf_c80948)+300)/* var_c69588 */ ))+21) ); minDist_v30052 = (word) ( *( (fPt) ((* (ptr) pd544 ))))(testPoint_v20632, var_c73364, pd544); }; }; SOURCE(39002, 19) controlPointNum_v20760 = 0; SOURCE(39023, 190) { register word i_v30096 = 1; register word noName_c73396; word var_c01385; { word pd545; pd545 = (* (( (ptr) (* (ptr) seg_v20604 ))+17) ); noName_c73396 = (word) ( *( (fPt) ((* (ptr) pd545 ))))(seg_v20604, pd545); }; if (( (int)i_v30096 >= (int)noName_c73396)) { goto lab_L100067; }; lab_L100070: ; SOURCE(39077, 136) { word x547; word x548; { W2 var_c73428; (void) CSControlPointGet_P5580((word) &var_c73428, seg_v20604, SGNCK(i_v30096)); { word pd546; pd546 = (* (( (ptr) (* (( (ptr) gf_c80948)+300)/* var_c69588 */ ))+21) ); nextDist_v30024 = (word) ( *( (fPt) ((* (ptr) pd546 ))))(testPoint_v20632, var_c73428, pd546); }; }; var_c01385 = nextDist_v30024; if ((( x547 = var_c01385, *(float*)&x547 ) < ( x548 = minDist_v30052, *(float*)&x548 ))) { SOURCE(39174, 18) minDist_v30052 = nextDist_v30024; SOURCE(39194, 19) controlPointNum_v20760 = SGNCK(i_v30096); }; }; i_v30096 = (i_v30096 + 1); if (( (int)i_v30096 < (int)noName_c73396)) { goto lab_L100070; }; lab_L100067: ; }; SOURCE(39228, 31) { word pd549; pd549 = (* (( (ptr) (* (( (ptr) gf_c80948)+299)/* var_c66836 */ ))+9) ); minDist_v30052 = (word) ( *( (fPt) ((* (ptr) pd549 ))))(minDist_v30052, pd549); }; SOURCE(39261, 32) { word x550; word x551; success_v20788 = (( x550 = minDist_v30052, *(float*)&x550 ) <= ( x551 = tolerance_v20660, *(float*)&x551 )); }; SOURCE(39295, 47) (void) CSControlPointGet_P5580((word) &point_v20704, seg_v20604, controlPointNum_v20760); SOURCE(39345, 598) if ((0 != success_v20788)) { SOURCE(39363, 580) if (((* (( (ptr) data_v29996)+1) ) == 2) || ((* (( (ptr) data_v29996)+1) ) == 3)) { SOURCE(39417, 529) { W2 normal1_v30140; W2 normal2_v30168; W2 tangent_v30196; W2 direction_v30224; W2 p2_v30252; W2 p3_v30280; word var_c73460; word var_c73492; SOURCE(39479, 41) { word limit552; var_c73460 = (* (( (ptr) (* (( (ptr) data_v29996)+2) ))+4) ); p2_v30252 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c73460)+1))+( limit552 = (* (ptr) var_c73460 ), BCK(controlPointNum_v20760, limit552) )))+4) ); }; SOURCE(39522, 41) { word limit553; var_c73492 = (* (( (ptr) (* (( (ptr) data_v29996)+2) ))+4) ); p3_v30280 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c73492)+1))+( limit553 = (* (ptr) var_c73492 ), BCK(controlPointNum_v20760, limit553) )))+6) ); }; SOURCE(39565, 43) { word pd554; pd554 = (* (( (ptr) (* (( (ptr) gf_c80948)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd554 ))))((word) &tangent_v30196, p3_v30280, p2_v30252, pd554); }; SOURCE(39610, 21) normal1_v30140.f0 = tangent_v30196.f1; SOURCE(39633, 22) { word x555; *(float*)&normal1_v30140.f1 = - ( x555 = tangent_v30196.f0, *(float*)&x555 ); }; SOURCE(39657, 22) { word x556; *(float*)&normal2_v30168.f0 = - ( x556 = tangent_v30196.f1, *(float*)&x556 ); }; SOURCE(39681, 21) normal2_v30168.f1 = tangent_v30196.f0; SOURCE(39704, 56) { word pd557; pd557 = (* (( (ptr) (* (( (ptr) gf_c80948)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd557 ))))((word) &direction_v30224, point_v20704, testPoint_v20632, pd557); }; SOURCE(39762, 181) { float tf558; word pd559; word x560; float tf561; word pd562; word x563; pd559 = (* (( (ptr) (* (( (ptr) gf_c80948)+300)/* var_c69588 */ ))+9) ); pd562 = (* (( (ptr) (* (( (ptr) gf_c80948)+300)/* var_c69588 */ ))+9) ); if ((FABS(( x560 = (word) ( *( (fPt) ((* (ptr) pd559 ))))(normal1_v30140, direction_v30224, pd559), *(float*)&x560 ), tf558) < FABS(( x563 = (word) ( *( (fPt) ((* (ptr) pd562 ))))(normal2_v30168, direction_v30224, pd562), *(float*)&x563 ), tf561))) { SOURCE(39900, 17) normal_v20732 = normal1_v30140; } else { SOURCE(39927, 16) normal_v20732 = normal2_v30168; }; }; }; }; }; /* removed tail goto */ lab_L100066: ; (* (W2Pt) formal_c0951 ) = point_v20704; (* (W2Pt) (( (ptr) formal_c0951)+2) ) = normal_v20732; (* (( (ptr) formal_c0951)+4) ) = controlPointNum_v20760; (* (( (ptr) formal_c0951)+5) ) = success_v20788; return; } static word CSAsPolyline_P5760(seg_v20952, tolerance_v20980) word seg_v20952; word tolerance_v20980; { register ptr gf_c80980 = (ptr) &globalframe; word polyline_v21024; word data_v30324; word polylines_v30352 = 0; word lineCount_v30380 = 0; word index_v30408 = 0; /* CSAsPolyline: */ SOURCE(40083, 705) SOURCE(40083, 705) polyline_v21024 = 0; SOURCE(40186, 40) data_v30324 = XR_Narrow((* (( (ptr) seg_v20952)+24) ), (* (( (ptr) gf_c80980)+19) )); SOURCE(40278, 54) { word var_c73524; word var_c73556; word var_c73588; { word idx564; var_c73524 = ( idx564 = (* (ptr) (* (( (ptr) (* (( (ptr) data_v30324)+2) ))+4) ) ), BCK(idx564, 67108863) ); }; var_c73556 = ((word) var_c73524 << 2); var_c73588 = XR_NewObject((4 + var_c73556), (* (( (ptr) gf_c80980)+21) )); (* (ptr) var_c73588 ) = var_c73524; polylines_v30352 = var_c73588; }; SOURCE(40334, 157) { register word i_v30452 = 0; register word noName_c73620; noName_c73620 = (* (ptr) (* (( (ptr) (* (( (ptr) data_v30324)+2) ))+4) ) ); if ((i_v30452 >= noName_c73620)) { goto lab_L100071; }; lab_L100074: ; SOURCE(40380, 66) { word var_c73652; { word var_c73684; W8 var_c01386; var_c73684 = (* (( (ptr) (* (( (ptr) data_v30324)+2) ))+4) ); { word limit565; var_c01386 = (* (( (W8Pt) (( (ptr) var_c73684)+1))+( limit565 = (* (ptr) var_c73684 ), BCK(i_v30452, limit565) )) ); }; { word pd566; pd566 = (* (( (ptr) (* (( (ptr) gf_c80980)+301)/* var_c69812 */ ))+6) ); var_c73652 = (word) ( *( (fPt) ((* (ptr) pd566 ))))(var_c01386, tolerance_v20980, pd566); }; }; { word limit567; (* ((( (ptr) polylines_v30352)+1)+( limit567 = (* (ptr) polylines_v30352 ), BCK(i_v30452, limit567) )) ) = var_c73652; }; }; SOURCE(40448, 43) { word limit568; word idx569; lineCount_v30380 = ( idx569 = (word) ((lineCount_v30380 + (* (ptr) (* ((( (ptr) polylines_v30352)+1)+( limit568 = (* (ptr) polylines_v30352 ), BCK(i_v30452, limit568) )) ) )) - 1), SGNCK(idx569) ); }; i_v30452 = (i_v30452 + 1); if ((i_v30452 < noName_c73620)) { goto lab_L100074; }; lab_L100071: ; }; SOURCE(40502, 59) { word var_c73716; word var_c73748; word var_c73780; var_c73716 = (lineCount_v30380 + 1); var_c73748 = ((word) var_c73716 << 3); var_c73780 = XR_NewObject((8 + var_c73748), (* (( (ptr) gf_c80980)+25) )); (* (( (ptr) var_c73780)+1) ) = var_c73716; polyline_v21024 = var_c73780; }; SOURCE(40563, 29) (* (ptr) polyline_v21024 ) = (lineCount_v30380 + 1); SOURCE(40594, 33) { word var_c73812; { word limit570; var_c73812 = (* ((( (ptr) polylines_v30352)+1)+( limit570 = (* (ptr) polylines_v30352 ), BCK(0, limit570) )) ); }; { word limit571; word limit572; (* (( (W2Pt) (( (ptr) polyline_v21024)+2))+( limit571 = (* (( (ptr) polyline_v21024)+1) ), BCK(index_v30408, limit571) )) ) = (* (( (W2Pt) (( (ptr) var_c73812)+2))+( limit572 = (* (( (ptr) var_c73812)+1) ), BCK(0, limit572) )) ); }; }; SOURCE(40629, 17) index_v30408 = (index_v30408 + 1); SOURCE(40648, 140) { register word i_v30496 = 0; register word noName_c73844; noName_c73844 = (* (ptr) (* (( (ptr) (* (( (ptr) data_v30324)+2) ))+4) ) ); if ((i_v30496 >= noName_c73844)) { goto lab_L100075; }; lab_L100078: ; SOURCE(40694, 94) { register word j_v30540 = 1; register word noName_c73876; { word limit573; noName_c73876 = (* (ptr) (* ((( (ptr) polylines_v30352)+1)+( limit573 = (* (ptr) polylines_v30352 ), BCK(i_v30496, limit573) )) ) ); }; if ((j_v30540 >= noName_c73876)) { goto lab_L100079; }; lab_L100082: ; SOURCE(40736, 33) { word var_c73908; { word limit574; var_c73908 = (* ((( (ptr) polylines_v30352)+1)+( limit574 = (* (ptr) polylines_v30352 ), BCK(i_v30496, limit574) )) ); }; { word limit575; word limit576; (* (( (W2Pt) (( (ptr) polyline_v21024)+2))+( limit575 = (* (( (ptr) polyline_v21024)+1) ), BCK(index_v30408, limit575) )) ) = (* (( (W2Pt) (( (ptr) var_c73908)+2))+( limit576 = (* (( (ptr) var_c73908)+1) ), BCK(j_v30540, limit576) )) ); }; }; SOURCE(40771, 17) index_v30408 = (index_v30408 + 1); j_v30540 = (j_v30540 + 1); if ((j_v30540 < noName_c73876)) { goto lab_L100082; }; lab_L100079: ; }; i_v30496 = (i_v30496 + 1); if ((i_v30496 < noName_c73844)) { goto lab_L100078; }; lab_L100075: ; }; SOURCE(40083, 705) return(polyline_v21024); } static void CSCPNormal_P5820(formal_c0991, seg_v21084, controlPointNum_v21112, cPoint_v21140, testPoint_v21168) word formal_c0991; word seg_v21084; word controlPointNum_v21112; W2 cPoint_v21140; W2 testPoint_v21168; { register ptr gf_c81012 = (ptr) &globalframe; W2 normal_v21212; word data_v30584; /* CSCPNormal: */ SOURCE(40812, 741) SOURCE(40812, 741) normal_v21212.f0 = (* (ptr) &fc78 ); normal_v21212.f1 = (* (ptr) &fc115 ); SOURCE(40930, 40) data_v30584 = XR_Narrow((* (( (ptr) seg_v21084)+24) ), (* (( (ptr) gf_c81012)+19) )); SOURCE(40972, 581) if (((* (( (ptr) data_v30584)+1) ) == 2) || ((* (( (ptr) data_v30584)+1) ) == 3)) { SOURCE(41026, 530) { W2 normal1_v30628; W2 normal2_v30656; W2 tangent_v30684; W2 direction_v30712; W2 p2_v30740; W2 p3_v30768; word var_c73940; word var_c73972; SOURCE(41088, 41) { word limit577; var_c73940 = (* (( (ptr) (* (( (ptr) data_v30584)+2) ))+4) ); p2_v30740 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c73940)+1))+( limit577 = (* (ptr) var_c73940 ), BCK(controlPointNum_v21112, limit577) )))+4) ); }; SOURCE(41131, 41) { word limit578; var_c73972 = (* (( (ptr) (* (( (ptr) data_v30584)+2) ))+4) ); p3_v30768 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c73972)+1))+( limit578 = (* (ptr) var_c73972 ), BCK(controlPointNum_v21112, limit578) )))+6) ); }; SOURCE(41174, 43) { word pd579; pd579 = (* (( (ptr) (* (( (ptr) gf_c81012)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd579 ))))((word) &tangent_v30684, p3_v30768, p2_v30740, pd579); }; SOURCE(41219, 21) normal1_v30628.f0 = tangent_v30684.f1; SOURCE(41242, 22) { word x580; *(float*)&normal1_v30628.f1 = - ( x580 = tangent_v30684.f0, *(float*)&x580 ); }; SOURCE(41266, 22) { word x581; *(float*)&normal2_v30656.f0 = - ( x581 = tangent_v30684.f1, *(float*)&x581 ); }; SOURCE(41290, 21) normal2_v30656.f1 = tangent_v30684.f0; SOURCE(41313, 57) { word pd582; pd582 = (* (( (ptr) (* (( (ptr) gf_c81012)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd582 ))))((word) &direction_v30712, cPoint_v21140, testPoint_v21168, pd582); }; SOURCE(41372, 181) { float tf583; word pd584; word x585; float tf586; word pd587; word x588; pd584 = (* (( (ptr) (* (( (ptr) gf_c81012)+300)/* var_c69588 */ ))+9) ); pd587 = (* (( (ptr) (* (( (ptr) gf_c81012)+300)/* var_c69588 */ ))+9) ); if ((FABS(( x585 = (word) ( *( (fPt) ((* (ptr) pd584 ))))(normal1_v30628, direction_v30712, pd584), *(float*)&x585 ), tf583) < FABS(( x588 = (word) ( *( (fPt) ((* (ptr) pd587 ))))(normal2_v30656, direction_v30712, pd587), *(float*)&x588 ), tf586))) { SOURCE(41510, 17) normal_v21212 = normal1_v30628; } else { SOURCE(41537, 16) normal_v21212 = normal2_v30656; }; }; }; }; /* removed tail goto */ (* (W2Pt) formal_c0991 ) = normal_v21212; return; } static void CSJointNormal_P5880(formal_c01017, seg_v21272, joint_v21300, point_v21328, hi_v21356) word formal_c01017; word seg_v21272; W2 joint_v21300; W2 point_v21328; word hi_v21356; { register ptr gf_c81044 = (ptr) &globalframe; W2 normal_v21400; W2 tangent_v21428; W2 normal1_v30812; W2 normal2_v30840; W2 direction_v30868; W2 p0_v30896; W2 p1_v30924; W2 p2_v30952; W2 p3_v30980; word offset_v31008; word data_v31036; word path_v31064; /* CSJointNormal: */ SOURCE(41564, 1038) SOURCE(41564, 1038) normal_v21400.f0 = (* (ptr) &fc78 ); normal_v21400.f1 = (* (ptr) &fc115 ); SOURCE(41564, 1038) tangent_v21428.f0 = (* (ptr) &fc78 ); tangent_v21428.f1 = (* (ptr) &fc115 ); SOURCE(41747, 40) data_v31036 = XR_Narrow((* (( (ptr) seg_v21272)+24) ), (* (( (ptr) gf_c81044)+19) )); SOURCE(41789, 36) path_v31064 = (word) GetPath_P6780(seg_v21272); { word var_c74004; word var_c74036; word var_c74068; word var_c74100; word var_c74132; word var_c74164; SOURCE(41827, 58) if (((* (( (ptr) data_v31036)+1) ) == 6)) { SOURCE(41856, 10) offset_v31008 = 1; } else { SOURCE(41875, 10) offset_v31008 = 0; }; SOURCE(41890, 31) { word limit589; var_c74004 = (* (( (ptr) path_v31064)+4) ); p0_v30896 = (* (W2Pt) (( (W8Pt) (( (ptr) var_c74004)+1))+( limit589 = (* (ptr) var_c74004 ), BCK(offset_v31008, limit589) )) ); }; SOURCE(41923, 31) { word limit590; var_c74036 = (* (( (ptr) path_v31064)+4) ); p1_v30924 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c74036)+1))+( limit590 = (* (ptr) var_c74036 ), BCK(offset_v31008, limit590) )))+2) ); }; SOURCE(41956, 52) { word limit591; var_c74068 = (((* (ptr) (* (( (ptr) path_v31064)+4) ) ) - 1) - offset_v31008); var_c74100 = (* (( (ptr) path_v31064)+4) ); p2_v30952 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c74100)+1))+( limit591 = (* (ptr) var_c74100 ), BCK(var_c74068, limit591) )))+4) ); }; SOURCE(42010, 52) { word limit592; var_c74132 = (((* (ptr) (* (( (ptr) path_v31064)+4) ) ) - 1) - offset_v31008); var_c74164 = (* (( (ptr) path_v31064)+4) ); p3_v30980 = (* (W2Pt) (( (ptr) (( (W8Pt) (( (ptr) var_c74164)+1))+( limit592 = (* (ptr) var_c74164 ), BCK(var_c74132, limit592) )))+6) ); }; SOURCE(42064, 298) if ((0 != hi_v21356)) { SOURCE(42077, 43) { word pd593; pd593 = (* (( (ptr) (* (( (ptr) gf_c81044)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd593 ))))((word) &tangent_v21428, p3_v30980, p2_v30952, pd593); }; SOURCE(42122, 21) normal1_v30812.f0 = tangent_v21428.f1; SOURCE(42145, 22) { word x594; *(float*)&normal1_v30812.f1 = - ( x594 = tangent_v21428.f0, *(float*)&x594 ); }; SOURCE(42169, 22) { word x595; *(float*)&normal2_v30840.f0 = - ( x595 = tangent_v21428.f1, *(float*)&x595 ); }; SOURCE(42193, 21) normal2_v30840.f1 = tangent_v21428.f0; } else { SOURCE(42225, 43) { word pd596; pd596 = (* (( (ptr) (* (( (ptr) gf_c81044)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd596 ))))((word) &tangent_v21428, p0_v30896, p1_v30924, pd596); }; SOURCE(42270, 21) normal1_v30812.f0 = tangent_v21428.f1; SOURCE(42293, 22) { word x597; *(float*)&normal1_v30812.f1 = - ( x597 = tangent_v21428.f0, *(float*)&x597 ); }; SOURCE(42317, 22) { word x598; *(float*)&normal2_v30840.f0 = - ( x598 = tangent_v21428.f1, *(float*)&x598 ); }; SOURCE(42341, 21) normal2_v30840.f1 = tangent_v21428.f0; }; SOURCE(42367, 52) { word pd599; pd599 = (* (( (ptr) (* (( (ptr) gf_c81044)+300)/* var_c69588 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd599 ))))((word) &direction_v30868, joint_v21300, point_v21328, pd599); }; SOURCE(42421, 181) { float tf600; word pd601; word x602; float tf603; word pd604; word x605; pd601 = (* (( (ptr) (* (( (ptr) gf_c81044)+300)/* var_c69588 */ ))+9) ); pd604 = (* (( (ptr) (* (( (ptr) gf_c81044)+300)/* var_c69588 */ ))+9) ); if ((FABS(( x602 = (word) ( *( (fPt) ((* (ptr) pd601 ))))(normal1_v30812, direction_v30868, pd601), *(float*)&x602 ), tf600) < FABS(( x605 = (word) ( *( (fPt) ((* (ptr) pd604 ))))(normal2_v30840, direction_v30868, pd604), *(float*)&x605 ), tf603))) { SOURCE(42559, 17) normal_v21400 = normal1_v30812; } else { SOURCE(42586, 16) normal_v21400 = normal2_v30840; }; }; }; /* removed tail goto */ (* (W2Pt) formal_c01017 ) = normal_v21400; (* (W2Pt) (( (ptr) formal_c01017)+2) ) = tangent_v21428; return; } static void CSAddJoint_P5940(formal_c01059, seg_v21488, pos_v21516) word formal_c01059; word seg_v21488; W2 pos_v21516; { register ptr gf_c81076 = (ptr) &globalframe; word seg1_v21560; word seg2_v21588; word data_v31108; word data1_v31136 = 0; word data2_v31164 = 0; word oldCPCount_v31192; word nearest_v31220; word cpsInSeg1_v31248; word cpsInSeg2_v31276; word coeffs_v31304 = 0; /* CSAddJoint: */ SOURCE(42609, 1657) SOURCE(42609, 1657) seg1_v21560 = 0; SOURCE(42609, 1657) seg2_v21588 = 0; SOURCE(42687, 40) data_v31108 = XR_Narrow((* (( (ptr) seg_v21488)+24) ), (* (( (ptr) gf_c81076)+19) )); SOURCE(42760, 50) { word pd606; pd606 = (* (( (ptr) (* (ptr) seg_v21488 ))+17) ); oldCPCount_v31192 = (word) ( *( (fPt) ((* (ptr) pd606 ))))(seg_v21488, pd606); }; SOURCE(42812, 46) nearest_v31220 = (word) FindNearestPath_P6660((* (( (ptr) data_v31108)+2) ), pos_v21516); SOURCE(42860, 47) cpsInSeg1_v31248 = (word) PathNumToCPIndex_P6720(seg_v21488, nearest_v31220); SOURCE(42951, 39) cpsInSeg2_v31276 = (oldCPCount_v31192 - cpsInSeg1_v31248); SOURCE(43029, 23) seg1_v21560 = (word) CopySegment_P180(seg_v21488); SOURCE(43054, 23) seg2_v21588 = (word) CopySegment_P180(seg_v21488); SOURCE(43079, 25) data1_v31136 = XR_Narrow((* (( (ptr) seg1_v21560)+24) ), (* (( (ptr) gf_c81076)+19) )); SOURCE(43106, 25) data2_v31164 = XR_Narrow((* (( (ptr) seg2_v21588)+24) ), (* (( (ptr) gf_c81076)+19) )); SOURCE(43133, 62) if (((* (( (ptr) data_v31108)+1) ) == 3)) { SOURCE(43160, 35) (* (( (ptr) data2_v31164)+1) ) = 2; (* (( (ptr) data1_v31136)+1) ) = 2; }; SOURCE(43226, 72) { word var_c74196; { word var_c74228; word var_c74260; word var_c74292; { word idx607; var_c74228 = ( idx607 = (word) ((* (ptr) (* (ptr) data_v31108 ) ) - cpsInSeg2_v31276), BCK(idx607, 33554431) ); }; var_c74260 = ((word) var_c74228 << 3); var_c74292 = XR_NewObject((4 + var_c74260), (* (( (ptr) gf_c81076)+24) )); (* (ptr) var_c74292 ) = var_c74228; var_c74196 = var_c74292; }; (* (ptr) data1_v31136 ) = var_c74196; }; SOURCE(43300, 56) { word var_c74324; { word var_c74356; word var_c74388; word var_c74420; var_c74356 = BCK(cpsInSeg1_v31248, 16777215); var_c74388 = ((word) var_c74356 << 4); var_c74420 = XR_NewObject((4 + var_c74388), (* (( (ptr) gf_c81076)+23) )); (* (ptr) var_c74420 ) = var_c74356; var_c74324 = var_c74420; }; (* (( (ptr) data1_v31136)+3) ) = var_c74324; }; SOURCE(43358, 33) (void) CSEndPointSet_P6180(seg1_v21560, 1, (* (W2Pt) (( (ptr) seg_v21488)+9) )); SOURCE(43393, 31) (void) CSEndPointSet_P6180(seg1_v21560, 0, pos_v21516); SOURCE(43426, 13) (* (W2Pt) (( (ptr) seg1_v21560)+11) ) = pos_v21516; SOURCE(43441, 128) { register word i_v31348 = 0; register word noName_c74452; noName_c74452 = cpsInSeg1_v31248; if (( (int)i_v31348 >= (int)noName_c74452)) { goto lab_L100086; }; lab_L100089: ; SOURCE(43472, 53) { W2 var_c74484; (void) CSControlPointGet_P5580((word) &var_c74484, seg_v21488, SGNCK(i_v31348)); (void) CSControlPointSet_P6120(seg1_v21560, SGNCK(i_v31348), var_c74484); }; SOURCE(43527, 42) { word var_c74548; var_c74548 = (* (( (ptr) data1_v31136)+3) ); { word var_c74516; var_c74516 = (* (( (ptr) data_v31108)+3) ); { word limit608; word limit609; (* (( (W4Pt) (( (ptr) var_c74548)+1))+( limit608 = (* (ptr) var_c74548 ), BCK(i_v31348, limit608) )) ) = (* (( (W4Pt) (( (ptr) var_c74516)+1))+( limit609 = (* (ptr) var_c74516 ), BCK(i_v31348, limit609) )) ); }; }; }; i_v31348 = (i_v31348 + 1); if (( (int)i_v31348 < (int)noName_c74452)) { goto lab_L100089; }; lab_L100086: ; }; SOURCE(43580, 55) { word pd610; pd610 = (* (( (ptr) (* (( (ptr) gf_c81076)+290)/* var_c65460 */ ))+8) ); coeffs_v31304 = (word) ( *( (fPt) ((* (ptr) pd610 ))))((* (ptr) data1_v31136 ), (* (( (ptr) data1_v31136)+1) ), pd610); }; SOURCE(43637, 52) { word pd611; pd611 = (* (( (ptr) (* (( (ptr) gf_c81076)+291)/* var_c65492 */ ))+4) ); (* (( (ptr) data1_v31136)+2) ) = (word) ( *( (fPt) ((* (ptr) pd611 ))))(coeffs_v31304, 0, pd611); }; SOURCE(43691, 72) { word var_c74580; { word var_c74612; word var_c74644; word var_c74676; { word idx612; var_c74612 = ( idx612 = (word) ((* (ptr) (* (ptr) data_v31108 ) ) - cpsInSeg1_v31248), BCK(idx612, 33554431) ); }; var_c74644 = ((word) var_c74612 << 3); var_c74676 = XR_NewObject((4 + var_c74644), (* (( (ptr) gf_c81076)+24) )); (* (ptr) var_c74676 ) = var_c74612; var_c74580 = var_c74676; }; (* (ptr) data2_v31164 ) = var_c74580; }; SOURCE(43765, 56) { word var_c74708; { word var_c74740; word var_c74772; word var_c74804; var_c74740 = BCK(cpsInSeg2_v31276, 16777215); var_c74772 = ((word) var_c74740 << 4); var_c74804 = XR_NewObject((4 + var_c74772), (* (( (ptr) gf_c81076)+23) )); (* (ptr) var_c74804 ) = var_c74740; var_c74708 = var_c74804; }; (* (( (ptr) data2_v31164)+3) ) = var_c74708; }; SOURCE(43823, 30) (void) CSEndPointSet_P6180(seg2_v21588, 1, pos_v21516); SOURCE(43855, 34) (void) CSEndPointSet_P6180(seg2_v21588, 0, (* (W2Pt) (( (ptr) seg_v21488)+11) )); SOURCE(43891, 13) (* (W2Pt) (( (ptr) seg2_v21588)+9) ) = pos_v21516; SOURCE(43906, 157) { register word i_v31392; register word noName_c74836; i_v31392 = cpsInSeg1_v31248; noName_c74836 = oldCPCount_v31192; if (( (int)i_v31392 >= (int)noName_c74836)) { goto lab_L100090; }; lab_L100093: ; SOURCE(43946, 63) { W2 var_c74868; (void) CSControlPointGet_P5580((word) &var_c74868, seg_v21488, SGNCK(i_v31392)); (void) CSControlPointSet_P6120(seg2_v21588, SGNCK((i_v31392 - cpsInSeg1_v31248)), var_c74868); }; SOURCE(44011, 52) { word var_c74932; word var_c74964; var_c74932 = (i_v31392 - cpsInSeg1_v31248); var_c74964 = (* (( (ptr) data2_v31164)+3) ); { word var_c74900; var_c74900 = (* (( (ptr) data_v31108)+3) ); { word limit613; word limit614; (* (( (W4Pt) (( (ptr) var_c74964)+1))+( limit613 = (* (ptr) var_c74964 ), BCK(var_c74932, limit613) )) ) = (* (( (W4Pt) (( (ptr) var_c74900)+1))+( limit614 = (* (ptr) var_c74900 ), BCK(i_v31392, limit614) )) ); }; }; }; i_v31392 = (i_v31392 + 1); if (( (int)i_v31392 < (int)noName_c74836)) { goto lab_L100093; }; lab_L100090: ; }; SOURCE(44074, 55) { word pd615; pd615 = (* (( (ptr) (* (( (ptr) gf_c81076)+290)/* var_c65460 */ ))+8) ); coeffs_v31304 = (word) ( *( (fPt) ((* (ptr) pd615 ))))((* (ptr) data2_v31164 ), (* (( (ptr) data2_v31164)+1) ), pd615); }; SOURCE(44131, 52) { word pd616; pd616 = (* (( (ptr) (* (( (ptr) gf_c81076)+291)/* var_c65492 */ ))+4) ); (* (( (ptr) data2_v31164)+2) ) = (word) ( *( (fPt) ((* (ptr) pd616 ))))(coeffs_v31304, 0, pd616); }; SOURCE(44185, 22) (void) UpdateCSBoundBox_P4860(seg1_v21560); SOURCE(44244, 22) (void) UpdateCSBoundBox_P4860(seg2_v21588); /* removed tail goto */ (* (ptr) formal_c01059 ) = seg1_v21560; (* (( (ptr) formal_c01059)+1) ) = seg2_v21588; return; } static word CSControlPointAdd_P6000(seg_v21648, pos_v21676) word seg_v21648; W2 pos_v21676; { register ptr gf_c81108 = (ptr) &globalframe; word var_c21720; word data_v31436; word oldCPCount_v31464; word nearest_v31492; word newCPIndex_v31520; word newSeg_v31548; word newSegData_v31576; word coeffs_v31604 = 0; /* CSControlPointAdd: */ SOURCE(44307, 1465) SOURCE(44387, 40) data_v31436 = XR_Narrow((* (( (ptr) seg_v21648)+24) ), (* (( (ptr) gf_c81108)+19) )); SOURCE(44429, 50) { word pd617; pd617 = (* (( (ptr) (* (ptr) seg_v21648 ))+17) ); oldCPCount_v31464 = (word) ( *( (fPt) ((* (ptr) pd617 ))))(seg_v21648, pd617); }; SOURCE(44481, 46) nearest_v31492 = (word) FindNearestPath_P6660((* (( (ptr) data_v31436)+2) ), pos_v21676); SOURCE(44529, 48) newCPIndex_v31520 = (word) PathNumToCPIndex_P6720(seg_v21648, nearest_v31492); SOURCE(44664, 34) newSeg_v31548 = (word) CopySegment_P180(seg_v21648); SOURCE(44700, 49) newSegData_v31576 = XR_Narrow((* (( (ptr) newSeg_v31548)+24) ), (* (( (ptr) gf_c81108)+19) )); SOURCE(44788, 69) { word var_c74996; { word var_c75028; word var_c75060; word var_c75092; { word idx618; var_c75028 = ( idx618 = (word) ((* (ptr) (* (ptr) data_v31436 ) ) + 1), BCK(idx618, 33554431) ); }; var_c75060 = ((word) var_c75028 << 3); var_c75092 = XR_NewObject((4 + var_c75060), (* (( (ptr) gf_c81108)+24) )); (* (ptr) var_c75092 ) = var_c75028; var_c74996 = var_c75092; }; (* (ptr) newSegData_v31576 ) = var_c74996; }; SOURCE(44859, 64) { word var_c75124; { word var_c75156; word var_c75188; word var_c75220; var_c75156 = BCK((oldCPCount_v31464 + 1), 16777215); var_c75188 = ((word) var_c75156 << 4); var_c75220 = XR_NewObject((4 + var_c75188), (* (( (ptr) gf_c81108)+23) )); (* (ptr) var_c75220 ) = var_c75156; var_c75124 = var_c75220; }; (* (( (ptr) newSegData_v31576)+3) ) = var_c75124; }; SOURCE(44925, 35) (void) CSEndPointSet_P6180(newSeg_v31548, 1, (* (W2Pt) (( (ptr) seg_v21648)+9) )); SOURCE(44962, 36) (void) CSEndPointSet_P6180(newSeg_v31548, 0, (* (W2Pt) (( (ptr) seg_v21648)+11) )); SOURCE(45000, 136) { register word i_v31648 = 0; register word noName_c75252; noName_c75252 = newCPIndex_v31520; if (( (int)i_v31648 >= (int)noName_c75252)) { goto lab_L100094; }; lab_L100097: ; SOURCE(45032, 55) { W2 var_c75284; (void) CSControlPointGet_P5580((word) &var_c75284, seg_v21648, SGNCK(i_v31648)); (void) CSControlPointSet_P6120(newSeg_v31548, SGNCK(i_v31648), var_c75284); }; SOURCE(45089, 47) { word var_c75348; var_c75348 = (* (( (ptr) newSegData_v31576)+3) ); { word var_c75316; var_c75316 = (* (( (ptr) data_v31436)+3) ); { word limit619; word limit620; (* (( (W4Pt) (( (ptr) var_c75348)+1))+( limit619 = (* (ptr) var_c75348 ), BCK(i_v31648, limit619) )) ) = (* (( (W4Pt) (( (ptr) var_c75316)+1))+( limit620 = (* (ptr) var_c75316 ), BCK(i_v31648, limit620) )) ); }; }; }; i_v31648 = (i_v31648 + 1); if (( (int)i_v31648 < (int)noName_c75252)) { goto lab_L100097; }; lab_L100094: ; }; SOURCE(45147, 42) (void) CSControlPointSet_P6120(newSeg_v31548, SGNCK(newCPIndex_v31520), pos_v21676); SOURCE(45191, 44) (void) CSFieldSet_P5460(newSeg_v31548, SGNCK(newCPIndex_v31520), 1, 0); SOURCE(45273, 42) (void) CSFieldSet_P5460(newSeg_v31548, SGNCK(newCPIndex_v31520), 0, 1); SOURCE(45317, 45) (void) CSFieldSet_P5460(newSeg_v31548, SGNCK(newCPIndex_v31520), 0, 2); SOURCE(45364, 44) (void) CSFieldSet_P5460(newSeg_v31548, SGNCK(newCPIndex_v31520), 0, 3); SOURCE(45410, 149) { register word i_v31692; register word noName_c75380; i_v31692 = newCPIndex_v31520; noName_c75380 = oldCPCount_v31464; if (( (int)i_v31692 >= (int)noName_c75380)) { goto lab_L100098; }; lab_L100101: ; SOURCE(45451, 57) { W2 var_c75412; (void) CSControlPointGet_P5580((word) &var_c75412, seg_v21648, SGNCK(i_v31692)); (void) CSControlPointSet_P6120(newSeg_v31548, SGNCK((i_v31692 + 1)), var_c75412); }; SOURCE(45510, 49) { word var_c75476; word var_c75508; var_c75476 = (i_v31692 + 1); var_c75508 = (* (( (ptr) newSegData_v31576)+3) ); { word var_c75444; var_c75444 = (* (( (ptr) data_v31436)+3) ); { word limit621; word limit622; (* (( (W4Pt) (( (ptr) var_c75508)+1))+( limit621 = (* (ptr) var_c75508 ), BCK(var_c75476, limit621) )) ) = (* (( (W4Pt) (( (ptr) var_c75444)+1))+( limit622 = (* (ptr) var_c75444 ), BCK(i_v31692, limit622) )) ); }; }; }; i_v31692 = (i_v31692 + 1); if (( (int)i_v31692 < (int)noName_c75380)) { goto lab_L100101; }; lab_L100098: ; }; SOURCE(45570, 65) { word pd623; pd623 = (* (( (ptr) (* (( (ptr) gf_c81108)+290)/* var_c65460 */ ))+8) ); coeffs_v31604 = (word) ( *( (fPt) ((* (ptr) pd623 ))))((* (ptr) newSegData_v31576 ), (* (( (ptr) newSegData_v31576)+1) ), pd623) ; }; SOURCE(45637, 57) { word pd624; pd624 = (* (( (ptr) (* (( (ptr) gf_c81108)+291)/* var_c65492 */ ))+4) ); (* (( (ptr) newSegData_v31576)+2) ) = (word) ( *( (fPt) ((* (ptr) pd624 ))))(coeffs_v31604, 0, pd624); }; SOURCE(45696, 24) (void) UpdateCSBoundBox_P4860(newSeg_v31548); SOURCE(45757, 15) return(newSeg_v31548); } static word CSControlPointDelete_P6060(seg_v21780, cpVec_v21808) word seg_v21780; word cpVec_v21808; { W6 var_c81140; register ptr gf_c81172 = (ptr) &globalframe; word var_c21852; /* declaration of var_c75540 skipped */ word data_v31764; word currentCPIndex_v31792 = 0; word oldCPCount_v31820; word cpSelectedCount_v31848; word newSeg_v31876; word coeffs_v31904 = 0; word newSegData_v31932; /* CSControlPointDelete: */ SOURCE(45778, 1234) { word tmpAddr625; tmpAddr625 = (word) (( (ptr) &var_c81140)+4)/* var_c75540 */ ; (* (ptr) tmpAddr625 ) = ( ((word) (fPt) CountSelected_P8856) ); (* (( (ptr) tmpAddr625) + 1) ) = 1; }; SOURCE(46041, 40) data_v31764 = XR_Narrow((* (( (ptr) seg_v21780)+24) ), (* (( (ptr) gf_c81172)+19) )); SOURCE(46108, 50) { word pd626; pd626 = (* (( (ptr) (* (ptr) seg_v21780 ))+17) ); oldCPCount_v31820 = (word) ( *( (fPt) ((* (ptr) pd626 ))))(seg_v21780, pd626); }; SOURCE(46160, 43) cpSelectedCount_v31848 = (word) CountSelected_P8856(cpVec_v21808, (word) (( (bPt) &var_c81140)+16)/* var_c75540 */ ); SOURCE(46205, 34) newSeg_v31876 = (word) CopySegment_P180(seg_v21780); SOURCE(46278, 49) newSegData_v31932 = XR_Narrow((* (( (ptr) newSeg_v31876)+24) ), (* (( (ptr) gf_c81172)+19) )); SOURCE(46329, 83) { word var_c75572; { word var_c75604; word var_c75636; word var_c75668; { word idx627; var_c75604 = ( idx627 = (word) ((* (ptr) (* (ptr) data_v31764 ) ) - cpSelectedCount_v31848), BCK(idx627, 33554431) ); }; var_c75636 = ((word) var_c75604 << 3); var_c75668 = XR_NewObject((4 + var_c75636), (* (( (ptr) gf_c81172)+24) )); (* (ptr) var_c75668 ) = var_c75604; var_c75572 = var_c75668; }; (* (ptr) newSegData_v31932 ) = var_c75572; }; SOURCE(46414, 83) { word var_c75700; { word var_c75732; word var_c75764; word var_c75796; { word idx628; var_c75732 = ( idx628 = (word) ((* (ptr) (* (ptr) data_v31764 ) ) - cpSelectedCount_v31848), BCK(idx628, 16777215) ); }; var_c75764 = ((word) var_c75732 << 4); var_c75796 = XR_NewObject((4 + var_c75764), (* (( (ptr) gf_c81172)+23) )); (* (ptr) var_c75796 ) = var_c75732; var_c75700 = var_c75796; }; (* (( (ptr) newSegData_v31932)+3) ) = var_c75700; }; SOURCE(46499, 35) (void) CSEndPointSet_P6180(newSeg_v31876, 1, (* (W2Pt) (( (ptr) seg_v21780)+9) )); SOURCE(46536, 36) (void) CSEndPointSet_P6180(newSeg_v31876, 0, (* (W2Pt) (( (ptr) seg_v21780)+11) )); SOURCE(46574, 222) { register word i_v32080 = 0; register word noName_c75828; noName_c75828 = oldCPCount_v31820; if (( (int)i_v32080 >= (int)noName_c75828)) { goto lab_L100102; }; lab_L100105: ; SOURCE(46606, 190) { word limit629; if ( ! XR_ExtractField(cpVec_v21808, 32 + (word) ( limit629 = (* (ptr) cpVec_v21808 ), BCK(i_v32080, limit629) ), 1)) { SOURCE(46629, 68) { W2 var_c75860; (void) CSControlPointGet_P5580((word) &var_c75860, seg_v21780, SGNCK(i_v32080)); (void) CSControlPointSet_P6120(newSeg_v31876, SGNCK(currentCPIndex_v31792), var_c75860); }; SOURCE(46699, 60) { word var_c75924; var_c75924 = (* (( (ptr) newSegData_v31932)+3) ); { word var_c75892; var_c75892 = (* (( (ptr) data_v31764)+3) ); { word limit630; word limit631; (* (( (W4Pt) (( (ptr) var_c75924)+1))+( limit630 = (* (ptr) var_c75924 ), BCK(currentCPIndex_v31792, limit630) )) ) = (* (( (W4Pt) (( (ptr) var_c75892)+1))+( limit631 = (* (ptr) var_c75892 ), BCK(i_v32080, limit631) )) ); }; }; }; SOURCE(46761, 35) currentCPIndex_v31792 = (currentCPIndex_v31792 + 1); }; }; i_v32080 = (i_v32080 + 1); if (( (int)i_v32080 < (int)noName_c75828)) { goto lab_L100105; }; lab_L100102: ; }; SOURCE(46810, 65) { word pd632; pd632 = (* (( (ptr) (* (( (ptr) gf_c81172)+290)/* var_c65460 */ ))+8) ); coeffs_v31904 = (word) ( *( (fPt) ((* (ptr) pd632 ))))((* (ptr) newSegData_v31932 ), (* (( (ptr) newSegData_v31932)+1) ), pd632) ; }; SOURCE(46877, 57) { word pd633; pd633 = (* (( (ptr) (* (( (ptr) gf_c81172)+291)/* var_c65492 */ ))+4) ); (* (( (ptr) newSegData_v31932)+2) ) = (word) ( *( (fPt) ((* (ptr) pd633 ))))(coeffs_v31904, 0, pd633); }; SOURCE(46936, 24) (void) UpdateCSBoundBox_P4860(newSeg_v31876); SOURCE(46997, 15) return(newSeg_v31876); } static word CountSelected_P8856(bitVec_v32008, formal_c81204) word bitVec_v32008; word formal_c81204; { word selectedCount_v32052; formal_c81204 = (formal_c81204 - 16); /* CountSelected: */ SOURCE(45867, 160) SOURCE(45867, 160) selectedCount_v32052 = 0; SOURCE(45944, 83) { register word i_v32124 = 0; register word noName_c75956; noName_c75956 = (* (ptr) bitVec_v32008 ); if (( (int)i_v32124 >= (int)noName_c75956)) { goto lab_L100106; }; lab_L100109: ; SOURCE(45976, 51) { word limit634; if (XR_ExtractField(bitVec_v32008, 32 + (word) ( limit634 = (* (ptr) bitVec_v32008 ), BCK(i_v32124, limit634) ), 1)) { SOURCE(45994, 33) selectedCount_v32052 = (selectedCount_v32052 + 1); }; }; i_v32124 = (i_v32124 + 1); if (( (int)i_v32124 < (int)noName_c75956)) { goto lab_L100109; }; lab_L100106: ; }; SOURCE(45867, 160) return(selectedCount_v32052); } static void CSControlPointSet_P6120(seg_v21912, controlPointNum_v21940, point_v21968) word seg_v21912; word controlPointNum_v21940; W2 point_v21968; { register ptr gf_c81236 = (ptr) &globalframe; word data_v32168; /* CSControlPointSet: */ SOURCE(47017, 271) SOURCE(47096, 40) data_v32168 = XR_Narrow((* (( (ptr) seg_v21912)+24) ), (* (( (ptr) gf_c81236)+19) )); SOURCE(47138, 150) { word var_c75988; var_c75988 = (* (( (ptr) data_v32168)+1) ); switch (var_c75988) { case 2: case 3: SOURCE(47183, 46) { W2 var_c76020; (void) PointToFP_P6600((word) &var_c76020, point_v21968); { word var_c76052; word var_c76084; var_c76052 = (controlPointNum_v21940 + 1); var_c76084 = (* (ptr) data_v32168 ); { word limit635; (* (( (W2Pt) (( (ptr) var_c76084)+1))+( limit635 = (* (ptr) var_c76084 ), BCK(var_c76052, limit635) )) ) = var_c76020; }; }; }; break; case 6: SOURCE(47242, 46) { W2 var_c76116; (void) PointToFP_P6600((word) &var_c76116, point_v21968); { word var_c76148; word var_c76180; var_c76148 = (controlPointNum_v21940 + 3); var_c76180 = (* (ptr) data_v32168 ); { word limit636; (* (( (W2Pt) (( (ptr) var_c76180)+1))+( limit636 = (* (ptr) var_c76180 ), BCK(var_c76148, limit636) )) ) = var_c76116; }; }; }; break; default: SOURCE(47301, 5) (void) XR_RaiseUnnamedError(); break; }; }; } static void CSEndPointSet_P6180(seg_v22028, lo_v22056, point_v22084) word seg_v22028; word lo_v22056; W2 point_v22084; { register ptr gf_c81268 = (ptr) &globalframe; word data_v32212; /* CSEndPointSet: */ SOURCE(47312, 508) SOURCE(47375, 40) data_v32212 = XR_Narrow((* (( (ptr) seg_v22028)+24) ), (* (( (ptr) gf_c81268)+19) )); SOURCE(47417, 403) { word var_c76212; var_c76212 = (* (( (ptr) data_v32212)+1) ); switch (var_c76212) { case 2: SOURCE(47454, 93) if ((0 != lo_v22056)) { SOURCE(47465, 36) { W2 var_c76244; (void) PointToFP_P6600((word) &var_c76244, point_v22084); { word var_c76276; var_c76276 = (* (ptr) data_v32212 ); { word limit637; (* (( (W2Pt) (( (ptr) var_c76276)+1))+( /*1*/ limit637 = (* (ptr) var_c76276 ), /*1*/ BCK(0, limit637) /*1*/ )) ) = var_c76244; }; }; }; } else { SOURCE(47501, 46) { W2 var_c76308; (void) PointToFP_P6600((word) &var_c76308, point_v22084); { word var_c76340; word var_c76372; var_c76340 = ((* (ptr) (* (ptr) data_v32212 ) ) - 1); var_c76372 = (* (ptr) data_v32212 ); { word limit638; (* (( (W2Pt) (( (ptr) var_c76372)+1))+( /*1*/ limit638 = (* (ptr) var_c76372 ), /*1*/ BCK(var_c76340, limit638) /*1*/ )) ) = var_c76308; }; }; }; }; break; case 3: SOURCE(47564, 60) { W2 var_c76404; (void) PointToFP_P6600((word) &var_c76404, point_v22084); { word var_c76436; word var_c76468; var_c76436 = ((* (ptr) (* (ptr) data_v32212 ) ) - 1); var_c76468 = (* (ptr) data_v32212 ); { word limit639; (* (( (W2Pt) (( (ptr) var_c76468)+1))+( limit639 = (* (ptr) var_c76468 ), BCK(var_c76436, limit639) )) ) = var_c76404; }; }; { word var_c76500; var_c76500 = (* (ptr) data_v32212 ); { word limit640; (* (( (W2Pt) (( (ptr) var_c76500)+1))+( limit640 = (* (ptr) var_c76500 ), BCK(0, limit640) )) ) = var_c76404; }; }; }; break; case 6: SOURCE(47639, 181) if ((0 != lo_v22056)) { SOURCE(47650, 64) { W2 var_c76532; (void) PointToFP_P6600((word) &var_c76532, point_v22084); { word var_c76564; var_c76564 = (* (ptr) data_v32212 ); { word limit641; (* (( (W2Pt) (( (ptr) var_c76564)+1))+( /*1*/ limit641 = (* (ptr) var_c76564 ), /*1*/ BCK(2, limit641) /*1*/ )) ) = var_c76532; }; }; { word var_c76596; var_c76596 = (* (ptr) data_v32212 ); { word limit642; (* (( (W2Pt) (( (ptr) var_c76596)+1))+( /*1*/ limit642 = (* (ptr) var_c76596 ), /*1*/ BCK(1, limit642) /*1*/ )) ) = var_c76532; }; }; { word var_c76628; var_c76628 = (* (ptr) data_v32212 ); { word limit643; (* (( (W2Pt) (( (ptr) var_c76628)+1))+( /*1*/ limit643 = (* (ptr) var_c76628 ), /*1*/ BCK(0, limit643) /*1*/ )) ) = var_c76532; }; }; }; } else { SOURCE(47714, 106) { W2 var_c76660; (void) PointToFP_P6600((word) &var_c76660, point_v22084); { word var_c76692; word var_c76724; var_c76692 = ((* (ptr) (* (ptr) data_v32212 ) ) - 3); var_c76724 = (* (ptr) data_v32212 ); { word limit644; (* (( (W2Pt) (( (ptr) var_c76724)+1))+( /*1*/ limit644 = (* (ptr) var_c76724 ), /*1*/ BCK(var_c76692, limit644) /*1*/ )) ) = var_c76660; }; }; { word var_c76756; word var_c76788; var_c76756 = ((* (ptr) (* (ptr) data_v32212 ) ) - 2); var_c76788 = (* (ptr) data_v32212 ); { word limit645; (* (( (W2Pt) (( (ptr) var_c76788)+1))+( /*1*/ limit645 = (* (ptr) var_c76788 ), /*1*/ BCK(var_c76756, limit645) /*1*/ )) ) = var_c76660; }; }; { word var_c76820; word var_c76852; var_c76820 = ((* (ptr) (* (ptr) data_v32212 ) ) - 1); var_c76852 = (* (ptr) data_v32212 ); { word limit646; (* (( (W2Pt) (( (ptr) var_c76852)+1))+( /*1*/ limit646 = (* (ptr) var_c76852 ), /*1*/ BCK(var_c76820, limit646) /*1*/ )) ) = var_c76660; }; }; }; }; break; default: SOURCE(47836, 5) (void) XR_RaiseUnnamedError(); break; }; }; } static void CurveBoundBox_P6240(seg_v22144, bBox_v22172, boundsOK_v22200) word seg_v22144; word bBox_v22172; word boundsOK_v22200; { register ptr gf_c81300 = (ptr) &globalframe; word path_v32256; W4 r_v32284; /* CurveBoundBox: */ SOURCE(47847, 298) SOURCE(47926, 36) path_v32256 = (word) GetPath_P6780(seg_v22144); SOURCE(47985, 50) if ((0 == boundsOK_v22200)) { SOURCE(48006, 29) { word pd647; pd647 = (* (( (ptr) (* (( (ptr) gf_c81300)+291)/* var_c65492 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd647 ))))(path_v32256, pd647); }; }; SOURCE(48069, 15) r_v32284 = (* (W4Pt) path_v32256 ); SOURCE(48086, 59) { word pd648; word x649; word x650; float tf651; word x652; word x653; float tf654; pd648 = (* (( (ptr) (* (( (ptr) gf_c81300)+287)/* var_c65172 */ ))+18) ); (void) ( *( (fPt) ((* (ptr) pd648 ))))(bBox_v22172, r_v32284.f0, r_v32284.f1, ( tf651 = ( x649 = r_v32284.f0, *(float*)&x649 ) + ( x650 = r_v32284.f2, *(float*)&x650 ), *(word*)&tf651 ), ( tf654 = ( x652 = r_v32284.f1, *(float*)&x652 ) + ( x653 = r_v32284.f3, *(float*)&x653 ), *(word*)&tf654 ), pd648); }; } static void CurveBuildPath_P6300(seg_v22260, lineTo_v22288, curveTo_v22316, conicTo_v22344, arcTo_v22372) word seg_v22260; word lineTo_v22288; word curveTo_v22316; word conicTo_v22344; word arcTo_v22372; { W6 var_c81332; register ptr gf_c81364 = (ptr) &globalframe; /* declaration of var_c76884 skipped */ word path_v32328; word moveTo_v32356; /* CurveBuildPath: */ SOURCE(48150, 287) { word tmpAddr655; tmpAddr655 = (word) (( (ptr) &var_c81332)+4)/* var_c76884 */ ; (* (ptr) tmpAddr655 ) = ( ((word) (fPt) NoName_Q9012) ); (* (( (ptr) tmpAddr655) + 1) ) = 1; }; SOURCE(48316, 36) path_v32328 = (word) GetPath_P6780(seg_v22260); SOURCE(48354, 32) moveTo_v32356 = (word) (( (bPt) &var_c81332)+16)/* var_c76884 */ ; SOURCE(48390, 47) { word pd656; pd656 = (* (( (ptr) (* (( (ptr) gf_c81364)+291)/* var_c65492 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd656 ))))(path_v32328, moveTo_v32356, curveTo_v22316, pd656); }; } static void NoName_Q9012(p_v59592, formal_c81396) W2 p_v59592; word formal_c81396; { formal_c81396 = (formal_c81396 - 16); /* : */ } static void CurveClosestPoint_P6360(formal_c01186, seg_v22432, testPoint_v22460, tolerance_v22488) word formal_c01186; word seg_v22432; W2 testPoint_v22460; word tolerance_v22488; { register ptr gf_c81428 = (ptr) &globalframe; W2 point_v22532; word success_v22560; word path_v32400 = 0; /* CurveClosestPoint: */ SOURCE(48465, 560) SOURCE(48604, 216) if ((0 != (* (( (ptr) gf_c81428)+8)/* useBBox_v7956 */ ))) { SOURCE(48620, 202) { W6 bigBox_v32444; SOURCE(48622, 132) { word x657; word x658; *(float*)&bigBox_v32444.f0 = ( x657 = (* (ptr) (* (( (ptr) seg_v22432)+21) ) ), *(float*)&x657 ) - ( x658 = tolerance_v22488, *(float*)&x658 ); }; { word x659; word x660; *(float*)&bigBox_v32444.f1 = ( x659 = (* (( (ptr) (* (( (ptr) seg_v22432)+21) ))+1) ), *(float*)&x659 ) - ( x660 = tolerance_v22488, *(float*)&x660 ); }; { word x661; word x662; *(float*)&bigBox_v32444.f2 = ( x661 = (* (( (ptr) (* (( (ptr) seg_v22432)+21) ))+2) ), *(float*)&x661 ) + ( x662 = tolerance_v22488, *(float*)&x662 ); }; { word x663; word x664; *(float*)&bigBox_v32444.f3 = ( x663 = (* (( (ptr) (* (( (ptr) seg_v22432)+21) ))+3) ), *(float*)&x663 ) + ( x664 = tolerance_v22488, *(float*)&x664 ); }; bigBox_v32444.f4 = 0; bigBox_v32444.f5 = 0; SOURCE(48756, 64) if ((0 == (word) PointIsInBox_P6420(testPoint_v22460, bigBox_v32444))) { SOURCE(48800, 20) point_v22532.f0 = (* (ptr) &fc78 ); point_v22532.f1 = (* (ptr) &fc78 ); success_v22560 = 0; goto lab_L100110; }; }; }; SOURCE(48825, 49) { word pd665; pd665 = (* (( (ptr) (* (( (ptr) gf_c81428)+304)/* var_c76980 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd665 ))))((* (( (ptr) gf_c81428)+45) ), (* (( (ptr) gf_c81428)+46) ), pd665); }; SOURCE(48876, 19) path_v32400 = (word) GetPath_P6780(seg_v22432); SOURCE(48897, 78) { W3 var_c77012; { word pd666; pd666 = (* (( (ptr) (* (( (ptr) gf_c81428)+291)/* var_c65492 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd666 ))))((word) &var_c77012, testPoint_v22460, path_v32400, tolerance_v22488, pd666); }; success_v22560 = var_c77012.f2; point_v22532 = (* (W2Pt) &var_c77012 ); }; SOURCE(48977, 48) { word pd667; pd667 = (* (( (ptr) (* (( (ptr) gf_c81428)+304)/* var_c76980 */ ))+14) ); (void) ( *( (fPt) ((* (ptr) pd667 ))))((* (( (ptr) gf_c81428)+45) ), (* (( (ptr) gf_c81428)+46) ), pd667); }; /* removed tail goto */ lab_L100110: ; (* (W2Pt) formal_c01186 ) = point_v22532; (* (( (ptr) formal_c01186)+2) ) = success_v22560; return; } static word PointIsInBox_P6420(test_v22620, box_v22648) W2 test_v22620; W6 box_v22648; { word var_c22692; /* PointIsInBox: */ SOURCE(49031, 162) SOURCE(49101, 92) { word tc668; word x669; word x670; word x671; word x672; word x673; word x674; word x675; word x676; if ( ( ( (( x669 = test_v22620.f0, *(float*)&x669 ) >= ( x670 = box_v22648.f0, *(float*)&x670 )) ? (( x671 = test_v22620.f0, *(float*)&x671 ) <= ( x672 = box_v22648.f2, *(float*)&x672 )) : 0 ) ? (( x673 = test_v22620.f1, *(float*)&x673 ) >= ( x674 = box_v22648.f1, *(float*)&x674 )) : 0 ) ) { tc668 = (word) (( x675 = test_v22620.f1, *(float*)&x675 ) <= ( x676 = box_v22648.f3, *(float*)&x676 )); } else { tc668 = (word) 0; }; return(tc668); }; } static void KnotBoundBox_P6480(seg_v22752, bBox_v22780) word seg_v22752; word bBox_v22780; { register ptr gf_c81460 = (ptr) &globalframe; word data_v32488; word cps_v32516; word minX_v32544; word maxX_v32572; word minY_v32600; word maxY_v32628; /* KnotBoundBox: */ SOURCE(49199, 494) SOURCE(49253, 40) data_v32488 = XR_Narrow((* (( (ptr) seg_v22752)+24) ), (* (( (ptr) gf_c81460)+19) )); SOURCE(49295, 41) cps_v32516 = (* (ptr) data_v32488 ); SOURCE(49338, 28) { word limit677; minX_v32544 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit677 = (* (ptr) cps_v32516 ), BCK(0, limit677) )) ).f0; }; maxX_v32572 = minX_v32544; SOURCE(49368, 28) { word limit678; minY_v32600 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit678 = (* (ptr) cps_v32516 ), BCK(0, limit678) )) ).f1; }; maxY_v32628 = minY_v32600; SOURCE(49398, 202) { register word i_v32672 = 1; register word noName_c77044; noName_c77044 = (* (ptr) cps_v32516 ); if (( (int)i_v32672 >= (int)noName_c77044)) { goto lab_L100111; }; lab_L100114: ; SOURCE(49430, 41) { word x679; word limit680; word x681; if ((( x679 = maxX_v32572, *(float*)&x679 ) < ( x681 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit680 = (* (ptr) cps_v32516 ), BCK(i_v32672, limit680) )) ).f0, *(float*)&x681 ))) { SOURCE(49455, 16) { word limit682; maxX_v32572 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit682 = (* (ptr) cps_v32516 ), BCK(i_v32672, limit682) )) ).f0; }; }; }; SOURCE(49473, 41) { word x683; word limit684; word x685; if ((( x683 = minX_v32544, *(float*)&x683 ) > ( x685 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit684 = (* (ptr) cps_v32516 ), BCK(i_v32672, limit684) )) ).f0, *(float*)&x685 ))) { SOURCE(49498, 16) { word limit686; minX_v32544 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit686 = (* (ptr) cps_v32516 ), BCK(i_v32672, limit686) )) ).f0; }; }; }; SOURCE(49516, 41) { word x687; word limit688; word x689; if ((( x687 = maxY_v32628, *(float*)&x687 ) < ( x689 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit688 = (* (ptr) cps_v32516 ), BCK(i_v32672, limit688) )) ).f1, *(float*)&x689 ))) { SOURCE(49541, 16) { word limit690; maxY_v32628 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit690 = (* (ptr) cps_v32516 ), BCK(i_v32672, limit690) )) ).f1; }; }; }; SOURCE(49559, 41) { word x691; word limit692; word x693; if ((( x691 = minY_v32600, *(float*)&x691 ) > ( x693 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit692 = (* (ptr) cps_v32516 ), BCK(i_v32672, limit692) )) ).f1, *(float*)&x693 ))) { SOURCE(49584, 16) { word limit694; minY_v32600 = (* (( (W2Pt) (( (ptr) cps_v32516)+1))+( limit694 = (* (ptr) cps_v32516 ), BCK(i_v32672, limit694) )) ).f1; }; }; }; i_v32672 = (i_v32672 + 1); if (( (int)i_v32672 < (int)noName_c77044)) { goto lab_L100114; }; lab_L100111: ; }; SOURCE(49611, 82) (* (ptr) bBox_v22780 ) = minX_v32544; (* (( (ptr) bBox_v22780)+1) ) = minY_v32600; (* (( (ptr) bBox_v22780)+2) ) = maxX_v32572; (* (( (ptr) bBox_v22780)+3) ) = maxY_v32628; (* (( (ptr) bBox_v22780)+4) ) = 0; (* (( (ptr) bBox_v22780)+5) ) = 0; } static void FPToPoint_P6540(formal_c01202, FP_v22840) word formal_c01202; W2 FP_v22840; { W2 point_v22884; /* FPToPoint: */ SOURCE(49699, 94) SOURCE(49770, 23) point_v22884.f0 = FP_v22840.f0; point_v22884.f1 = FP_v22840.f1; /* removed tail goto */ (* (W2Pt) formal_c01202 ) = point_v22884; return; } static void PointToFP_P6600(formal_c01205, point_v22944) word formal_c01205; W2 point_v22944; { word var_c01403; word var_c01404; /* PointToFP: */ SOURCE(49799, 94) /* Return var split */ SOURCE(49866, 27) var_c01403 = point_v22944.f0; var_c01404 = point_v22944.f1; /* removed tail goto */ (* (( (ptr) formal_c01205)+1) ) = var_c01404; (* (ptr) formal_c01205 ) = var_c01403; return; } static word FindNearestPath_P6660(path_v23048, pos_v23076) word path_v23048; W2 pos_v23076; { register ptr gf_c81492 = (ptr) &globalframe; word var_c23120; word miniPath_v32716; /* FindNearestPath: */ SOURCE(49899, 375) SOURCE(49975, 51) miniPath_v32716 = XR_NewObject(20, (* (( (ptr) gf_c81492)+28) )); SOURCE(50028, 49) { word var_c77172; { word var_c77204; var_c77204 = XR_NewObject(36, (* (( (ptr) gf_c81492)+29) )); (* (ptr) var_c77204 ) = 1; var_c77172 = var_c77204; }; (* (( (ptr) miniPath_v32716)+4) ) = var_c77172; }; SOURCE(50079, 173) { register word i_v32760 = 0; register word noName_c77236; noName_c77236 = (* (ptr) (* (( (ptr) path_v23048)+4) ) ); if (( (int)i_v32760 >= (int)noName_c77236)) { goto lab_L100117; }; lab_L100120: ; SOURCE(50119, 35) { word var_c77300; var_c77300 = (* (( (ptr) miniPath_v32716)+4) ); { word var_c77268; var_c77268 = (* (( (ptr) path_v23048)+4) ); { word limit695; word limit696; (* (( (W8Pt) (( (ptr) var_c77300)+1))+( limit695 = (* (ptr) var_c77300 ), BCK(0, limit695) )) ) = (* (( (W8Pt) (( (ptr) var_c77268)+1))+( limit696 = (* (ptr) var_c77268 ), BCK(i_v32760, limit696) )) ); }; }; }; SOURCE(50156, 33) { word pd697; pd697 = (* (( (ptr) (* (( (ptr) gf_c81492)+291)/* var_c65492 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd697 ))))(miniPath_v32716, pd697); }; SOURCE(50191, 61) { word pd698; pd698 = (* (( (ptr) (* (( (ptr) gf_c81492)+291)/* var_c65492 */ ))+7) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd698 ))))(pos_v23076, miniPath_v32716, (* (ptr) &fc699 ), pd698))) { SOURCE(50242, 10) return(i_v32760); }; }; i_v32760 = (i_v32760 + 1); if (( (int)i_v32760 < (int)noName_c77236)) { goto lab_L100120; }; lab_L100117: ; }; SOURCE(50263, 11) return( (word) -1); } static word PathNumToCPIndex_P6720(seg_v23180, pathNum_v23208) word seg_v23180; word pathNum_v23208; { register ptr gf_c81524 = (ptr) &globalframe; word cpIndex_v23252; word data_v32804; word cpCount_v32832; /* PathNumToCPIndex: */ SOURCE(50280, 372) SOURCE(50359, 40) data_v32804 = XR_Narrow((* (( (ptr) seg_v23180)+24) ), (* (( (ptr) gf_c81524)+19) )); SOURCE(50401, 47) { word pd700; pd700 = (* (( (ptr) (* (ptr) seg_v23180 ))+17) ); cpCount_v32832 = (word) ( *( (fPt) ((* (ptr) pd700 ))))(seg_v23180, pd700); }; SOURCE(50450, 94) { word var_c77332; var_c77332 = (* (( (ptr) data_v32804)+1) ); switch (var_c77332) { case 3: case 2: SOURCE(50495, 17) cpIndex_v23252 = pathNum_v23208; break; case 6: SOURCE(50525, 19) cpIndex_v23252 = (pathNum_v23208 - 1); break; default: SOURCE(50557, 5) (void) XR_RaiseUnnamedError(); break; }; }; SOURCE(50564, 80) if (( (int)cpIndex_v23252 < (int)0)) { SOURCE(50584, 17) cpIndex_v23252 = 0; } else { SOURCE(50601, 43) if (( (int)cpIndex_v23252 > (int)cpCount_v32832)) { SOURCE(50627, 17) cpIndex_v23252 = cpCount_v32832; }; }; SOURCE(50646, 6) return(cpIndex_v23252); } static word GetPath_P6780(seg_v23312) word seg_v23312; { register ptr gf_c81556 = (ptr) &globalframe; word path_v23356; /* GetPath: */ SOURCE(50658, 239) SOURCE(50658, 239) path_v23356 = 0; SOURCE(50723, 142) { word var_c77364; word var_c77396; var_c77364 = (* (( (ptr) seg_v23312)+24) ); if ((var_c77364 == 0)) { goto lab_L100121; }; var_c77396 = XR_GetReferentType(var_c77364); if (((* (( (ptr) gf_c81556)+27) ) == var_c77396)) { { word type_v32876; type_v32876 = var_c77364; SOURCE(50769, 16) path_v23356 = (* (( (ptr) type_v32876)+8) ); }; goto endif0701; }; if (((* (( (ptr) gf_c81556)+22) ) == var_c77396)) { { word type_v32920; type_v32920 = var_c77364; SOURCE(50806, 16) path_v23356 = (* (( (ptr) type_v32920)+7) ); }; goto endif0701; }; if (((* (( (ptr) gf_c81556)+19) ) == var_c77396)) { { word type_v32964; type_v32964 = var_c77364; SOURCE(50849, 16) path_v23356 = (* (( (ptr) type_v32964)+2) ); }; goto endif0701; }; lab_L100121: ; SOURCE(50878, 5) (void) XR_RaiseUnnamedError(); goto endif0701; endif0701: ; }; SOURCE(50885, 12) return(path_v23356); } static word PathFromConic_P6840(p0_v23416, p1_v23444, p2_v23472, r_v23500) W2 p0_v23416; W2 p1_v23444; W2 p2_v23472; word r_v23500; { W9 var_c81588; register ptr gf_c81620 = (ptr) &globalframe; word path_v23544; /* declaration of var_c77428 skipped */ /* declaration of bList_v33008 skipped */ /* declaration of joint_v33036 skipped */ /* PathFromConic: */ SOURCE(50903, 386) { word tmpAddr702; tmpAddr702 = (word) (( (ptr) &var_c81588)+4)/* var_c77428 */ ; (* (ptr) tmpAddr702 ) = ( ((word) (fPt) bproc_P9360) ); (* (( (ptr) tmpAddr702) + 1) ) = 1; }; SOURCE(50903, 386) path_v23544 = 0; SOURCE(50988, 7) (* (( (ptr) &var_c81588)+6)/* bList_v33008 */ ) = 0; SOURCE(51014, 24) (* (( (ptr) &var_c81588)+7) ) = p0_v23416.f0; (* (( (ptr) &var_c81588)+8) ) = p0_v23416.f1; SOURCE(51174, 73) { W2 var_c77492; W2 var_c77524; W2 var_c77556; var_c77492.f0 = p0_v23416.f0; var_c77492.f1 = p0_v23416.f1; var_c77524.f0 = p1_v23444.f0; var_c77524.f1 = p1_v23444.f1; var_c77556.f0 = p2_v23472.f0; var_c77556.f1 = p2_v23472.f1; { word pd703; pd703 = (* (( (ptr) (* (( (ptr) gf_c81620)+305)/* var_c77588 */ ))+4) ); (void) ( *( (fPt) ((* (ptr) pd703 ))))(var_c77492, var_c77524, var_c77556, r_v23500, (word) (( (bPt) &var_c81588)+16)/* var_c77428 */ , pd703) ; }; }; SOURCE(51249, 26) path_v23544 = (word) PathFromList_P6900((* ((( (ptr) &var_c81588)+6)/* bList_v33008 */ ) )); SOURCE(51277, 12) return(path_v23544); } static void bproc_P9360(p1_v60496, p2_v60524, p3_v60552, formal_c81684) W2 p1_v60496; W2 p2_v60524; W2 p3_v60552; word formal_c81684; { register ptr gf_c81652 = (ptr) &globalframe; word new_v33192; formal_c81684 = (formal_c81684 - 16); /* bproc: */ SOURCE(51040, 129) SOURCE(51074, 57) new_v33192 = XR_NewObject(32, (* (( (ptr) gf_c81652)+26) )); (* (W2Pt) new_v33192 ) = (* (W2Pt) (( (ptr) formal_c81684)+7) ); (* (W2Pt) (( (ptr) new_v33192)+2) ) = p1_v60496; (* (W2Pt) (( (ptr) new_v33192)+4) ) = p2_v60524; (* (W2Pt) (( (ptr) new_v33192)+6) ) = p3_v60552; SOURCE(51133, 24) { word var_c77652; var_c77652 = XR_NewObject(8, (* (( (ptr) gf_c81652)+17) )); (* (ptr) var_c77652 ) = new_v33192; (* (( (ptr) var_c77652)+1) ) = (* (( (ptr) formal_c81684)+6) ); (* (( (ptr) formal_c81684)+6) ) = var_c77652; }; SOURCE(51159, 10) (* (W2Pt) (( (ptr) formal_c81684)+7) ) = p3_v60552; } static word PathFromList_P6900(list_v23604) word list_v23604; { register ptr gf_c81716 = (ptr) &globalframe; word var_c23732; word count_v33236 = 0; word path_v33264; /* PathFromList: */ SOURCE(51295, 479) SOURCE(51386, 47) path_v33264 = XR_NewObject(20, (* (( (ptr) gf_c81716)+28) )); SOURCE(51435, 70) { register word l_v33308; l_v33308 = list_v23604; lab_L100125: ; if ((l_v33308 != 0)) { } else { goto lab_L100122; }; SOURCE(51490, 15) count_v33236 = (count_v33236 + 1); l_v33308 = (* (( (ptr) l_v33308)+1) ); goto lab_L100125; lab_L100122: ; }; SOURCE(51516, 49) { word var_c77716; { word var_c77748; word var_c77780; word var_c77812; var_c77748 = BCK(count_v33236, 8388607); var_c77780 = ((word) var_c77748 << 5); var_c77812 = XR_NewObject((4 + var_c77780), (* (( (ptr) gf_c81716)+29) )); (* (ptr) var_c77812 ) = var_c77748; var_c77716 = var_c77812; }; (* (( (ptr) path_v33264)+4) ) = var_c77716; }; SOURCE(51567, 153) { register word l_v33436; l_v33436 = list_v23604; lab_L100129: ; if ((l_v33436 != 0)) { } else { goto lab_L100126; }; SOURCE(51622, 15) count_v33236 = SGNCK((count_v33236 - 1)); SOURCE(51691, 29) { word var_c77844; var_c77844 = (* (( (ptr) path_v33264)+4) ); { word limit704; (* (( (W8Pt) (( (ptr) var_c77844)+1))+( limit704 = (* (ptr) var_c77844 ), BCK(count_v33236, limit704) )) ) = (* (W8Pt) (* (ptr) l_v33436 ) ); }; }; l_v33436 = (* (( (ptr) l_v33436)+1) ); goto lab_L100129; lab_L100126: ; }; SOURCE(51731, 29) { word pd705; pd705 = (* (( (ptr) (* (( (ptr) gf_c81716)+291)/* var_c65492 */ ))+10) ); (void) ( *( (fPt) ((* (ptr) pd705 ))))(path_v33264, pd705); }; SOURCE(51762, 12) return(path_v33264); } static void Init_P6960() { register ptr gf_c81748 = (ptr) &globalframe; word classDef_v33564; /* Init: */ SOURCE(51780, 352) SOURCE(51798, 82) { word var_c77876; word var_c77908; var_c77876 = (word) BuildBezierClass_P2700(); var_c77908 = XR_NewObject(8, (* (( (ptr) gf_c81748)+14) )); (* (ptr) var_c77908 ) = (* (( (ptr) gf_c81748)+30) ); (* (( (ptr) var_c77908)+1) ) = var_c77876; classDef_v33564 = var_c77908; }; SOURCE(51882, 30) (void) RegisterSegmentClass_P60(classDef_v33564); SOURCE(51914, 82) { word var_c77940; word var_c77972; var_c77940 = (word) BuildCubicSplineClass_P4440(); var_c77972 = XR_NewObject(8, (* (( (ptr) gf_c81748)+14) )); (* (ptr) var_c77972 ) = (* (( (ptr) gf_c81748)+47) ); (* (( (ptr) var_c77972)+1) ) = var_c77940; classDef_v33564 = var_c77972; }; SOURCE(51998, 30) (void) RegisterSegmentClass_P60(classDef_v33564); SOURCE(52030, 70) { word var_c78004; word var_c78036; var_c78004 = (word) BuildConicClass_P900(); var_c78036 = XR_NewObject(8, (* (( (ptr) gf_c81748)+14) )); (* (ptr) var_c78036 ) = (* (( (ptr) gf_c81748)+44) ); (* (( (ptr) var_c78036)+1) ) = var_c78004; classDef_v33564 = var_c78036; }; SOURCE(52102, 30) (void) RegisterSegmentClass_P60(classDef_v33564); } /* file: GGSegmentImplA, module: GGSegmentImplA, compiled at: February 5, 1993 2:05:50 pm PST */ extern void XR_install_GGSegmentImplA() { NoName_Q9660(); } extern void XR_run_GGSegmentImplA() { XR_Start(&globalframe); }