/* 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 <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> 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); }