/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: October 25, 1993 12:11:23 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XlColorAccessImpl, module: XlColorAccessImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1481436486,1454386006] XlColorAccessImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; word r;} W17;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W6 r;} W14;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef W3 *W3Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W7 r;} W15;
typedef W7 *W7Pt;
typedef struct {W16 f; W8 r;} W24;
typedef W8 *W8Pt;
typedef W2 *W2Pt;
#define SOURCE(p, l) /* source p, l */
static float fc25 = 65535.0;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc33 = 255.0;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc38 = 1.0;
static float fc45 = 0.25;
static float fc55 = 0.5;
static float fc56 = 0.1;
static float fc57 = 0.3;
static float fc58 = 0.85;
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
static float fc72 = 0.7;
static float fc73 = 0.75;
static float fc121 = 0.4545454;
static float fc122 = 2.2;
static void NoName←Q3012();
static void XlColorAccessImpl←P0();
static word FindVisualType←P60();
static word RealColorValToXColorVal←P120();
static word Idx2Byte←P240();
static word ToByte←P300();
static void RampColors←P360();
static word TryWithStandardColorMap←P420();
static word SearchMaps←P1248();
static word TryMap←P1308();
static void TryAdding←P1416();
static word NoName←Q3072();
static word AllocateForDefaultColormap←P480();
static word NoName←Q3132();
static word NoName←Q3192();
static word NoName←Q3252();
static void EachColor←P2004();
static word AllocateForNewColormap←P540();
static word NextPixel←P2064();
static void EachColor←P2124();
static void FindBlackAndWhite←P600();
static void GrabEm←P2352();
static word NoName←Q3312();
static void ReturnEm←P2412();
static word Access←P660();
static word Protected←P2664();
static word NewCD←P720();
static word ColorDataInit←P780();
static void NoName←Q3372();
static void NoName←Q3432();
static void NoName←Q3492();
static void NoName←Q3552();
static void NoName←Q3612();
static struct {unsigned f; char r[4];} string1 = {65540, "\242\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\105\154\000\000"};
static struct {unsigned f; char r[4];} string3 = {196611, "\004A\330"};
static struct {unsigned f; char r[44];} string4 = {2752556, "\260\006\005\146\151\162\163\164\257\300\265\371\352\317\300\364\125\216\164\100\164\005\004\162\145\163\164\214\257\300\265\371\352\317\300\364\125\216\164\100\164\261\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\003\001\000"};
static struct {unsigned f; char r[20];} string6 = {1179668, "\260\006\005\146\151\162\163\164\241\005\004\162\145\163\164\214\241\261\000"};
static struct {unsigned f; char r[44];} string7 = {2752556, "\260\006\005\146\151\162\163\164\257\300\351\276\264\273\300\115\104\320\264\122\200\005\004\162\145\163\164\214\257\300\351\276\264\273\300\115\104\320\264\122\200\261\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\003\007\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\331\133\131\347\300\165\343\006\212\100\164\000\000"};
static struct {unsigned f; char r[4];} string10 = {196611, "\004@`"};
static struct {unsigned f; char r[4];} string11 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string12 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string13 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string14 = {917520, "makingProgress\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300XL\355F\300V\260+V@t\000\000"};
static struct {unsigned f; char r[12];} string16 = {589833, "\006\003 \001$\001@X\001\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\343\366\304\342\300\307\072\365\214\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\331\133\131\347\300\165\343\006\212\100\150\000\000"};
static struct {
word f0[23]; word f23; word f24; word f25;
word f26; word f27; word f28; word f29;
word f30; word f31; word f32; word f33;
word f34; word f35; word f36; word f37;
word f38; word f39; word f40; word f41;
word f42; word f43; word f44; word f45;
word f46; word f47; word f48[7];
} globalframe = {
{0}, (word) ColorDataInit←P780, 0, (word) NewCD←P720,
0, (word) Access←P660, 0, (word) FindBlackAndWhite←P600,
0, (word) AllocateForNewColormap←P540, 0, (word) AllocateForDefaultColormap←P480,
0, (word) TryWithStandardColorMap←P420, 0, (word) RampColors←P360,
0, (word) ToByte←P300, 0, (word) Idx2Byte←P240,
0, (word) RealColorValToXColorVal←P120, 0, (word) FindVisualType←P60,
0, (word) XlColorAccessImpl←P0, {0}
};
static void NoName←Q3012()
{
register ptr gf←c0260 = (ptr) &globalframe;
word var←c20352;
(* (( (ptr) gf←c0260)+10) ) = (word) XR←GetTypeIndexS((word) (&string1));
(* (( (ptr) gf←c0260)+11) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
(* (( (ptr) gf←c0260)+16) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0260)+17) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string5);
(* (( (ptr) gf←c0260)+18) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (( (ptr) gf←c0260)+19) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
(* (( (ptr) gf←c0260)+20) ) = (word) XR←GetTypeIndexS((word) (&string11));
(* (( (ptr) gf←c0260)+21) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
(* (ptr) (( (bPt) gf←c0260)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0260)+21) ), (word) &string14);
(void) XR←DeclareGlobalFrame((word) "XlColorAccessImpl", &globalframe, (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16)
, (word) (( (bPt) gf←c0260)+188)/* var←c18240 */ );
var←c20352 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string17)), 22);
(* (( (ptr) gf←c0260)+53)/* var←c20160 */ ) = var←c20352;
(void) XR←ImportProcS(var←c20352, 266753);
var←c20352 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string18)), 11);
(* (( (ptr) gf←c0260)+50)/* var←c18368 */ ) = var←c20352;
(void) XR←ImportProcS(var←c20352, 67371521);
var←c20352 = (word) XR←ImportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string19)), 36);
(* (( (ptr) gf←c0260)+49)/* var←c18336 */ ) = var←c20352;
(void) XR←ImportProcS(var←c20352, 67633922);
var←c20352 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string20)), 218);
(* (( (ptr) gf←c0260)+52)/* var←c18912 */ ) = var←c20352;
(void) XR←ImportProcS(var←c20352, 793091);
(void) XR←ImportProcS(var←c20352, 68465669);
(void) XR←ImportProcS(var←c20352, 794115);
(void) XR←ImportProcS(var←c20352, 67641090);
(void) XR←ImportProcS(var←c20352, 135576581);
(void) XR←ImportProcS(var←c20352, 1097476);
(void) XR←ImportProcS(var←c20352, 534786);
(void) XR←ImportProcS(var←c20352, 535042);
(void) XR←ImportProcS(var←c20352, 1359365);
(void) XR←ImportProcS(var←c20352, 269793795);
var←c20352 = (word) XR←ImportInterface((word) "XlRGBColorMaps", (word) XR←GetTypeIndexS((word) (&string21)), 1);
(* (( (ptr) gf←c0260)+51)/* var←c18880 */ ) = var←c20352;
(void) XR←ImportProcS(var←c20352, 67895299);
var←c20352 = (word) XR←ExportInterface((word) "XlColorAccess", (word) XR←GetTypeIndexS((word) (&string22)), 3);
(* (( (ptr) gf←c0260)+54)/* var←c20384 */ ) = var←c20352;
(void) XR←ExportProcS(var←c20352, (word) (( (bPt) gf←c0260)+108)/* var←c17920 */ , 67895299, (word) "Access");
(void) XR←ExportProcS(var←c20352, (word) (( (bPt) gf←c0260)+172)/* var←c18176 */ , 67633410, (word) "RealColorValToXColorVal")
;
(void) XR←ExportProcS(var←c20352, (word) (( (bPt) gf←c0260)+180)/* var←c18208 */ , 67895811, (word) "FindVisualType");
}
static void XlColorAccessImpl←P0(formal←c041, formal←c039)
word formal←c041;
word formal←c039;
{
register ptr gf←c20416 = (ptr) &globalframe;
/* XlColorAccessImpl: */
SOURCE(104, 12994)
SOURCE(240, 21)
(* (( (ptr) gf←c20416)+8)/* myKey←v2776 */ ) = XR←NewObject(4, (* (( (ptr) gf←c20416)+10) ));
SOURCE(1307, 76)
{
word var←c18272;
var←c18272 = XR←NewObject(36, (* (( (ptr) gf←c20416)+11) ));
(* (( (ptr) var←c18272)+1) ) = 1;
(* (( (ptr) gf←c20416)+9)/* detailsForSynchronous←v2916 */ ) = var←c18272;
};
}
static word FindVisualType←P60(screen←v3264, depth←v3292, class←v3320)
word screen←v3264;
word depth←v3292;
word class←v3320;
{
word var←c3364;
/* FindVisualType: */
SOURCE(294, 371)
SOURCE(294, 371)
var←c3364 = 0;
SOURCE(412, 253)
{
register word dl←v5632;
dl←v5632 = (* (( (ptr) screen←v3264)+19) );
lab←L100003: ;
if ((dl←v5632 != 0)) {
}
else {
goto lab←L100000;
};
SOURCE(483, 182)
if (((* (( (ptr) (* (ptr) dl←v5632 ))+3) ) == depth←v3292)) {
SOURCE(514, 134)
{
register word vtl←v5676;
vtl←v5676 = (* (( (ptr) (* (ptr) dl←v5632 ))+5) );
lab←L100007: ;
if ((vtl←v5676 != 0)) {
}
else {
goto lab←L100004;
};
SOURCE(600, 48)
if (((* (( (ptr) (* (ptr) vtl←v5676 ))+1) ) == class←v3320)) {
SOURCE(630, 18)
return((* (ptr) vtl←v5676 ));
};
vtl←v5676 = (* (( (ptr) vtl←v5676)+1) );
goto lab←L100007;
lab←L100004: ;
};
SOURCE(659, 6)
return(var←c3364);
};
dl←v5632 = (* (( (ptr) dl←v5632)+1) );
goto lab←L100003;
lab←L100000: ;
};
SOURCE(294, 371)
return(var←c3364);
}
static word RealColorValToXColorVal←P120(r←v3424, invGamma←v3452)
word r←v3424;
word invGamma←v3452;
{
register ptr gf←c20448 = (ptr) &globalframe;
word v←v3496;
word s←v5832;
/* RealColorValToXColorVal: */
SOURCE(683, 329)
SOURCE(892, 50)
{
word var←c18304;
{
word pd23;
word x24;
word x26;
pd23 = (* (( (ptr) (* (( (ptr) gf←c20448)+49)/* var←c18336 */ ))+7) );
*(float*)&var←c18304 = (
x24 = (word) ( *( (fPt) ((* (ptr) pd23 ))))(r←v3424, invGamma←v3452, pd23), *(float*)&x24
) * (
x26 = (* (ptr) &fc25 ), *(float*)&x26
);
};
{
word pd27;
pd27 = (* (( (ptr) (* (( (ptr) gf←c20448)+50)/* var←c18368 */ ))+6) );
s←v5832 = (word) ( *( (fPt) ((* (ptr) pd27 ))))(var←c18304, pd27);
};
};
SOURCE(944, 68)
{
word var←c18400;
var←c18400 = s←v5832;
if (( (int)var←c18400 <= (int)0)) {
SOURCE(966, 5)
v←v3496 = 0;
}
else {
if (( (int)var←c18400 >= (int)65535)) {
SOURCE(985, 9)
v←v3496 = 65535;
}
else {
SOURCE(1007, 5)
v←v3496 = BCK(s←v5832, 65536);
};
};
};
SOURCE(683, 329)
return(v←v3496);
}
static word Idx2Byte←P240(val←v3688, max←v3716, gamma←v3744)
word val←v3688;
word max←v3716;
word gamma←v3744;
{
register ptr gf←c20480 = (ptr) &globalframe;
word var←c3788;
word float←v6008;
/* Idx2Byte: */
SOURCE(1128, 173)
SOURCE(1205, 17)
{
float tf28;
float←v6008 = (
tf28 = (float)(unsigned)val←v3688, *(word*)&tf28
);
};
SOURCE(1224, 19)
{
word x29;
*(float*)&float←v6008 = (
x29 = float←v6008, *(float*)&x29
) / (float)(unsigned)max←v3716;
};
SOURCE(1245, 32)
{
word pd30;
pd30 = (* (( (ptr) (* (( (ptr) gf←c20480)+49)/* var←c18336 */ ))+7) );
float←v6008 = (word) ( *( (fPt) ((* (ptr) pd30 ))))(float←v6008, gamma←v3744, pd30);
};
SOURCE(1279, 22)
return((word) ToByte←P300(float←v6008));
}
static word ToByte←P300(r←v3848)
word r←v3848;
{
register ptr gf←c20512 = (ptr) &globalframe;
word var←c3892;
word s←v6052;
/* ToByte: */
SOURCE(1386, 147)
SOURCE(1428, 26)
{
word pd31;
word x32;
word x34;
float tf35;
pd31 = (* (( (ptr) (* (( (ptr) gf←c20512)+50)/* var←c18368 */ ))+6) );
s←v6052 = (word) ( *( (fPt) ((* (ptr) pd31 ))))((
tf35 = (
x32 = r←v3848, *(float*)&x32
) * (
x34 = (* (ptr) &fc33 ), *(float*)&x34
), *(word*)&tf35
), pd31);
};
SOURCE(1456, 56)
{
word var←c18464;
var←c18464 = s←v6052;
if (( (int)var←c18464 <= (int)0)) {
SOURCE(1478, 10)
return(0);
}
else {
if (( (int)var←c18464 >= (int)255)) {
SOURCE(1500, 12)
return(255);
};
};
};
SOURCE(1523, 10)
return(BCK(s←v6052, 256));
}
static void RampColors←P360(eachColor←v3952, reds←v3980, greens←v4008, blues←v4036)
word eachColor←v3952;
word reds←v3980;
word greens←v4008;
word blues←v4036;
{
word limit←v6096;
/* RampColors: */
SOURCE(1539, 617)
SOURCE(1642, 32)
{
word idx36;
limit←v6096 = (
idx36 = (word) (((reds←v3980 * greens←v4008) * blues←v4036) - 1),
SGNCK(idx36)
);
};
SOURCE(1781, 219)
{
register word b←v6284 = 0;
register word noName←c18496;
noName←c18496 = blues←v4036;
if ((b←v6284 >= noName←c18496)) {
goto lab←L100008;
};
lab←L100011: ;
SOURCE(1809, 191)
{
register word g←v6328 = 0;
register word noName←c18528;
noName←c18528 = greens←v4008;
if ((g←v6328 >= noName←c18528)) {
goto lab←L100012;
};
lab←L100015: ;
SOURCE(1838, 162)
{
register word r←v6372 = 0;
register word noName←c18560;
noName←c18560 = reds←v3980;
if ((r←v6372 >= noName←c18560)) {
goto lab←L100016;
};
lab←L100019: ;
{
word a←v6416;
SOURCE(1865, 29)
{
word idx37;
a←v6416 = (
idx37 = (word) ((((r←v6372 * greens←v4008) + g←v6328) * blues←v4036) + b←v6284),
SGNCK(idx37)
);
};
SOURCE(1896, 104)
if ( ( (a←v6416 < limit←v6096) ? (a←v6416 > 0) : 0 ) ) {
SOURCE(1946, 54)
{
word x39;
float tf40;
word x41;
float tf42;
word x43;
float tf44;
(void) ( *( (fPt) ((* (ptr) eachColor←v3952 ))))((
tf40 = (float)(unsigned)r←v6372 / ((float)(unsigned)reds←v3980 - (
/*1*/ x39 = (* (ptr) &fc38 ), *(float*)&x39
/*1*/ )), *(word*)&tf40
), (
tf42 = (float)(unsigned)g←v6328 / ((float)(unsigned)greens←v4008 - (
/*1*/ x41 = (* (ptr) &fc38 ), *(float*)&x41
/*1*/ )), *(word*)&tf42
), (
tf44 = (float)(unsigned)b←v6284 / ((float)(unsigned)blues←v4036 - (
/*1*/ x43 = (* (ptr) &fc38 ), *(float*)&x43
/*1*/ )), *(word*)&tf44
), eachColor←v3952);
};
};
};
r←v6372 = (r←v6372 + 1);
if ((r←v6372 < noName←c18560)) {
goto lab←L100019;
};
lab←L100016: ;
};
g←v6328 = (g←v6328 + 1);
if ((g←v6328 < noName←c18528)) {
goto lab←L100015;
};
lab←L100012: ;
};
b←v6284 = (b←v6284 + 1);
if ((b←v6284 < noName←c18496)) {
goto lab←L100011;
};
lab←L100008: ;
};
SOURCE(2029, 34)
SOURCE(1726, 18)
(void) ( *( (fPt) ((* (ptr) eachColor←v3952 ))))((* (ptr) &fc45 ), (* (ptr) &fc45 ), (* (ptr) &fc45 ), eachColor←v3952)
;
SOURCE(1746, 30)
{
word x46;
word x47;
float tf48;
word x49;
word x50;
float tf51;
word x52;
word x53;
float tf54;
(void) ( *( (fPt) ((* (ptr) eachColor←v3952 ))))((
tf48 = (
x46 = (* (ptr) &fc38 ), *(float*)&x46
) - (
x47 = (* (ptr) &fc45 ), *(float*)&x47
), *(word*)&tf48
), (
tf51 = (
x49 = (* (ptr) &fc38 ), *(float*)&x49
) - (
x50 = (* (ptr) &fc45 ), *(float*)&x50
), *(word*)&tf51
), (
tf54 = (
x52 = (* (ptr) &fc38 ), *(float*)&x52
) - (
x53 = (* (ptr) &fc45 ), *(float*)&x53
), *(word*)&tf54
), eachColor←v3952);
};
SOURCE(2081, 24)
(void) ( *( (fPt) ((* (ptr) eachColor←v3952 ))))((* (ptr) &fc55 ), (* (ptr) &fc55 ), (* (ptr) &fc55 ), eachColor←v3952)
;
SOURCE(2124, 32)
SOURCE(1726, 18)
(void) ( *( (fPt) ((* (ptr) eachColor←v3952 ))))((* (ptr) &fc56 ), (* (ptr) &fc57 ), (* (ptr) &fc58 ), eachColor←v3952)
;
SOURCE(1746, 30)
{
word x59;
word x60;
float tf61;
word x62;
word x63;
float tf64;
word x65;
word x66;
float tf67;
(void) ( *( (fPt) ((* (ptr) eachColor←v3952 ))))((
tf61 = (
x59 = (* (ptr) &fc38 ), *(float*)&x59
) - (
x60 = (* (ptr) &fc56 ), *(float*)&x60
), *(word*)&tf61
), (
tf64 = (
x62 = (* (ptr) &fc38 ), *(float*)&x62
) - (
x63 = (* (ptr) &fc57 ), *(float*)&x63
), *(word*)&tf64
), (
tf67 = (
x65 = (* (ptr) &fc38 ), *(float*)&x65
) - (
x66 = (* (ptr) &fc58 ), *(float*)&x66
), *(word*)&tf67
), eachColor←v3952);
};
}
static word TryWithStandardColorMap←P420(formal←c0320, formal←c0321, blackPixel←v4268, whitePixel←v4296, gamma←v4324, formal←c0322)
word formal←c0320;
word formal←c0321;
word blackPixel←v4268;
word whitePixel←v4296;
word gamma←v4324;
word formal←c0322;
{
W17 var←c20544;
/* declaration of screen←v4212 skipped */
/* declaration of vt←v4240 skipped */
/* declaration of invGamma←v4352 skipped */
register ptr gf←c20576 = (ptr) &globalframe;
/* declaration of entries←v4396 skipped */
/* declaration of var←c18592 skipped */
/* declaration of var←c18624 skipped */
/* declaration of var←c18656 skipped */
/* declaration of colorMapSize←v6516 skipped */
/* declaration of map←v6544 skipped */
(* (( (ptr) &var←c20544)+4)/* screen←v4212 */ ) = formal←c0320;
(* (( (ptr) &var←c20544)+5)/* vt←v4240 */ ) = formal←c0321;
(* (( (ptr) &var←c20544)+6)/* invGamma←v4352 */ ) = formal←c0322;
/* TryWithStandardColorMap: */
SOURCE(2183, 2668)
{
word tmpAddr68;
tmpAddr68 = (word) (( (ptr) &var←c20544)+8)/* var←c18592 */ ;
(* (ptr) tmpAddr68 ) = ( ((word) (fPt) TryAdding←P1416) );
(* (( (ptr) tmpAddr68) + 1) ) = 1;
};
{
word tmpAddr69;
tmpAddr69 = (word) (( (ptr) &var←c20544)+10)/* var←c18624 */ ;
(* (ptr) tmpAddr69 ) = ( ((word) (fPt) TryMap←P1308) );
(* (( (ptr) tmpAddr69) + 1) ) = 1;
};
{
word tmpAddr70;
tmpAddr70 = (word) (( (ptr) &var←c20544)+12)/* var←c18656 */ ;
(* (ptr) tmpAddr70 ) = ( ((word) (fPt) SearchMaps←P1248) );
(* (( (ptr) tmpAddr70) + 1) ) = 1;
};
SOURCE(2183, 2668)
(* (( (ptr) &var←c20544)+7)/* entries←v4396 */ ) = 0;
SOURCE(3193, 49)
{
word x71;
(* (( (ptr) &var←c20544)+14)/* colorMapSize←v6516 */ ) = (x71 = (* (( (ptr) (* (( (ptr) &var←c20544)+5)/* vt←v4240 */ ))+3)
),
MIN( (unsigned) , x71, 256));
};
SOURCE(3245, 42)
(* (( (ptr) &var←c20544)+15)/* map←v6544 */ ) = 0;
SOURCE(3289, 45)
(* (( (ptr) &var←c20544)+15)/* map←v6544 */ ) = (word) TryMap←P1308(27, (word) (( (bPt) &var←c20544)+40)/* var←c18624 */ )
;
SOURCE(3336, 58)
if (((* (( (ptr) &var←c20544)+15)/* map←v6544 */ ) == 0)) {
SOURCE(3352, 42)
(* (( (ptr) &var←c20544)+15)/* map←v6544 */ ) = (word) TryMap←P1308(25, (word) (( (bPt) &var←c20544)+40)/* var←c18624 */ )
;
};
SOURCE(3396, 1455)
if (((* (( (ptr) &var←c20544)+15)/* map←v6544 */ ) != 0)) {
SOURCE(3412, 1448)
{
/* declaration of addingFailed←v6936 skipped */
SOURCE(3414, 26)
(* (( (ptr) &var←c20544)+16)/* addingFailed←v6936 */ ) = 0;
SOURCE(4079, 409)
{
register word b←v7124 = 0;
register word noName←c18688;
noName←c18688 = (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+5) );
if ((b←v7124 > noName←c18688)) {
goto lab←L100020;
};
lab←L100023: ;
SOURCE(4113, 375)
{
register word g←v7168 = 0;
register word noName←c18720;
noName←c18720 = (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+3) );
if ((g←v7168 > noName←c18720)) {
goto lab←L100024;
};
lab←L100027: ;
SOURCE(4148, 340)
{
register word r←v7212 = 0;
register word noName←c18752;
noName←c18752 = (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+1) );
if ((r←v7212 > noName←c18752)) {
goto lab←L100028;
};
lab←L100031: ;
{
word pixel←v7256;
SOURCE(4181, 88)
pixel←v7256 = (((((r←v7212 * (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+2) )) + (g←v7168 * (* (( (ptr) (* (
( (ptr) &var←c20544)+15)/* map←v6544 */ ))+4) ))) + (b←v7124 * (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+6)
))) + (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+7) )) & 0377);
SOURCE(4271, 217)
if ((pixel←v7256 < (* (( (ptr) &var←c20544)+14)/* colorMapSize←v6516 */ ))) {
SOURCE(4298, 192)
{
word red←v7300;
word green←v7328;
word blue←v7356;
SOURCE(4300, 42)
red←v7300 = (word) Idx2Byte←P240(r←v7212, (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+1) ), gamma←v4324);
SOURCE(4344, 46)
green←v7328 = (word) Idx2Byte←P240(g←v7168, (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+3) ), gamma←v4324)
;
SOURCE(4392, 44)
blue←v7356 = (word) Idx2Byte←P240(b←v7124, (* (( (ptr) (* (( (ptr) &var←c20544)+15)/* map←v6544 */ ))+5) ), gamma←v4324)
;
SOURCE(4438, 50)
{
/*1*/ word var←c18784;
/*1*/ var←c18784 = XR←NewObject(8, (* (( (ptr) gf←c20576)+16) ));
/*1*/ (* (ptr) var←c18784 ) = (((word) (((word) (((word) BCK(pixel←v7256, 256) << 8) + (unsigned) (red←v7300 & 0377)) << 8) +
/*1*/ (unsigned) (green←v7328 & 0377)) << 8) + (unsigned) (blue←v7356 & 0377));
/*1*/ (* (( (ptr) var←c18784)+1) ) = (* (( (ptr) &var←c20544)+7)/* entries←v4396 */ );
/*1*/ (* (( (ptr) &var←c20544)+7)/* entries←v4396 */ ) = var←c18784;
/*1*/ };
};
};
};
if ((r←v7212 >= noName←c18752)) {
goto lab←L100028;
};
r←v7212 = (r←v7212 + 1);
goto lab←L100031;
lab←L100028: ;
};
if ((g←v7168 >= noName←c18720)) {
goto lab←L100024;
};
g←v7168 = (g←v7168 + 1);
goto lab←L100027;
lab←L100024: ;
};
if ((b←v7124 >= noName←c18688)) {
goto lab←L100020;
};
b←v7124 = (b←v7124 + 1);
goto lab←L100023;
lab←L100020: ;
};
SOURCE(4520, 46)
{
word var←c18816;
var←c18816 = XR←NewObject(8, (* (( (ptr) gf←c20576)+16) ));
(* (bPt) var←c18816 ) = BCK(blackPixel←v4268, 256);
(* (( (ptr) var←c18816)+1) ) = (* (( (ptr) &var←c20544)+7)/* entries←v4396 */ );
(* (( (ptr) &var←c20544)+7)/* entries←v4396 */ ) = var←c18816;
};
SOURCE(4568, 52)
{
word var←c18848;
var←c18848 = XR←NewObject(8, (* (( (ptr) gf←c20576)+16) ));
(* (ptr) var←c18848 ) = (((word) BCK(whitePixel←v4296, 256) << 24) + 16777215);
(* (( (ptr) var←c18848)+1) ) = (* (( (ptr) &var←c20544)+7)/* entries←v4396 */ );
(* (( (ptr) &var←c20544)+7)/* entries←v4396 */ ) = var←c18848;
};
SOURCE(4622, 24)
(void) TryAdding←P1416((* (ptr) &fc72 ), (* (ptr) &fc72 ), (* (ptr) &fc38 ), (word) (( (bPt) &var←c20544)+32)/* var←c18592 */ )
;
SOURCE(4708, 25)
(void) TryAdding←P1416((* (ptr) &fc56 ), (* (ptr) &fc57 ), (* (ptr) &fc58 ), (word) (( (bPt) &var←c20544)+32)/* var←c18592 */ )
;
SOURCE(4755, 27)
(void) TryAdding←P1416((* (ptr) &fc45 ), (* (ptr) &fc45 ), (* (ptr) &fc45 ), (word) (( (bPt) &var←c20544)+32)/* var←c18592 */ )
;
SOURCE(4791, 24)
(void) TryAdding←P1416((* (ptr) &fc55 ), (* (ptr) &fc55 ), (* (ptr) &fc55 ), (word) (( (bPt) &var←c20544)+32)/* var←c18592 */ )
;
SOURCE(4824, 27)
(void) TryAdding←P1416((* (ptr) &fc73 ), (* (ptr) &fc73 ), (* (ptr) &fc73 ), (word) (( (bPt) &var←c20544)+32)/* var←c18592 */ )
;
};
};
SOURCE(2183, 2668)
return((* (( (ptr) &var←c20544)+7)/* entries←v4396 */ ));
}
static word SearchMaps←P1248(maps←v6620, vt←v6648, mustMatch←v6676, formal←c20608)
word maps←v6620;
word vt←v6648;
word mustMatch←v6676;
word formal←c20608;
{
word var←c6804;
formal←c20608 = (formal←c20608 - 48);
/* SearchMaps: */
SOURCE(2385, 392)
SOURCE(2385, 392)
var←c6804 = 0;
SOURCE(2563, 214)
{
register word list←v7516;
list←v7516 = maps←v6620;
lab←L100035: ;
if ((list←v7516 != 0)) {
}
else {
goto lab←L100032;
};
SOURCE(2649, 128)
if (((* (( (ptr) (* (ptr) list←v7516 ))+8) ) == (* (ptr) vt←v6648 ))) {
SOURCE(2689, 88)
if ((mustMatch←v6676 == 0) || (mustMatch←v6676 == (* (ptr) (* (ptr) list←v7516 ) ))) {
SOURCE(2757, 20)
return((* (ptr) list←v7516 ));
};
};
list←v7516 = (* (( (ptr) list←v7516)+1) );
goto lab←L100035;
lab←L100032: ;
};
SOURCE(2385, 392)
return(var←c6804);
}
static word TryMap←P1308(mapKey←v6864, formal←c20672)
word mapKey←v6864;
word formal←c20672;
{
register ptr gf←c20640 = (ptr) &globalframe;
word map←v6908;
word maps←v7644;
formal←c20672 = (formal←c20672 - 40);
/* TryMap: */
SOURCE(2791, 274)
SOURCE(2791, 274)
map←v6908 = 0;
SOURCE(2880, 6)
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c20640)+51)/* var←c18880 */ ))+4) );
maps←v7644 = (word) ( *( (fPt) ((* (ptr) pd74 ))))((* (( (ptr) (* (( (ptr) formal←c20672)+4) ))+16) ), (* (ptr) (* (( (ptr) formal←c20672)+4)
) ), mapKey←v6864, pd74);
};
SOURCE(3015, 50)
map←v6908 = (word) SearchMaps←P1248(maps←v7644, (* (( (ptr) formal←c20672)+5) ), (* (( (ptr) (* (( (ptr) formal←c20672)+4)
))+1) ), (word) (( (bPt) formal←c20672)+48));
SOURCE(2791, 274)
return(map←v6908);
}
static void TryAdding←P1416(r←v7040, g←v7068, b←v7096, formal←c20768)
word r←v7040;
word g←v7068;
word b←v7096;
word formal←c20768;
{
W14 var←c20704;
register ptr gf←c20736 = (ptr) &globalframe;
formal←c20768 = (formal←c20768 - 32);
(* (ptr) &var←c20704 ) = formal←c20768;
/* TryAdding: */
SOURCE(3442, 17)
SOURCE(3476, 600)
SOURCE(3478, 554)
if ((0 == (* (( (ptr) formal←c20768)+16) ))) {
SOURCE(3500, 537)
{
/* declaration of rgb←v7400 skipped */
word pixel←v7428;
/* declaration of var←c01 skipped */
/* declaration of var←c02 skipped */
/* declaration of var←c03 skipped */
/* declaration of var←c04 skipped */
SOURCE(3533, 46)
(* (( (ptr) &var←c20704)+4) ) = (word) RealColorValToXColorVal←P120(r←v7040, (* (( (ptr) formal←c20768)+6) ));
SOURCE(3582, 48)
(* (( (ptr) &var←c20704)+5) ) = (word) RealColorValToXColorVal←P120(g←v7068, (* (( (ptr) formal←c20768)+6) ));
SOURCE(3633, 47)
(* (( (ptr) &var←c20704)+6) ) = (word) RealColorValToXColorVal←P120(b←v7096, (* (( (ptr) formal←c20768)+6) ));
SOURCE(3682, 94)
(* (( (ptr) &var←c20704)+7)/* var←c01 */ ) = (* (( (ptr) (* (( (ptr) formal←c20768)+4) ))+16) );
(* (( (ptr) &var←c20704)+8)/* var←c02 */ ) = (* (ptr) (* (( (ptr) formal←c20768)+15) ) );
(* (( (ptr) &var←c20704)+9)/* var←c03 */ ) = (* (( (ptr) (* (( (ptr) gf←c20736)+52)/* var←c18912 */ ))+190) );
{
word var←c05;
{
word var←c0299;
var←c0299 = (word) &var←c20704;
var←c05 = (word) XR←Enable(( ((word) (fPt) NoName←Q3072) ), ( ((word) (fPt) NoName←Q3612) ), var←c0299);
};
if ((var←c05 == 2)) {
goto lab←L100036;
};
};
pixel←v7428 = (* (W4Pt) (( (ptr) &var←c20704)+10)/* var←c04 */ ).f0;
SOURCE(3794, 238)
if ((pixel←v7428 < (* (( (ptr) formal←c20768)+14) ))) {
SOURCE(3824, 101)
{
register word l←v7472;
l←v7472 = (* (( (ptr) formal←c20768)+7) );
lab←L100042: ;
if ((l←v7472 != 0)) {
}
else {
goto lab←L100039;
};
SOURCE(3888, 37)
if (( (unsigned) (* (bPt) l←v7472 ) == pixel←v7428)) {
SOURCE(3919, 6)
return;
};
l←v7472 = (* (( (ptr) l←v7472)+1) );
goto lab←L100042;
lab←L100039: ;
};
SOURCE(3967, 65)
{
word var←c18944;
word var←c18976;
word var←c19008;
word var←c19040;
var←c18944 = (word) ToByte←P300(r←v7040);
var←c18976 = (word) ToByte←P300(g←v7068);
var←c19008 = (word) ToByte←P300(b←v7096);
var←c19040 = XR←NewObject(8, (* (( (ptr) gf←c20736)+16) ));
(* (ptr) var←c19040 ) = (((word) (((word) (((word) BCK(pixel←v7428, 256) << 8) + (unsigned) (var←c18944 & 0377)) << 8) +
(unsigned) (var←c18976 & 0377)) << 8) + (unsigned) (var←c19008 & 0377));
(* (( (ptr) var←c19040)+1) ) = (* (( (ptr) formal←c20768)+7) );
(* (( (ptr) formal←c20768)+7) ) = var←c19040;
};
};
};
};
goto lab←L100043;
lab←L100036: ;
SOURCE(4055, 19)
(* (( (ptr) formal←c20768)+16) ) = 1;
lab←L100043: ;
}
static word NoName←Q3072(formal←c0271)
word formal←c0271;
{
SOURCE(3682, 94)
{
word pd75;
pd75 = (* (( (ptr) formal←c0271)+9) );
(void) ( *( (fPt) ((* (ptr) pd75 ))))((word) (( (bPt) formal←c0271)+40), (* (( (ptr) formal←c0271)+7) ), (* (( (ptr) formal←c0271)+8)
), (* (W3Pt) (( (ptr) formal←c0271)+4) ), pd75);
};
return(0);
}
static word AllocateForDefaultColormap←P480(formal←c0323, formal←c0324, formal←c0325, formal←c0326, formal←c0327, formal←c0328, formal←c0329, formal←c0330)
word formal←c0323;
word formal←c0324;
word formal←c0325;
word formal←c0326;
word formal←c0327;
word formal←c0328;
word formal←c0329;
word formal←c0330;
{
W15 var←c20800;
/* declaration of c←v4456 skipped */
/* declaration of colorMap←v4484 skipped */
/* declaration of blackPixel←v4512 skipped */
/* declaration of whitePixel←v4540 skipped */
/* declaration of invGamma←v4568 skipped */
/* declaration of reds←v4596 skipped */
/* declaration of greens←v4624 skipped */
/* declaration of blues←v4652 skipped */
word var←c4696;
/* declaration of var←c19072 skipped */
(* (( (ptr) &var←c20800)+4)/* c←v4456 */ ) = formal←c0323;
(* (( (ptr) &var←c20800)+5)/* colorMap←v4484 */ ) = formal←c0324;
(* (( (ptr) &var←c20800)+6)/* blackPixel←v4512 */ ) = formal←c0325;
(* (( (ptr) &var←c20800)+7)/* whitePixel←v4540 */ ) = formal←c0326;
(* (( (ptr) &var←c20800)+8)/* invGamma←v4568 */ ) = formal←c0327;
(* (( (ptr) &var←c20800)+9)/* reds←v4596 */ ) = formal←c0328;
(* (( (ptr) &var←c20800)+10)/* greens←v4624 */ ) = formal←c0329;
(* (( (ptr) &var←c20800)+11)/* blues←v4652 */ ) = formal←c0330;
/* AllocateForDefaultColormap: */
SOURCE(4867, 1307)
{
word tmpAddr76;
tmpAddr76 = (word) (( (ptr) &var←c20800)+12)/* var←c19072 */ ;
(* (ptr) tmpAddr76 ) = ( ((word) (fPt) EachColor←P2004) );
(* (( (ptr) tmpAddr76) + 1) ) = 1;
};
SOURCE(5076, 1098)
SOURCE(5078, 38)
{
/* declaration of entries←v7772 skipped */
SOURCE(5078, 38)
(* (( (ptr) &var←c20800)+14)/* entries←v7772 */ ) = 0;
SOURCE(5124, 997)
{
word var←c010;
{
word var←c0300;
var←c0300 = (word) &var←c20800;
var←c010 = (word) XR←Enable(( ((word) (fPt) NoName←Q3132) ), ( ((word) (fPt) NoName←Q3432) ), var←c0300);
};
if ((var←c010 == 5)) {
goto lab←L100044;
};
};
SOURCE(6128, 16)
return((* (( (ptr) &var←c20800)+14)/* entries←v7772 */ ));
};
/* c2c skipped dead code */
lab←L100044: ;
SOURCE(6160, 12)
return(0);
}
static word NoName←Q3132(formal←c0273)
word formal←c0273;
{
register ptr gf←c0272 = (ptr) &globalframe;
SOURCE(5528, 17)
SOURCE(5939, 16)
{
word pd77;
pd77 = (* (( (ptr) (* (( (ptr) gf←c0272)+52)/* var←c18912 */ ))+45) );
(void) ( *( (fPt) ((* (ptr) pd77 ))))((* (( (ptr) formal←c0273)+4) ), 0, pd77);
};
SOURCE(5957, 42)
(void) RampColors←P360((word) (( (bPt) formal←c0273)+48), (* (( (ptr) formal←c0273)+9) ), (* (( (ptr) formal←c0273)+10) ), (* (
( (ptr) formal←c0273)+11) ));
SOURCE(6001, 18)
{
word pd78;
pd78 = (* (( (ptr) (* (( (ptr) gf←c0272)+52)/* var←c18912 */ ))+46) );
(void) ( *( (fPt) ((* (ptr) pd78 ))))((* (( (ptr) formal←c0273)+4) ), 0, pd78);
};
SOURCE(6021, 46)
{
word var←c19136;
var←c19136 = XR←NewObject(8, (* (( (ptr) gf←c0272)+16) ));
{
word idx79;
(* (bPt) var←c19136 ) = (
idx79 = (* (( (ptr) formal←c0273)+6) ),
BCK(idx79, 256)
);
};
(* (( (ptr) var←c19136)+1) ) = (* (( (ptr) formal←c0273)+14) );
(* (( (ptr) formal←c0273)+14) ) = var←c19136;
};
SOURCE(6069, 52)
{
word var←c19168;
var←c19168 = XR←NewObject(8, (* (( (ptr) gf←c0272)+16) ));
{
word idx80;
(* (ptr) var←c19168 ) = (((word) (
idx80 = (* (( (ptr) formal←c0273)+7) ),
BCK(idx80, 256)
) << 24) + 16777215);
};
(* (( (ptr) var←c19168)+1) ) = (* (( (ptr) formal←c0273)+14) );
(* (( (ptr) formal←c0273)+14) ) = var←c19168;
};
return(0);
}
static word NoName←Q3192(formal←c0274)
word formal←c0274;
{
SOURCE(5470, 33)
{
word pd81;
pd81 = (* (( (ptr) formal←c0274)+5) );
(void) ( *( (fPt) ((* (ptr) pd81 ))))((* (( (ptr) (* (ptr) formal←c0274 ))+4) ), 0, pd81);
};
return(0);
}
static word NoName←Q3252(formal←c0276)
word formal←c0276;
{
register ptr gf←c0275 = (ptr) &globalframe;
SOURCE(5378, 81)
{
word pd82;
pd82 = (* (( (ptr) formal←c0276)+5) );
(void) ( *( (fPt) ((* (ptr) pd82 ))))((* (( (ptr) (* (ptr) formal←c0276 ))+4) ), (* (( (ptr) (* (ptr) formal←c0276 ))+5)
), (* (( (ptr) formal←c0276)+4) ), 0, (* (( (ptr) gf←c0275)+9)/* detailsForSynchronous←v2916 */ ), pd82);
};
return(0);
}
static void EachColor←P2004(r←v8020, g←v8048, b←v8076, formal←c20864)
word r←v8020;
word g←v8048;
word b←v8076;
word formal←c20864;
{
register ptr gf←c20832 = (ptr) &globalframe;
W3 rgb←v8104;
word pixel←v8132;
W4 var←c0138;
formal←c20864 = (formal←c20864 - 48);
/* EachColor: */
SOURCE(5528, 17)
SOURCE(5595, 46)
rgb←v8104.f0 = (word) RealColorValToXColorVal←P120(r←v8020, (* (( (ptr) formal←c20864)+8) ));
SOURCE(5644, 48)
rgb←v8104.f1 = (word) RealColorValToXColorVal←P120(g←v8048, (* (( (ptr) formal←c20864)+8) ));
SOURCE(5695, 47)
rgb←v8104.f2 = (word) RealColorValToXColorVal←P120(b←v8076, (* (( (ptr) formal←c20864)+8) ));
SOURCE(5744, 65)
{
word pd83;
pd83 = (* (( (ptr) (* (( (ptr) gf←c20832)+52)/* var←c18912 */ ))+190) );
(void) ( *( (fPt) ((* (ptr) pd83 ))))((word) &var←c0138, (* (( (ptr) formal←c20864)+4) ), (* (( (ptr) formal←c20864)+5) ), rgb←v8104, pd83)
;
};
pixel←v8132 = var←c0138.f0;
SOURCE(5850, 84)
if ((pixel←v8132 <= 255)) {
SOURCE(5869, 65)
{
word var←c19200;
word var←c19232;
word var←c19264;
word var←c19296;
var←c19200 = (word) ToByte←P300(r←v8020);
var←c19232 = (word) ToByte←P300(g←v8048);
var←c19264 = (word) ToByte←P300(b←v8076);
var←c19296 = XR←NewObject(8, (* (( (ptr) gf←c20832)+16) ));
(* (ptr) var←c19296 ) = (((word) (((word) (((word) BCK(pixel←v8132, 256) << 8) + (unsigned) (var←c19200 & 0377)) << 8) +
(unsigned) (var←c19232 & 0377)) << 8) + (unsigned) (var←c19264 & 0377));
(* (( (ptr) var←c19296)+1) ) = (* (( (ptr) formal←c20864)+14) );
(* (( (ptr) formal←c20864)+14) ) = var←c19296;
};
};
}
static word AllocateForNewColormap←P540(c←v4756, colorMap←v4784, formal←c0331, formal←c0332, formal←c0333, reds←v4896, greens←v4924, blues←v4952, formal←c0334)
word c←v4756;
word colorMap←v4784;
word formal←c0331;
word formal←c0332;
word formal←c0333;
word reds←v4896;
word greens←v4924;
word blues←v4952;
word formal←c0334;
{
W15 var←c20896;
/* declaration of blackPixel←v4812 skipped */
/* declaration of whitePixel←v4840 skipped */
/* declaration of invGamma←v4868 skipped */
/* declaration of pixelCount←v4980 skipped */
register ptr gf←c20928 = (ptr) &globalframe;
word var←c5024;
/* declaration of var←c19328 skipped */
/* declaration of var←c19360 skipped */
/* declaration of entries←v8176 skipped */
/* declaration of storeColorItems←v8204 skipped */
/* declaration of nextFreePixel←v8232 skipped */
(* (( (ptr) &var←c20896)+4)/* blackPixel←v4812 */ ) = formal←c0331;
(* (( (ptr) &var←c20896)+5)/* whitePixel←v4840 */ ) = formal←c0332;
(* (( (ptr) &var←c20896)+6)/* invGamma←v4868 */ ) = formal←c0333;
(* (( (ptr) &var←c20896)+7)/* pixelCount←v4980 */ ) = formal←c0334;
/* AllocateForNewColormap: */
SOURCE(6178, 1501)
{
word tmpAddr84;
tmpAddr84 = (word) (( (ptr) &var←c20896)+8)/* var←c19328 */ ;
(* (ptr) tmpAddr84 ) = ( ((word) (fPt) EachColor←P2124) );
(* (( (ptr) tmpAddr84) + 1) ) = 1;
};
{
word tmpAddr85;
tmpAddr85 = (word) (( (ptr) &var←c20896)+10)/* var←c19360 */ ;
(* (ptr) tmpAddr85 ) = ( ((word) (fPt) NextPixel←P2064) );
(* (( (ptr) tmpAddr85) + 1) ) = 1;
};
SOURCE(6411, 38)
(* (( (ptr) &var←c20896)+12)/* entries←v8176 */ ) = 0;
SOURCE(6451, 17)
(* (( (ptr) &var←c20896)+13)/* storeColorItems←v8204 */ ) = 0;
SOURCE(6496, 22)
(* (( (ptr) &var←c20896)+14)/* nextFreePixel←v8232 */ ) = 0;
SOURCE(7145, 42)
(void) RampColors←P360((word) (( (bPt) &var←c20896)+32)/* var←c19328 */ , reds←v4896, greens←v4924, blues←v4952);
SOURCE(7189, 300)
{
W7 w←v8592;
W7 b←v8620;
SOURCE(7195, 107)
w←v8592.f0 = (* (( (ptr) &var←c20896)+5)/* whitePixel←v4840 */ );
w←v8592.f1 = 1;
w←v8592.f2 = 1;
w←v8592.f3 = 1;
w←v8592.f4 = 65535;
w←v8592.f5 = 65535;
w←v8592.f6 = 65535;
SOURCE(7304, 95)
b←v8620.f0 = (* (( (ptr) &var←c20896)+4)/* blackPixel←v4812 */ );
b←v8620.f1 = 1;
b←v8620.f2 = 1;
b←v8620.f3 = 1;
b←v8620.f4 = 0;
b←v8620.f5 = 0;
b←v8620.f6 = 0;
SOURCE(7401, 42)
{
word var←c19456;
var←c19456 = XR←NewObject(32, (* (( (ptr) gf←c20928)+18) ));
(* (W7Pt) var←c19456 ) = w←v8592;
(* (( (ptr) var←c19456)+7) ) = (* (( (ptr) &var←c20896)+13)/* storeColorItems←v8204 */ );
(* (( (ptr) &var←c20896)+13)/* storeColorItems←v8204 */ ) = var←c19456;
};
SOURCE(7445, 42)
{
word var←c19488;
var←c19488 = XR←NewObject(32, (* (( (ptr) gf←c20928)+18) ));
(* (W7Pt) var←c19488 ) = b←v8620;
(* (( (ptr) var←c19488)+7) ) = (* (( (ptr) &var←c20896)+13)/* storeColorItems←v8204 */ );
(* (( (ptr) &var←c20896)+13)/* storeColorItems←v8204 */ ) = var←c19488;
};
};
SOURCE(7494, 46)
{
word var←c19520;
var←c19520 = XR←NewObject(8, (* (( (ptr) gf←c20928)+16) ));
{
word idx86;
(* (bPt) var←c19520 ) = (
idx86 = (* (( (ptr) &var←c20896)+4)/* blackPixel←v4812 */ ),
BCK(idx86, 256)
);
};
(* (( (ptr) var←c19520)+1) ) = (* (( (ptr) &var←c20896)+12)/* entries←v8176 */ );
(* (( (ptr) &var←c20896)+12)/* entries←v8176 */ ) = var←c19520;
};
SOURCE(7542, 52)
{
word var←c19552;
var←c19552 = XR←NewObject(8, (* (( (ptr) gf←c20928)+16) ));
{
word idx87;
(* (ptr) var←c19552 ) = (((word) (
idx87 = (* (( (ptr) &var←c20896)+5)/* whitePixel←v4840 */ ),
BCK(idx87, 256)
) << 24) + 16777215);
};
(* (( (ptr) var←c19552)+1) ) = (* (( (ptr) &var←c20896)+12)/* entries←v8176 */ );
(* (( (ptr) &var←c20896)+12)/* entries←v8176 */ ) = var←c19552;
};
SOURCE(7596, 64)
{
word pd88;
pd88 = (* (( (ptr) (* (( (ptr) gf←c20928)+52)/* var←c18912 */ ))+195) );
(void) ( *( (fPt) ((* (ptr) pd88 ))))(c←v4756, colorMap←v4784, (* (( (ptr) &var←c20896)+13)/* storeColorItems←v8204 */ ), 0, pd88)
;
};
SOURCE(7662, 17)
return((* (( (ptr) &var←c20896)+12)/* entries←v8176 */ ));
}
static word NextPixel←P2064(formal←c20960)
word formal←c20960;
{
word this←v8448;
formal←c20960 = (formal←c20960 - 40);
/* NextPixel: */
SOURCE(6543, 156)
SOURCE(6586, 20)
this←v8448 = (* (( (ptr) formal←c20960)+14) );
SOURCE(6608, 67)
lab←L100061: ;
if ((this←v8448 == (* (( (ptr) formal←c20960)+4) )) || (this←v8448 == (* (( (ptr) formal←c20960)+5) ))) {
}
else {
goto lab←L100059;
};
SOURCE(6654, 21)
this←v8448 = (this←v8448 + 1);
goto lab←L100061;
lab←L100059: ;
SOURCE(6677, 22)
(* (( (ptr) formal←c20960)+14) ) = (this←v8448 + 1);
SOURCE(6543, 156)
return(this←v8448);
}
static void EachColor←P2124(r←v8508, g←v8536, b←v8564, formal←c21024)
word r←v8508;
word g←v8536;
word b←v8564;
word formal←c21024;
{
register ptr gf←c20992 = (ptr) &globalframe;
W3 rgb←v8664;
word pixel←v8692;
formal←c21024 = (formal←c21024 - 32);
/* EachColor: */
SOURCE(6705, 432)
SOURCE(6758, 27)
pixel←v8692 = (word) NextPixel←P2064((word) ((( (bPt) formal←c21024)+40)));
SOURCE(6787, 350)
if ((pixel←v8692 < (* (( (ptr) formal←c21024)+7) ))) {
SOURCE(6814, 46)
rgb←v8664.f0 = (word) RealColorValToXColorVal←P120(r←v8508, (* (( (ptr) formal←c21024)+6) ));
SOURCE(6863, 48)
rgb←v8664.f1 = (word) RealColorValToXColorVal←P120(g←v8536, (* (( (ptr) formal←c21024)+6) ));
SOURCE(6914, 47)
rgb←v8664.f2 = (word) RealColorValToXColorVal←P120(b←v8564, (* (( (ptr) formal←c21024)+6) ));
SOURCE(6963, 107)
{
word var←c19584;
var←c19584 = XR←NewObject(32, (* (( (ptr) gf←c20992)+18) ));
(* (ptr) var←c19584 ) = pixel←v8692;
(* (( (ptr) var←c19584)+1) ) = 1;
(* (( (ptr) var←c19584)+2) ) = 1;
(* (( (ptr) var←c19584)+3) ) = 1;
(* (W3Pt) (( (ptr) var←c19584)+4) ) = rgb←v8664;
(* (( (ptr) var←c19584)+7) ) = (* (( (ptr) formal←c21024)+13) );
(* (( (ptr) formal←c21024)+13) ) = var←c19584;
};
SOURCE(7072, 65)
{
word var←c19616;
word var←c19648;
word var←c19680;
word var←c19712;
var←c19616 = (word) ToByte←P300(r←v8508);
var←c19648 = (word) ToByte←P300(g←v8536);
var←c19680 = (word) ToByte←P300(b←v8564);
var←c19712 = XR←NewObject(8, (* (( (ptr) gf←c20992)+16) ));
(* (ptr) var←c19712 ) = (((word) (((word) (((word) BCK(pixel←v8692, 256) << 8) + (unsigned) (var←c19616 & 0377)) << 8) +
(unsigned) (var←c19648 & 0377)) << 8) + (unsigned) (var←c19680 & 0377));
(* (( (ptr) var←c19712)+1) ) = (* (( (ptr) formal←c21024)+12) );
(* (( (ptr) formal←c21024)+12) ) = var←c19712;
};
};
}
static void FindBlackAndWhite←P600(formal←c0193, formal←c0335, vt←v5112)
word formal←c0193;
word formal←c0335;
word vt←v5112;
{
W24 var←c21056;
/* declaration of screen←v5084 skipped */
register ptr gf←c21088 = (ptr) &globalframe;
/* declaration of blackPixel←v5156 skipped */
/* declaration of whitePixel←v5184 skipped */
/* declaration of var←c19744 skipped */
/* declaration of var←c19776 skipped */
/* declaration of colorMapSize←v8792 skipped */
/* declaration of colormap←v8820 skipped */
/* declaration of c←v8848 skipped */
/* declaration of used←v8876 skipped */
/* declaration of lastAlloc←v8904 skipped */
/* declaration of found←v8932 skipped */
(* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ) = formal←c0335;
/* FindBlackAndWhite: */
SOURCE(7683, 2095)
{
word tmpAddr89;
tmpAddr89 = (word) (( (ptr) &var←c21056)+7)/* var←c19744 */ ;
(* (ptr) tmpAddr89 ) = ( ((word) (fPt) ReturnEm←P2412) );
(* (( (ptr) tmpAddr89) + 1) ) = 1;
};
{
word tmpAddr90;
tmpAddr90 = (word) (( (ptr) &var←c21056)+9)/* var←c19776 */ ;
(* (ptr) tmpAddr90 ) = ( ((word) (fPt) GrabEm←P2352) );
(* (( (ptr) tmpAddr90) + 1) ) = 1;
};
SOURCE(7970, 49)
{
word x91;
(* (( (ptr) &var←c21056)+11)/* colorMapSize←v8792 */ ) = (x91 = (* (( (ptr) vt←v5112)+3) ),
MIN( (unsigned) , x91, 256));
};
SOURCE(8022, 46)
(* (( (ptr) &var←c21056)+12)/* colormap←v8820 */ ) = (* (( (ptr) (* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ))+1) );
SOURCE(8070, 36)
(* (( (ptr) &var←c21056)+13)/* c←v8848 */ ) = (* (( (ptr) (* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ))+16) );
SOURCE(8108, 48)
XR←FillWords(&(* (W8Pt) ((( (ptr) &var←c21056)+14)/* used←v8876 */ )), 8, 0);
SOURCE(8158, 32)
(* (( (ptr) &var←c21056)+22)/* lastAlloc←v8904 */ ) = (word) -1;
SOURCE(8192, 19)
(* (( (ptr) &var←c21056)+23)/* found←v8932 */ ) = 0;
SOURCE(8979, 30)
(* (( (ptr) &var←c21056)+5)/* blackPixel←v5156 */ ) = (* (( (ptr) (* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ))+3) );
SOURCE(9011, 23)
{
word idx92;
word xs93;
xs93 = (word) (
idx92 = (* (( (ptr) &var←c21056)+5)/* blackPixel←v5156 */ ),
BCK(idx92, 256)
);
(* (ptr) (( (ptr) (( (bPt) &var←c21056)+56)/* used←v8876 */ ) + ((word) xs93 >> 5)) ) |= ((unsigned) 1 << 32 - ((word) (xs93 & 037)+1)
);
};
SOURCE(9036, 30)
(* (( (ptr) &var←c21056)+6)/* whitePixel←v5184 */ ) = (* (( (ptr) (* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ))+2) );
SOURCE(9068, 23)
{
word idx94;
word xs95;
xs95 = (word) (
idx94 = (* (( (ptr) &var←c21056)+6)/* whitePixel←v5184 */ ),
BCK(idx94, 256)
);
(* (ptr) (( (ptr) (( (bPt) &var←c21056)+56)/* used←v8876 */ ) + ((word) xs95 >> 5)) ) |= ((unsigned) 1 << 32 - ((word) (xs95 & 037)+1)
);
};
SOURCE(9093, 63)
{
word ix96;
if ((
ix96 = (((* (( (ptr) &var←c21056)+11)/* colorMapSize←v8792 */ ) - (* (( (ptr) &var←c21056)+5)/* blackPixel←v5156 */ )) - 1),
((* (ptr) (( (ptr) (( (bPt) &var←c21056)+56)/* used←v8876 */ ) + ((word) ix96 >> 5)) ) >> (31 - ((word) (ix96 & 037)))) & 1
)) {
SOURCE(9125, 31)
/* removed bogus assignment */
/* removed bogus assignment */
goto lab←L100062;
};
};
SOURCE(9158, 8)
(void) GrabEm←P2352((word) ((( (bPt) &var←c21056)+36)/* var←c19776 */ ));
SOURCE(9168, 348)
if ( ( (0 != (* (( (ptr) &var←c21056)+23)/* found←v8932 */ )) ? ((* (( (ptr) &var←c21056)+22)/* lastAlloc←v8904 */ ) < (* (
( (ptr) &var←c21056)+11)/* colorMapSize←v8792 */ )) : 0 ) ) {
SOURCE(9211, 305)
{
word ix97;
if ((
ix97 = (((* (( (ptr) &var←c21056)+11)/* colorMapSize←v8792 */ ) - (* (( (ptr) &var←c21056)+22)/* lastAlloc←v8904 */ )) - 1),
((* (ptr) (( (ptr) (( (bPt) &var←c21056)+56)/* used←v8876 */ ) + ((word) ix97 >> 5)) ) >> (31 - ((word) (ix97 & 037)))) & 1
)) {
if (((((* (( (ptr) &var←c21056)+11)/* colorMapSize←v8792 */ ) - (* (( (ptr) &var←c21056)+22)/* lastAlloc←v8904 */ )) - 1) == (* (
( (ptr) (* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ))+2) ))) {
SOURCE(9358, 22)
(* (( (ptr) &var←c21056)+5)/* blackPixel←v5156 */ ) = (* (( (ptr) &var←c21056)+22)/* lastAlloc←v8904 */ );
}
else {
if (((((* (( (ptr) &var←c21056)+11)/* colorMapSize←v8792 */ ) - (* (( (ptr) &var←c21056)+22)/* lastAlloc←v8904 */ )) - 1) == (* (
( (ptr) (* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ))+3) ))) {
SOURCE(9423, 22)
(* (( (ptr) &var←c21056)+6)/* whitePixel←v5184 */ ) = (* (( (ptr) &var←c21056)+22)/* lastAlloc←v8904 */ );
}
else {
SOURCE(9459, 22)
(* (( (ptr) &var←c21056)+6)/* whitePixel←v5184 */ ) = (* (( (ptr) &var←c21056)+22)/* lastAlloc←v8904 */ );
SOURCE(9484, 32)
(* (( (ptr) &var←c21056)+5)/* blackPixel←v5156 */ ) = (((* (( (ptr) &var←c21056)+11)/* colorMapSize←v8792 */ ) - (* (( (ptr) &var←c21056)+22)
/* lastAlloc←v8904 */ )) - 1);
};
};
};
};
};
SOURCE(9525, 10)
(void) ReturnEm←P2412((word) ((( (bPt) &var←c21056)+28)/* var←c19744 */ ));
SOURCE(9537, 114)
if (((* (( (ptr) &var←c21056)+5)/* blackPixel←v5156 */ ) != (* (( (ptr) (* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ))+3)
))) {
SOURCE(9575, 76)
{
word var←c19840;
{
word var←c19872;
word var←c19904;
var←c19872 = XR←NewObject(32, (* (( (ptr) gf←c21088)+18) ));
var←c19904 = var←c19872;
(* (ptr) var←c19904 ) = (* (( (ptr) &var←c21056)+5)/* blackPixel←v5156 */ );
(* (( (ptr) var←c19904)+1) ) = 1;
(* (( (ptr) var←c19904)+2) ) = 1;
(* (( (ptr) var←c19904)+3) ) = 1;
var←c19840 = var←c19872;
};
{
word pd98;
pd98 = (* (( (ptr) (* (( (ptr) gf←c21088)+52)/* var←c18912 */ ))+195) );
(void) ( *( (fPt) ((* (ptr) pd98 ))))((* (( (ptr) &var←c21056)+13)/* c←v8848 */ ), (* (( (ptr) &var←c21056)+12)/* colormap←v8820 */ ), var←c19840, 0, pd98)
;
};
};
};
SOURCE(9653, 125)
if (((* (( (ptr) &var←c21056)+6)/* whitePixel←v5184 */ ) != (* (( (ptr) (* (( (ptr) &var←c21056)+4)/* screen←v5084 */ ))+2)
))) {
SOURCE(9690, 88)
{
word var←c19936;
{
word var←c19968;
word var←c20000;
var←c19968 = XR←NewObject(32, (* (( (ptr) gf←c21088)+18) ));
var←c20000 = var←c19968;
(* (ptr) var←c20000 ) = (* (( (ptr) &var←c21056)+6)/* whitePixel←v5184 */ );
(* (( (ptr) var←c20000)+1) ) = 1;
(* (( (ptr) var←c20000)+2) ) = 1;
(* (( (ptr) var←c20000)+3) ) = 1;
(* (( (ptr) var←c20000)+4) ) = 65535;
(* (( (ptr) var←c20000)+5) ) = 65535;
(* (( (ptr) var←c20000)+6) ) = 65535;
var←c19936 = var←c19968;
};
{
word pd99;
pd99 = (* (( (ptr) (* (( (ptr) gf←c21088)+52)/* var←c18912 */ ))+195) );
(void) ( *( (fPt) ((* (ptr) pd99 ))))((* (( (ptr) &var←c21056)+13)/* c←v8848 */ ), (* (( (ptr) &var←c21056)+12)/* colormap←v8820 */ ), var←c19936, 0, pd99)
;
};
};
};
/* removed tail goto */
lab←L100062: ;
(* (ptr) formal←c0193 ) = (* (( (ptr) &var←c21056)+5)/* blackPixel←v5156 */ );
(* (( (ptr) formal←c0193)+1) ) = (* (( (ptr) &var←c21056)+6)/* whitePixel←v5184 */ );
return;
}
static void GrabEm←P2352(formal←c21184)
word formal←c21184;
{
W7 var←c21120;
register ptr gf←c21152 = (ptr) &globalframe;
formal←c21184 = (formal←c21184 - 36);
var←c21120.f0 = formal←c21184;
/* GrabEm: */
SOURCE(8213, 405)
SOURCE(8231, 387)
SOURCE(8233, 16)
{
word pd100;
pd100 = (* (( (ptr) (* (( (ptr) gf←c21152)+52)/* var←c18912 */ ))+45) );
(void) ( *( (fPt) ((* (ptr) pd100 ))))((* (( (ptr) formal←c21184)+13) ), 0, pd100);
};
SOURCE(8251, 330)
{
register word i←v9308 = 0;
register word noName←c20032;
noName←c20032 = (* (( (ptr) formal←c21184)+11) );
if ((i←v9308 >= noName←c20032)) {
goto lab←L100064;
};
lab←L100067: ;
{
word pixels←v9352 = 0;
/* declaration of var←c011 skipped */
/* declaration of var←c012 skipped */
SOURCE(8317, 68)
var←c21120.f4/* var←c011 */ = (* (( (ptr) (* (( (ptr) gf←c21152)+52)/* var←c18912 */ ))+192) );
{
word var←c013;
{
word var←c0301;
var←c0301 = (word) &var←c21120;
var←c013 = (word) XR←Enable(( ((word) (fPt) NoName←Q3312) ), ( ((word) (fPt) NoName←Q3372) ), var←c0301);
};
if ((var←c013 == 6)) {
goto lab←L100063;
};
};
pixels←v9352 = (* (W2Pt) (( (ptr) &var←c21120)+5)/* var←c012 */ ).f0;
SOURCE(8408, 145)
if ((pixels←v9352 != 0)) {
SOURCE(8429, 124)
{
register word k←v9408 = 0;
register word noName←c20064;
noName←c20064 = (* (ptr) pixels←v9352 );
if ((k←v9408 >= noName←c20064)) {
goto lab←L100070;
};
lab←L100073: ;
SOURCE(8463, 21)
{
word limit101;
(* (( (ptr) formal←c21184)+22) ) = (* ((( (ptr) pixels←v9352)+1)+(
limit101 = (* (ptr) pixels←v9352 ),
BCK(k←v9408, limit101)
)) );
};
SOURCE(8486, 22)
{
word idx102;
word xs103;
xs103 = (word) (
idx102 = (* (( (ptr) formal←c21184)+22) ),
BCK(idx102, 256)
);
(* (ptr) (( (ptr) (( (bPt) formal←c21184)+56)) + ((word) xs103 >> 5)) ) |= ((unsigned) 1 << 32 - ((word) (xs103 & 037)+1)
);
};
SOURCE(8510, 43)
{
word ix104;
if ((
ix104 = (((* (( (ptr) formal←c21184)+11) ) - (* (( (ptr) formal←c21184)+22) )) - 1),
((* (ptr) (( (ptr) (( (bPt) formal←c21184)+56)) + ((word) ix104 >> 5)) ) >> (31 - ((word) (ix104 & 037)))) & 1
)) {
SOURCE(8541, 12)
(* (( (ptr) formal←c21184)+23) ) = 1;
};
};
k←v9408 = (k←v9408 + 1);
if ((k←v9408 < noName←c20064)) {
goto lab←L100073;
};
lab←L100070: ;
};
};
SOURCE(8567, 14)
if ((0 != (* (( (ptr) formal←c21184)+23) ))) {
SOURCE(8581, 4)
goto lab←L100065;
};
};
i←v9308 = (i←v9308 + 1);
if ((i←v9308 < noName←c20032)) {
goto lab←L100067;
};
lab←L100064: ;
lab←L100065: ;
};
goto lab←L100074;
lab←L100063: ;
lab←L100074: ;
}
static word NoName←Q3312(formal←c0286)
word formal←c0286;
{
SOURCE(8317, 68)
{
word pd105;
pd105 = (* (( (ptr) formal←c0286)+4) );
(void) ( *( (fPt) ((* (ptr) pd105 ))))((word) (( (bPt) formal←c0286)+20), (* (( (ptr) (* (ptr) formal←c0286 ))+13) ), (* (
( (ptr) (* (ptr) formal←c0286 ))+12) ), 1, 0, 0, pd105);
};
return(0);
}
static void ReturnEm←P2412(formal←c21248)
word formal←c21248;
{
register ptr gf←c21216 = (ptr) &globalframe;
word pixelsToFree←v9452 = 0;
formal←c21248 = (formal←c21248 - 28);
/* ReturnEm: */
SOURCE(8621, 353)
SOURCE(8679, 24)
{
word idx106;
word xs107;
xs107 = (word) (
idx106 = (* (( (ptr) formal←c21248)+5) ),
BCK(idx106, 256)
);
(* (ptr) (( (ptr) (( (bPt) formal←c21248)+56)) + ((word) xs107 >> 5)) ) &= ~((unsigned) 1 << 32 - ((word) (xs107 & 037)+1)
);
};
SOURCE(8705, 24)
{
word idx108;
word xs109;
xs109 = (word) (
idx108 = (* (( (ptr) formal←c21248)+6) ),
BCK(idx108, 256)
);
(* (ptr) (( (ptr) (( (bPt) formal←c21248)+56)) + ((word) xs109 >> 5)) ) &= ~((unsigned) 1 << 32 - ((word) (xs109 & 037)+1)
);
};
SOURCE(8731, 31)
{
word idx110;
word xs111;
xs111 = (word) (
idx110 = (* (( (ptr) (* (( (ptr) formal←c21248)+4) ))+3) ),
BCK(idx110, 256)
);
(* (ptr) (( (ptr) (( (bPt) formal←c21248)+56)) + ((word) xs111 >> 5)) ) &= ~((unsigned) 1 << 32 - ((word) (xs111 & 037)+1)
);
};
SOURCE(8764, 31)
{
word idx112;
word xs113;
xs113 = (word) (
idx112 = (* (( (ptr) (* (( (ptr) formal←c21248)+4) ))+2) ),
BCK(idx112, 256)
);
(* (ptr) (( (ptr) (( (bPt) formal←c21248)+56)) + ((word) xs113 >> 5)) ) &= ~((unsigned) 1 << 32 - ((word) (xs113 & 037)+1)
);
};
SOURCE(8797, 78)
{
register word i←v9580 = 0;
lab←L100078: ;
SOURCE(8823, 52)
{
word ix114;
if ((
ix114 = BCK(i←v9580, 256),
((* (ptr) (( (ptr) (( (bPt) formal←c21248)+56)) + ((word) ix114 >> 5)) ) >> (31 - ((word) (ix114 & 037)))) & 1
)) {
SOURCE(8839, 36)
{
word var←c20096;
var←c20096 = XR←NewObject(8, (* (( (ptr) gf←c21216)+17) ));
(* (ptr) var←c20096 ) = i←v9580;
(* (( (ptr) var←c20096)+1) ) = pixelsToFree←v9452;
pixelsToFree←v9452 = var←c20096;
};
};
};
if ((i←v9580 >= 255)) {
goto lab←L100075;
};
i←v9580 = (i←v9580 + 1);
goto lab←L100078;
lab←L100075: ;
};
SOURCE(8886, 68)
if ((pixelsToFree←v9452 != 0)) {
SOURCE(8911, 43)
{
word pd115;
pd115 = (* (( (ptr) (* (( (ptr) gf←c21216)+52)/* var←c18912 */ ))+194) );
(void) ( *( (fPt) ((* (ptr) pd115 ))))((* (( (ptr) formal←c21248)+13) ), (* (( (ptr) formal←c21248)+12) ), pixelsToFree←v9452, 0, 0, pd115)
;
};
};
SOURCE(8956, 18)
{
word pd116;
pd116 = (* (( (ptr) (* (( (ptr) gf←c21216)+52)/* var←c18912 */ ))+46) );
(void) ( *( (fPt) ((* (ptr) pd116 ))))((* (( (ptr) formal←c21248)+13) ), 0, pd116);
};
}
static word Access←P660(screen←v5244, depth←v5272, class←v5300)
word screen←v5244;
word depth←v5272;
word class←v5300;
{
W7 var←c21280;
register ptr gf←c21312 = (ptr) &globalframe;
/* declaration of cd←v5344 skipped */
/* declaration of var←c20128 skipped */
word a←v9680;
word vt←v9708;
/* Access: */
SOURCE(9784, 799)
{
word tmpAddr117;
tmpAddr117 = (word) (( (ptr) &var←c21280)+5)/* var←c20128 */ ;
(* (ptr) tmpAddr117 ) = ( ((word) (fPt) Protected←P2664) );
(* (( (ptr) tmpAddr117) + 1) ) = 1;
};
SOURCE(9784, 799)
var←c21280.f4/* cd←v5344 */ = 0;
SOURCE(10206, 56)
vt←v9708 = (word) FindVisualType←P60(screen←v5244, depth←v5272, class←v5300);
SOURCE(10264, 27)
if ((vt←v9708 == 0)) {
SOURCE(10279, 12)
return(0);
};
SOURCE(10293, 17)
a←v9680 = (word) Protected←P2664(vt←v9708, (word) (( (bPt) &var←c21280)+20)/* var←c20128 */ );
SOURCE(10312, 103)
if ((a←v9680 == 1)) {
SOURCE(10329, 86)
{
register word i←v9956;
i←v9956 = 0;
lab←L100082: ;
if ( ( ( (int)i←v9956 < (int)50) ? (a←v9680 == 1) : 0 ) ) {
}
else {
goto lab←L100079;
};
SOURCE(10374, 22)
{
word pd118;
pd118 = (* (( (ptr) (* (( (ptr) gf←c21312)+53)/* var←c20160 */ ))+22) );
(void) ( *( (fPt) ((* (ptr) pd118 ))))(100, pd118);
};
SOURCE(10398, 17)
a←v9680 = (word) Protected←P2664(vt←v9708, (word) (( (bPt) &var←c21280)+20)/* var←c20128 */ );
i←v9956 = (i←v9956 + 1);
goto lab←L100082;
lab←L100079: ;
};
};
SOURCE(10429, 154)
{
word var←c20192;
var←c20192 = a←v9680;
switch (var←c20192) {
case 0:
SOURCE(10452, 11)
return(var←c21280.f4/* cd←v5344 */ );
case 2:
SOURCE(10480, 30)
var←c21280.f4/* cd←v5344 */ = (word) ColorDataInit←P780(screen←v5244, vt←v9708);
SOURCE(10513, 11)
return(var←c21280.f4/* cd←v5344 */ );
case 1:
SOURCE(10539, 30)
var←c21280.f4/* cd←v5344 */ = (word) ColorDataInit←P780(screen←v5244, vt←v9708);
SOURCE(10572, 11)
return(var←c21280.f4/* cd←v5344 */ );
default:
SOURCE(10599, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
}
static word Protected←P2664(vt←v9884, formal←c21376)
word vt←v9884;
word formal←c21376;
{
register ptr gf←c21344 = (ptr) &globalframe;
word var←c9928;
formal←c21376 = (formal←c21376 - 20);
/* Protected: */
SOURCE(9930, 256)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c21344)+16)/* LOCK←v2748 */ ));
SOURCE(9993, 193)
{
word var←c20224;
word var←c20256;
{
word pd119;
pd119 = (* (( (ptr) (* (( (ptr) gf←c21344)+52)/* var←c18912 */ ))+35) );
var←c20224 = (word) ( *( (fPt) ((* (ptr) pd119 ))))(vt←v9884, (* (( (ptr) gf←c21344)+8)/* myKey←v2776 */ ), pd119);
};
if ((var←c20224 == 0)) {
goto lab←L100083;
};
var←c20256 = XR←GetReferentType(var←c20224);
if (((* (( (ptr) gf←c21344)+19) ) == var←c20256)) {
{
word d←v10000;
d←v10000 = var←c20224;
SOURCE(10059, 6)
(* (( (ptr) formal←c21376)+4) ) = d←v10000;
SOURCE(10067, 12)
(void) (XR←MonitorExit((word) (( (bPt) gf←c21344)+16)/* LOCK←v2748 */ ));
return(0);
};
}
else {
if (((* (( (ptr) gf←c21344)+20) ) == var←c20256)) {
{
word a←v10044;
a←v10044 = var←c20224;
SOURCE(10093, 13)
(void) (XR←MonitorExit((word) (( (bPt) gf←c21344)+16)/* LOCK←v2748 */ ));
return(1);
};
}
else {
lab←L100083: ;
SOURCE(10121, 48)
{
word pd120;
pd120 = (* (( (ptr) (* (( (ptr) gf←c21344)+52)/* var←c18912 */ ))+34) );
(void) ( *( (fPt) ((* (ptr) pd120 ))))(vt←v9884, (* (( (ptr) gf←c21344)+8)/* myKey←v2776 */ ), (* (( (ptr) gf←c21344)+22)
), pd120);
};
SOURCE(10171, 15)
(void) (XR←MonitorExit((word) (( (bPt) gf←c21344)+16)/* LOCK←v2748 */ ));
return(2);
};
};
};
}
static word NewCD←P720(screen←v5404)
word screen←v5404;
{
register ptr gf←c21408 = (ptr) &globalframe;
word var←c5448;
word cd←v10088;
/* NewCD: */
SOURCE(10610, 282)
SOURCE(10673, 40)
cd←v10088 = XR←NewObject(28, (* (( (ptr) gf←c21408)+19) ));
SOURCE(10715, 44)
(* (( (ptr) cd←v10088)+1) ) = 0;
(* (ptr) cd←v10088 ) = 0;
SOURCE(10761, 36)
(* (( (ptr) cd←v10088)+2) ) = (* (( (ptr) screen←v5404)+1) );
SOURCE(10799, 39)
(* (( (ptr) cd←v10088)+3) ) = (* (( (ptr) screen←v5404)+3) );
SOURCE(10840, 39)
(* (( (ptr) cd←v10088)+4) ) = (* (( (ptr) screen←v5404)+2) );
SOURCE(10881, 11)
return(cd←v10088);
}
static word ColorDataInit←P780(screen←v5520, vt←v5548)
word screen←v5520;
word vt←v5548;
{
register ptr gf←c21440 = (ptr) &globalframe;
word cd←v5592;
/* ColorDataInit: */
SOURCE(10898, 2200)
SOURCE(10898, 2200)
cd←v5592 = 0;
SOURCE(10992, 18)
cd←v5592 = (word) NewCD←P720(screen←v5520);
SOURCE(11012, 2046)
if ((vt←v5548 != 0)) {
SOURCE(11027, 2033)
{
word invGamma←v10144;
word gamma←v10172;
SOURCE(11029, 26)
invGamma←v10144 = (* (ptr) &fc121 );
SOURCE(11057, 17)
gamma←v10172 = (* (ptr) &fc122 );
SOURCE(11076, 29)
(* (( (ptr) cd←v5592)+1) ) = 0;
SOURCE(11107, 74)
{
W2 var←c20320;
(void) FindBlackAndWhite←P600((word) &var←c20320, screen←v5520, vt←v5548);
(* (( (ptr) cd←v5592)+4) ) = var←c20320.f1;
(* (( (ptr) cd←v5592)+3) ) = var←c20320.f0;
};
SOURCE(11183, 107)
(* (( (ptr) cd←v5592)+5) ) = (word) TryWithStandardColorMap←P420(screen←v5520, vt←v5548, (* (( (ptr) cd←v5592)+3) ), (* (
( (ptr) cd←v5592)+4) ), gamma←v10172, invGamma←v10144);
SOURCE(11292, 1741)
if (((* (( (ptr) cd←v5592)+5) ) == 0)) {
if (((* (( (ptr) vt←v5548)+3) ) > 255)) {
SOURCE(11365, 132)
(* (( (ptr) cd←v5592)+5) ) = (word) AllocateForDefaultColormap←P480((* (( (ptr) screen←v5520)+16) ), (* (( (ptr) cd←v5592)+2)
), (* (( (ptr) cd←v5592)+3) ), (* (( (ptr) cd←v5592)+4) ), invGamma←v10144, 5
, 6, 4);
SOURCE(11499, 791)
if (((* (( (ptr) cd←v5592)+5) ) == 0)) {
SOURCE(11524, 132)
(* (( (ptr) cd←v5592)+5) ) = (word) AllocateForDefaultColormap←P480((* (( (ptr) screen←v5520)+16) ), (* (( (ptr) cd←v5592)+2)
), (* (( (ptr) cd←v5592)+3) ), (* (( (ptr) cd←v5592)+4) ), invGamma←v10144, 4
, 5, 4);
SOURCE(11658, 632)
if (((* (( (ptr) cd←v5592)+5) ) == 0)) {
SOURCE(11683, 132)
(* (( (ptr) cd←v5592)+5) ) = (word) AllocateForDefaultColormap←P480((* (( (ptr) screen←v5520)+16) ), (* (( (ptr) cd←v5592)+2)
), (* (( (ptr) cd←v5592)+3) ), (* (( (ptr) cd←v5592)+4) ), invGamma←v10144, 4
, 4, 4);
SOURCE(11817, 473)
if (((* (( (ptr) cd←v5592)+5) ) == 0)) {
SOURCE(11842, 132)
(* (( (ptr) cd←v5592)+5) ) = (word) AllocateForDefaultColormap←P480((* (( (ptr) screen←v5520)+16) ), (* (( (ptr) cd←v5592)+2)
), (* (( (ptr) cd←v5592)+3) ), (* (( (ptr) cd←v5592)+4) ), invGamma←v10144, 4
, 4, 3);
SOURCE(11976, 314)
if (((* (( (ptr) cd←v5592)+5) ) == 0)) {
SOURCE(12001, 28)
(* (( (ptr) cd←v5592)+1) ) = 1;
SOURCE(12031, 109)
{
/*1*/ word pd123;
/*1*/ pd123 = (* (( (ptr) (* (( (ptr) gf←c21440)+52)/* var←c18912 */ ))+184) );
/*1*/ (* (( (ptr) cd←v5592)+2) ) = (word) ( *( (fPt) ((* (ptr) pd123 ))))((* (( (ptr) screen←v5520)+16) ), (* (ptr) vt←v5548 ), (* (ptr) screen←v5520 ), 1, 0, pd123)
/*1*/ ;
/*1*/ };
SOURCE(12142, 148)
(* (( (ptr) cd←v5592)+5) ) = (word) AllocateForNewColormap←P540((* (( (ptr) screen←v5520)+16) ), (* (( (ptr) cd←v5592)+2)
/*1*/ ), (* (( (ptr) cd←v5592)+3) ), (* (( (ptr) cd←v5592)+4) ), invGamma←v10144, 5
/*1*/ , 6, 4, (* (( (ptr) vt←v5548)+3) ));
};
};
};
};
}
else {
if (((* (( (ptr) vt←v5548)+3) ) > 15)) {
SOURCE(12334, 132)
(* (( (ptr) cd←v5592)+5) ) = (word) AllocateForDefaultColormap←P480((* (( (ptr) screen←v5520)+16) ), (* (( (ptr) cd←v5592)+2)
), (* (( (ptr) cd←v5592)+3) ), (* (( (ptr) cd←v5592)+4) ), invGamma←v10144, 2
, 3, 2);
SOURCE(12468, 473)
if (((* (( (ptr) cd←v5592)+5) ) == 0)) {
SOURCE(12493, 132)
(* (( (ptr) cd←v5592)+5) ) = (word) AllocateForDefaultColormap←P480((* (( (ptr) screen←v5520)+16) ), (* (( (ptr) cd←v5592)+2)
), (* (( (ptr) cd←v5592)+3) ), (* (( (ptr) cd←v5592)+4) ), invGamma←v10144, 2
, 2, 2);
SOURCE(12627, 314)
if (((* (( (ptr) cd←v5592)+5) ) == 0)) {
SOURCE(12652, 28)
(* (( (ptr) cd←v5592)+1) ) = 1;
SOURCE(12682, 109)
{
word pd124;
pd124 = (* (( (ptr) (* (( (ptr) gf←c21440)+52)/* var←c18912 */ ))+184) );
(* (( (ptr) cd←v5592)+2) ) = (word) ( *( (fPt) ((* (ptr) pd124 ))))((* (( (ptr) screen←v5520)+16) ), (* (ptr) vt←v5548 ), (* (ptr) screen←v5520 ), 1, 0, pd124)
;
};
SOURCE(12793, 148)
(* (( (ptr) cd←v5592)+5) ) = (word) AllocateForNewColormap←P540((* (( (ptr) screen←v5520)+16) ), (* (( (ptr) cd←v5592)+2)
), (* (( (ptr) cd←v5592)+3) ), (* (( (ptr) cd←v5592)+4) ), invGamma←v10144, 2
, 3, 2, (* (( (ptr) vt←v5548)+3) ));
};
};
}
else {
SOURCE(12965, 20)
(* (ptr) cd←v5592 ) = 0;
SOURCE(12988, 35)
{
word pd125;
pd125 = (* (( (ptr) (* (( (ptr) gf←c21440)+52)/* var←c18912 */ ))+30) );
(void) ( *( (fPt) ((* (ptr) pd125 ))))(screen←v5520, (* (( (ptr) gf←c21440)+8)/* myKey←v2776 */ ), cd←v5592, pd125);
};
SOURCE(13026, 7)
return(cd←v5592);
};
};
};
SOURCE(13039, 19)
(* (ptr) cd←v5592 ) = 1;
};
};
SOURCE(13063, 35)
{
word pd126;
pd126 = (* (( (ptr) (* (( (ptr) gf←c21440)+52)/* var←c18912 */ ))+30) );
(void) ( *( (fPt) ((* (ptr) pd126 ))))(screen←v5520, (* (( (ptr) gf←c21440)+8)/* myKey←v2776 */ ), cd←v5592, pd126);
};
SOURCE(10898, 2200)
return(cd←v5592);
}
static void NoName←Q3372(formal←c0233, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
word formal←c0233;
word formal←c200016;
word formal←c200017;
word formal←c200018;
word formal←c200019;
{
register ptr gf←c0294 = (ptr) &globalframe;
if ((formal←c200017 == (* (( (ptr) (* (( (ptr) gf←c0294)+52)/* var←c18912 */ ))+4) ))) {
{
word err←v16228;
err←v16228 = (* (ptr) formal←c200019 );
SOURCE(8385, 21)
(* (ptr) formal←c0233 ) = 2;
(* (( (ptr) formal←c0233)+1) ) = 6;
return;
};
};
(* (ptr) formal←c0233 ) = 0;
(* (( (ptr) formal←c0233)+1) ) = 0;
return;
}
static void NoName←Q3432(formal←c0241, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0241;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
W6 var←c0319;
register ptr gf←c0295 = (ptr) &globalframe;
var←c0319.f0 = formal←c200004;
if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0295)+52)/* var←c18912 */ ))+4) ))) {
{
word err←v14624;
err←v14624 = (* (ptr) formal←c200007 );
SOURCE(5144, 381)
{
/* declaration of pixelsToFree←v7816 skipped */
SOURCE(5146, 14)
var←c0319.f4/* pixelsToFree←v7816 */ = 0;
SOURCE(5182, 194)
lab←L100049: ;
if (((* (( (ptr) formal←c200004)+14) ) != 0)) {
}
else {
goto lab←L100047;
};
SOURCE(5205, 138)
{
word tc127;
if (( (unsigned) (* (bPt) (* (( (ptr) formal←c200004)+14) ) ) != (* (( (ptr) formal←c200004)+6) ))) {
tc127 = (word) ( (unsigned) (* (bPt) (* (( (ptr) formal←c200004)+14) ) ) != (* (( (ptr) formal←c200004)+7) ));
}
else {
tc127 = (word) 0;
};
if (tc127) {
SOURCE(5286, 57)
{
word var←c19104;
var←c19104 = XR←NewObject(8, (* (( (ptr) gf←c0295)+17) ));
(* (ptr) var←c19104 ) = (unsigned) (* (bPt) (* (( (ptr) formal←c200004)+14) ) );
(* (( (ptr) var←c19104)+1) ) = var←c0319.f4/* pixelsToFree←v7816 */ ;
var←c0319.f4/* pixelsToFree←v7816 */ = var←c19104;
};
};
};
SOURCE(5346, 30)
(* (( (ptr) formal←c200004)+14) ) = (* (( (ptr) (* (( (ptr) formal←c200004)+14) ))+1) );
goto lab←L100049;
lab←L100047: ;
SOURCE(5378, 81)
SOURCE(5378, 81)
{
/* declaration of var←c06 skipped */
var←c0319.f5/* var←c06 */ = (* (( (ptr) (* (( (ptr) gf←c0295)+52)/* var←c18912 */ ))+194) );
{
word var←c07;
{
word var←c0302;
var←c0302 = (word) &var←c0319;
var←c07 = (word) XR←Enable(( ((word) (fPt) NoName←Q3252) ), ( ((word) (fPt) NoName←Q3552) ), var←c0302);
};
/* removed trivial cond node */
};
};
SOURCE(5470, 33)
SOURCE(5470, 33)
{
/* declaration of var←c08 skipped */
var←c0319.f5/* var←c08 */ = (* (( (ptr) (* (( (ptr) gf←c0295)+52)/* var←c18912 */ ))+46) );
{
word var←c09;
{
word var←c0303;
var←c0303 = (word) &var←c0319;
var←c09 = (word) XR←Enable(( ((word) (fPt) NoName←Q3192) ), ( ((word) (fPt) NoName←Q3492) ), var←c0303);
};
/* removed trivial cond node */
};
};
SOURCE(5514, 9)
(* (ptr) formal←c0241 ) = 2;
(* (( (ptr) formal←c0241)+1) ) = 5;
return;
};
};
};
(* (ptr) formal←c0241 ) = 0;
(* (( (ptr) formal←c0241)+1) ) = 0;
return;
}
static void NoName←Q3492(formal←c0247, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
word formal←c0247;
word formal←c200012;
word formal←c200013;
word formal←c200014;
word formal←c200015;
{
register ptr gf←c0296 = (ptr) &globalframe;
if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0296)+52)/* var←c18912 */ ))+4) ))) {
{
word err←v15160;
err←v15160 = (* (ptr) formal←c200015 );
SOURCE(5503, 9)
(* (ptr) formal←c0247 ) = 2;
(* (( (ptr) formal←c0247)+1) ) = 4;
return;
};
};
(* (ptr) formal←c0247 ) = 0;
(* (( (ptr) formal←c0247)+1) ) = 0;
return;
}
static void NoName←Q3552(formal←c0253, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c0253;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
register ptr gf←c0297 = (ptr) &globalframe;
if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0297)+52)/* var←c18912 */ ))+4) ))) {
{
word err←v14980;
err←v14980 = (* (ptr) formal←c200011 );
SOURCE(5459, 9)
(* (ptr) formal←c0253 ) = 2;
(* (( (ptr) formal←c0253)+1) ) = 3;
return;
};
};
(* (ptr) formal←c0253 ) = 0;
(* (( (ptr) formal←c0253)+1) ) = 0;
return;
}
static void NoName←Q3612(formal←c0259, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0259;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0298 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0298)+52)/* var←c18912 */ ))+4) ))) {
{
word err←v13960;
err←v13960 = (* (ptr) formal←c200003 );
SOURCE(3776, 16)
(* (ptr) formal←c0259 ) = 2;
(* (( (ptr) formal←c0259)+1) ) = 2;
return;
};
};
(* (ptr) formal←c0259 ) = 0;
(* (( (ptr) formal←c0259)+1) ) = 0;
return;
}
/* file: XlColorAccessImpl, module: XlColorAccessImpl, compiled at: October 25, 1993 12:11:21 pm PDT */
extern void XR←install←XlColorAccessImpl() {
NoName←Q3012();
}
extern void XR←run←XlColorAccessImpl() { XR←Start(&globalframe); }