/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: August 19, 1993 12:22:31 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XlBitmapImagerImpl, module: XlBitmapImagerImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1289894311,107842231] XlBitmapImagerImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2;} W3;
typedef W3 *W3Pt;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
#define SOURCE(p, l) /* source p, l */
static float fc27 = 72.0;
static void NoName←Q2688();
static void XlBitmapImagerImpl←P0();
static void RegisterContextCreator←P60();
static word InternalCreateContext←P120();
static void DebugSwitchBufferTRUE←P180();
static void DebugSwitchBufferFALSE←P240();
static word AssertDevice←P300();
static word CreateContext←P360();
static void IPostIntercept←P480();
static void IPreIntercept←P540();
static void ModifySetColor←P600();
static void ModifySetPriority←P660();
static void ModifySetHalftoneProperties←P720();
static void ModifyMaskBoxes←P780();
static void ModifyMaskRegion←P840();
static void ModifyMaskBitmap←P900();
static void ModifyMaskRawBitmaps←P960();
static void ModifyDrawBitmap←P1020();
static void ModifyMaskChar←P1080();
static void ModifyMoveBox←P1140();
static void ModifySwitchBuffer1←P1200();
static void ModifySwitchBuffer2←P1260();
static word ModifyGetBufferColorOperator←P1320();
static void ModifyAccessBuffer←P1380();
static word DitherContextCreator←P1440();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\241\011\366\176\300\127\130\105\301\100\274\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\003\016\000"};
static struct {unsigned f; char r[44];} string3 = {2752556, "\260\006\005\146\151\162\163\164\257\300\114\342\071\247\300\006\155\212\267\100\200\005\004\162\145\163\164\214\257\300\114\342\071\247\300\006\155\212\267\100\200\261\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\003\002\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\114\342\071\247\300\006\155\212\267\101\020\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004\005\000"};
static struct {unsigned f; char r[4];} string7 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string8 = {65537, "\001\000\000"};
static struct {unsigned f; char r[44];} string9 = {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];} string10 = {131074, "\003\001\000"};
static struct {unsigned f; char r[8];} string11 = {393224, "Bitmap\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\114\342\071\247\300\006\155\212\267\100\164\000\000"};
static struct {unsigned f; char r[12];} string13 = {720907, "\006\004 \001(\001,\001@X\001"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\353\300\316\013\300\313\011\345\022\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\241\011\366\176\300\127\130\105\301\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\251\115\200\307\300\172\122\133\217\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\067\246\211\216\300\354\224\134\067\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\256\061\211\265\300\052\170\134\271\100\150\000\000"};
static struct {unsigned f; char r[24];} string19 = {1441816, "\211\012\011\102\151\164\155\141\160\122\145\160\300\256\061\211\265\300\052\170\134\271\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\340\211\223\046\300\245\333\237\361\100\214\000\000"};
static struct {unsigned f; char r[4];} string21 = {196611, "\004a\201"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\037\364\120\230\300\276\204\331\043\100\150\000\000"};
static struct {
word f0[9]; word f9; word f10[13]; word f23;
word f24; word f25; word f26; word f27;
word f28; word f29; word f30; word f31;
word f32; word f33; word f34; word f35;
word f36; word f37; word f38; word f39;
word f40; word f41; word f42; word f43;
word f44; word f45; word f46; word f47;
word f48; word f49; 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[7];
} globalframe = {
{0}, (word) 1, {0}, (word) DitherContextCreator←P1440,
0, (word) ModifyAccessBuffer←P1380, 0, (word) ModifyGetBufferColorOperator←P1320,
0, (word) ModifySwitchBuffer2←P1260, 0, (word) ModifySwitchBuffer1←P1200,
0, (word) ModifyMoveBox←P1140, 0, (word) ModifyMaskChar←P1080,
0, (word) ModifyDrawBitmap←P1020, 0, (word) ModifyMaskRawBitmaps←P960,
0, (word) ModifyMaskBitmap←P900, 0, (word) ModifyMaskRegion←P840,
0, (word) ModifyMaskBoxes←P780, 0, (word) ModifySetHalftoneProperties←P720,
0, (word) ModifySetPriority←P660, 0, (word) ModifySetColor←P600,
0, (word) IPreIntercept←P540, 0, (word) IPostIntercept←P480,
0, (word) CreateContext←P360, 0, (word) AssertDevice←P300,
0, (word) DebugSwitchBufferFALSE←P240, 0, (word) DebugSwitchBufferTRUE←P180,
0, (word) InternalCreateContext←P120, 0, (word) RegisterContextCreator←P60,
0, (word) XlBitmapImagerImpl←P0, {0}
};
static void NoName←Q2688()
{
register ptr gf←c0161 = (ptr) &globalframe;
word var←c24252;
(* (( (ptr) gf←c0161)+13) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0161)+16) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0161)+17) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
(* (( (ptr) gf←c0161)+19) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (( (ptr) gf←c0161)+20) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
(* (ptr) (( (bPt) gf←c0161)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0161)+19) ), (word) &string11);
(void) XR←DeclareGlobalFrame((word) "XlBitmapImagerImpl", &globalframe, (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13)
, (word) (( (bPt) gf←c0161)+276)/* var←c23292 */ );
var←c24252 = (word) XR←ImportInterface((word) "ImagerBitmapContext", (word) XR←GetTypeIndexS((word) (&string14)), 8);
(* (( (ptr) gf←c0161)+73)/* var←c23676 */ ) = var←c24252;
(void) XR←ImportProcS(var←c24252, 524802);
(void) XR←ImportProcS(var←c24252, 69206278);
var←c24252 = (word) XR←ImportInterface((word) "ImagerDevice", (word) XR←GetTypeIndexS((word) (&string15)), 2);
(* (( (ptr) gf←c0161)+72)/* var←c23548 */ ) = var←c24252;
(void) XR←ImportProcS(var←c24252, 68157444);
var←c24252 = (word) XR←ImportInterface((word) "ImagerDitherContext", (word) XR←GetTypeIndexS((word) (&string16)), 9);
(* (( (ptr) gf←c0161)+74)/* var←c24188 */ ) = var←c24252;
(void) XR←ImportProcS(var←c24252, 524802);
(void) XR←ImportProcS(var←c24252, 525570);
(void) XR←ImportProcS(var←c24252, 68944133);
var←c24252 = (word) XR←ImportInterface((word) "ImagerRaster", (word) XR←GetTypeIndexS((word) (&string17)), 13);
(* (( (ptr) gf←c0161)+71)/* var←c23484 */ ) = var←c24252;
(void) XR←ImportProcS(var←c24252, 67635970);
(void) XR←ImportProcS(var←c24252, 67373569);
var←c24252 = (word) XR←ExportInterface((word) "XlBitmap", (word) XR←GetTypeIndexS((word) (&string18)), 14);
(* (( (ptr) gf←c0161)+75)/* var←c24284 */ ) = var←c24252;
(void) XR←ExportType((word) "BitmapRep", (word) XR←GetTypeIndexS((word) (&string19)), (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21)
);
(void) XR←ExportProcS(var←c24252, (word) (( (bPt) gf←c0161)+228)/* var←c23100 */ , 67635202, (word) "CreateContext");
var←c24252 = (word) XR←ExportInterface((word) "XlBitmapFriends", (word) XR←GetTypeIndexS((word) (&string22)), 1);
(* (( (ptr) gf←c0161)+76)/* var←c24316 */ ) = var←c24252;
(void) XR←ExportProcS(var←c24252, (word) (( (bPt) gf←c0161)+268)/* var←c23260 */ , 524290, (word) "RegisterContextCreator")
;
}
static void XlBitmapImagerImpl←P0(formal←c042, formal←c039)
word formal←c042;
word formal←c039;
{
register ptr gf←c24348 = (ptr) &globalframe;
/* XlBitmapImagerImpl: */
SOURCE(244, 8692)
/* moved to installation proc */
SOURCE(7327, 513)
{
word var←c23324;
var←c23324 = XR←NewObject(60, (* (( (ptr) gf←c24348)+13) ));
(* (ptr) var←c23324 ) = (word) (( (bPt) gf←c24348)+204)/* var←c23004 */ ;
(* (( (ptr) var←c23324)+1) ) = (word) (( (bPt) gf←c24348)+196)/* var←c22972 */ ;
(* (( (ptr) var←c23324)+2) ) = (word) (( (bPt) gf←c24348)+188)/* var←c22940 */ ;
(* (( (ptr) var←c23324)+3) ) = (word) (( (bPt) gf←c24348)+180)/* var←c22908 */ ;
(* (( (ptr) var←c23324)+4) ) = (word) (( (bPt) gf←c24348)+172)/* var←c22876 */ ;
(* (( (ptr) var←c23324)+5) ) = (word) (( (bPt) gf←c24348)+164)/* var←c22844 */ ;
(* (( (ptr) var←c23324)+6) ) = XR←CheckProc(0);
(* (( (ptr) var←c23324)+7) ) = (word) (( (bPt) gf←c24348)+156)/* var←c22812 */ ;
(* (( (ptr) var←c23324)+8) ) = (word) (( (bPt) gf←c24348)+148)/* var←c22780 */ ;
(* (( (ptr) var←c23324)+9) ) = (word) (( (bPt) gf←c24348)+140)/* var←c22748 */ ;
(* (( (ptr) var←c23324)+10) ) = (word) (( (bPt) gf←c24348)+132)/* var←c22716 */ ;
(* (( (ptr) var←c23324)+11) ) = (word) (( (bPt) gf←c24348)+124)/* var←c22684 */ ;
(* (( (ptr) var←c23324)+12) ) = (word) (( (bPt) gf←c24348)+108)/* var←c22620 */ ;
(* (( (ptr) var←c23324)+13) ) = (word) (( (bPt) gf←c24348)+100)/* var←c22588 */ ;
(* (( (ptr) gf←c24348)+10)/* modifiedDeviceClass1←v4064 */ ) = var←c23324;
};
SOURCE(7843, 513)
{
word var←c23356;
var←c23356 = XR←NewObject(60, (* (( (ptr) gf←c24348)+13) ));
(* (ptr) var←c23356 ) = (word) (( (bPt) gf←c24348)+204)/* var←c23004 */ ;
(* (( (ptr) var←c23356)+1) ) = (word) (( (bPt) gf←c24348)+196)/* var←c22972 */ ;
(* (( (ptr) var←c23356)+2) ) = (word) (( (bPt) gf←c24348)+188)/* var←c22940 */ ;
(* (( (ptr) var←c23356)+3) ) = (word) (( (bPt) gf←c24348)+180)/* var←c22908 */ ;
(* (( (ptr) var←c23356)+4) ) = (word) (( (bPt) gf←c24348)+172)/* var←c22876 */ ;
(* (( (ptr) var←c23356)+5) ) = (word) (( (bPt) gf←c24348)+164)/* var←c22844 */ ;
(* (( (ptr) var←c23356)+6) ) = XR←CheckProc(0);
(* (( (ptr) var←c23356)+7) ) = (word) (( (bPt) gf←c24348)+156)/* var←c22812 */ ;
(* (( (ptr) var←c23356)+8) ) = (word) (( (bPt) gf←c24348)+148)/* var←c22780 */ ;
(* (( (ptr) var←c23356)+9) ) = (word) (( (bPt) gf←c24348)+140)/* var←c22748 */ ;
(* (( (ptr) var←c23356)+10) ) = (word) (( (bPt) gf←c24348)+132)/* var←c22716 */ ;
(* (( (ptr) var←c23356)+11) ) = (word) (( (bPt) gf←c24348)+116)/* var←c22652 */ ;
(* (( (ptr) var←c23356)+12) ) = (word) (( (bPt) gf←c24348)+108)/* var←c22620 */ ;
(* (( (ptr) var←c23356)+13) ) = (word) (( (bPt) gf←c24348)+100)/* var←c22588 */ ;
(* (( (ptr) gf←c24348)+11)/* modifiedDeviceClass2←v4092 */ ) = var←c23356;
};
SOURCE(8791, 47)
(void) RegisterContextCreator←P60(8, (word) (( (bPt) gf←c24348)+92)/* var←c22556 */ );
SOURCE(8840, 47)
(void) RegisterContextCreator←P60(4, (word) (( (bPt) gf←c24348)+92)/* var←c22556 */ );
SOURCE(8889, 47)
(void) RegisterContextCreator←P60(2, (word) (( (bPt) gf←c24348)+92)/* var←c22556 */ );
}
static void RegisterContextCreator←P60(bpp←v4356, creator←v4384)
word bpp←v4356;
word creator←v4384;
{
register ptr gf←c24380 = (ptr) &globalframe;
/* RegisterContextCreator: */
SOURCE(957, 143)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c24380)+16)/* LOCK←v3000 */ ));
SOURCE(1039, 61)
if ((creator←v4384 != 0)) {
SOURCE(1059, 41)
{
word var←c23388;
var←c23388 = XR←NewObject(12, (* (( (ptr) gf←c24380)+16) ));
(* (ptr) var←c23388 ) = bpp←v4356;
(* (( (ptr) var←c23388)+1) ) = XR←CheckProc(creator←v4384);
(* (( (ptr) var←c23388)+2) ) = (* (( (ptr) gf←c24380)+8)/* creators←v3308 */ );
(* (( (ptr) gf←c24380)+8)/* creators←v3308 */ ) = var←c23388;
};
};
SOURCE(957, 143)
(void) (XR←MonitorExit((word) (( (bPt) gf←c24380)+16)/* LOCK←v3000 */ ));
return;
}
static word InternalCreateContext←P120(sm←v4444, surfaceUnitsPerPixel←v4472, extras←v4500)
word sm←v4444;
word surfaceUnitsPerPixel←v4472;
word extras←v4500;
{
register ptr gf←c24412 = (ptr) &globalframe;
word var←c4560;
word bpp←v7188;
/* InternalCreateContext: */
SOURCE(1106, 368)
SOURCE(1246, 67)
{
word map←v22508;
map←v22508 = sm←v4444;
bpp←v7188 = (* (( (ptr) map←v22508)+5) );
};
SOURCE(1315, 159)
{
register word l←v7232;
l←v7232 = (* (( (ptr) gf←c24412)+8)/* creators←v3308 */ );
lab←L100004: ;
if ((l←v7232 != 0)) {
}
else {
goto lab←L100001;
};
SOURCE(1384, 90)
if (( (int)(* (ptr) l←v7232 ) == (int)bpp←v7188)) {
SOURCE(1408, 66)
{
word pd23;
pd23 = (* (( (ptr) l←v7232)+1) );
return((word) ( *( (fPt) ((* (ptr) pd23 ))))(sm←v4444, surfaceUnitsPerPixel←v4472, extras←v4500, pd23));
};
};
l←v7232 = (* (( (ptr) l←v7232)+2) );
goto lab←L100004;
lab←L100001: ;
};
SOURCE(1477, 5)
(void) XR←RaiseUnnamedError();
}
static void DebugSwitchBufferTRUE←P180()
{
register ptr gf←c24444 = (ptr) &globalframe;
/* DebugSwitchBufferTRUE: */
SOURCE(1518, 56)
SOURCE(1552, 22)
(* (( (ptr) gf←c24444)+9)/* hasSwitchBuffer←v3392 */ ) = 1;
}
static void DebugSwitchBufferFALSE←P240()
{
register ptr gf←c24476 = (ptr) &globalframe;
/* DebugSwitchBufferFALSE: */
SOURCE(1577, 58)
SOURCE(1612, 23)
(* (( (ptr) gf←c24476)+9)/* hasSwitchBuffer←v3392 */ ) = 0;
}
static word AssertDevice←P300(b←v4652, context←v4680)
word b←v4652;
word context←v4680;
{
register ptr gf←c24508 = (ptr) &globalframe;
word var←c4724;
word iState←v7360;
word iData←v7388;
W3 worksState←v7416;
/* AssertDevice: */
SOURCE(1639, 636)
SOURCE(1724, 92)
{
word pd24;
pd24 = (* (( (ptr) (* (( (ptr) gf←c24508)+71)/* var←c23484 */ ))+14) );
iState←v7360 = (word) ( *( (fPt) ((* (ptr) pd24 ))))(context←v4680, pd24);
};
SOURCE(1818, 95)
iData←v7388 = XR←NewObject(12, (* (( (ptr) gf←c24508)+17) ));
(* (ptr) iData←v7388 ) = (* (ptr) iState←v7360 );
(* (( (ptr) iData←v7388)+2) ) = b←v4652;
SOURCE(1915, 62)
worksState←v7416 = (* (W3Pt) (( (ptr) (* (ptr) iState←v7360 ))+1) );
SOURCE(1979, 187)
{
word pd25;
pd25 = (* (( (ptr) (* (( (ptr) gf←c24508)+72)/* var←c23548 */ ))+4) );
(* (ptr) iState←v7360 ) = (word) ( *( (fPt) ((* (ptr) pd25 ))))( ( (0 != (* (( (ptr) gf←c24508)+9)/* hasSwitchBuffer←v3392 */ )) ? (* (
( (ptr) gf←c24508)+10)/* modifiedDeviceClass1←v4064 */ ) : (* (( (ptr) gf←c24508)+11)/* modifiedDeviceClass2←v4092 */ ) ) , (* (
( (ptr) (* (ptr) iState←v7360 ))+5) ), (* (( (ptr) (* (ptr) iState←v7360 ))+6) ), iData←v7388, pd25);
};
SOURCE(2168, 37)
(* (W3Pt) (( (ptr) (* (ptr) iState←v7360 ))+1) ) = worksState←v7416;
SOURCE(2207, 68)
{
word pd26;
pd26 = (* (( (ptr) (* (( (ptr) gf←c24508)+71)/* var←c23484 */ ))+15) );
return((word) ( *( (fPt) ((* (ptr) pd26 ))))(iState←v7360, context←v4680, pd26));
};
}
static word CreateContext←P360(bitmap←v4784, surfaceUnitsPerPixel←v4812)
word bitmap←v4784;
word surfaceUnitsPerPixel←v4812;
{
register ptr gf←c24540 = (ptr) &globalframe;
word context←v4856;
word bpp←v7460;
/* CreateContext: */
SOURCE(2281, 637)
SOURCE(2281, 637)
context←v4856 = 0;
SOURCE(2394, 74)
{
word map←v22460;
map←v22460 = (* (ptr) bitmap←v4784 );
bpp←v7460 = (* (( (ptr) map←v22460)+5) );
};
SOURCE(2470, 404)
if ((bpp←v7460 == 1)) {
SOURCE(2489, 218)
{
W2 var←c23644;
var←c23644.f0 = (* (ptr) &fc27 );
var←c23644.f1 = (* (ptr) &fc27 );
{
word pd28;
pd28 = (* (( (ptr) (* (( (ptr) gf←c24540)+73)/* var←c23676 */ ))+5) );
context←v4856 = (word) ( *( (fPt) ((* (ptr) pd28 ))))((* (W2Pt) (( (ptr) bitmap←v4784)+1) ), 13, var←c23644, surfaceUnitsPerPixel←v4812, 1, (* (
( (ptr) gf←c24540)+22) ), pd28);
};
};
SOURCE(2709, 66)
{
word pd29;
pd29 = (* (( (ptr) (* (( (ptr) gf←c24540)+73)/* var←c23676 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd29 ))))(context←v4856, (* (ptr) bitmap←v4784 ), pd29);
};
}
else {
SOURCE(2786, 88)
context←v4856 = (word) InternalCreateContext←P120((* (ptr) bitmap←v4784 ), surfaceUnitsPerPixel←v4812, (* (( (ptr) bitmap←v4784)+13)
));
};
SOURCE(2879, 39)
context←v4856 = (word) AssertDevice←P300(bitmap←v4784, context←v4856);
SOURCE(2281, 637)
return(context←v4856);
}
static void IPostIntercept←P480(iData←v5004, box←v5032)
word iData←v5004;
W4 box←v5032;
{
/* IPostIntercept: */
SOURCE(3177, 112)
SOURCE(3238, 51)
if ((0 == (* (( (ptr) iData←v5004)+1) ))) {
SOURCE(3262, 27)
{
word b←v22024;
W4 box←v22052;
word var←c23708;
W4 outer←v22364;
b←v22024 = (* (( (ptr) iData←v5004)+2) );
box←v22052 = box←v5032;
SOURCE(2979, 183)
outer←v22364 = (* (W4Pt) (( (ptr) b←v22024)+9) );
if ( ( ( ( (int)box←v22052.f0 >= (int)outer←v22364.f0) ? ( (int)box←v22052.f1 >= (int)outer←v22364.f1) : 0 ) ? ( (int)box←v22052.f2 <= (int)outer←v22364.f2) : 0 ) ) {
var←c23708 = (unsigned) ( (int)box←v22052.f3 <= (int)outer←v22364.f3);
}
else {
var←c23708 = (unsigned) 0;
};
if ((0 == var←c23708)) {
SOURCE(3035, 127)
{
register word postList←v7504;
postList←v7504 = (* (( (ptr) b←v22024)+7) );
lab←L100010: ;
if ((postList←v7504 != 0)) {
}
else {
goto lab←L100007;
};
SOURCE(3110, 52)
{
word pd30;
pd30 = (* (ptr) postList←v7504 );
(void) ( *( (fPt) ((* (ptr) pd30 ))))(box←v22052, (* (( (ptr) postList←v7504)+1) ), 0, pd30);
};
postList←v7504 = (* (( (ptr) postList←v7504)+2) );
goto lab←L100010;
lab←L100007: ;
};
};
};
};
}
static void IPreIntercept←P540(iData←v5092, box←v5120)
word iData←v5092;
W4 box←v5120;
{
/* IPreIntercept: */
SOURCE(3295, 211)
SOURCE(3355, 151)
if ((0 == (* (( (ptr) iData←v5092)+1) ))) {
SOURCE(3380, 126)
{
register word preList←v7532;
preList←v7532 = (* (( (ptr) (* (( (ptr) iData←v5092)+2) ))+8) );
lab←L100014: ;
if ((preList←v7532 != 0)) {
}
else {
goto lab←L100011;
};
SOURCE(3457, 49)
{
word pd31;
pd31 = (* (ptr) preList←v7532 );
(void) ( *( (fPt) ((* (ptr) pd31 ))))(box←v5120, (* (( (ptr) preList←v7532)+1) ), 1, pd31);
};
preList←v7532 = (* (( (ptr) preList←v7532)+2) );
goto lab←L100014;
lab←L100011: ;
};
};
}
static void ModifySetColor←P600(device←v5292, color←v5320, viewToDevice←v5348)
word device←v5292;
word color←v5320;
word viewToDevice←v5348;
{
register ptr gf←c24572 = (ptr) &globalframe;
word iData←v7576;
/* ModifySetColor: */
SOURCE(3645, 192)
SOURCE(3731, 42)
iData←v7576 = XR←Narrow((* (( (ptr) device←v5292)+7) ), (* (( (ptr) gf←c24572)+17) ));
SOURCE(3775, 62)
{
word pd32;
pd32 = (* (ptr) (* (( (ptr) (* (ptr) iData←v7576 ))+4) ) );
(void) ( *( (fPt) ((* (ptr) pd32 ))))((* (ptr) iData←v7576 ), color←v5320, viewToDevice←v5348, pd32);
};
}
static void ModifySetPriority←P660(device←v5408, priorityImportant←v5436)
word device←v5408;
word priorityImportant←v5436;
{
register ptr gf←c24604 = (ptr) &globalframe;
word iData←v7620;
/* ModifySetPriority: */
SOURCE(3843, 177)
SOURCE(3913, 42)
iData←v7620 = XR←Narrow((* (( (ptr) device←v5408)+7) ), (* (( (ptr) gf←c24604)+17) ));
SOURCE(3957, 63)
{
word pd33;
pd33 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v7620 ))+4) ))+1) );
(void) ( *( (fPt) ((* (ptr) pd33 ))))((* (ptr) iData←v7620 ), priorityImportant←v5436, pd33);
};
}
static void ModifySetHalftoneProperties←P720(device←v5496, halftoneProperties←v5524)
word device←v5496;
word halftoneProperties←v5524;
{
register ptr gf←c24636 = (ptr) &globalframe;
word iData←v7664;
/* ModifySetHalftoneProperties: */
SOURCE(4026, 288)
SOURCE(4133, 42)
iData←v7664 = XR←Narrow((* (( (ptr) device←v5496)+7) ), (* (( (ptr) gf←c24636)+17) ));
SOURCE(4177, 61)
if (((* (( (ptr) (* (( (ptr) (* (ptr) iData←v7664 ))+4) ))+2) ) == 0)) {
SOURCE(4232, 6)
return;
};
SOURCE(4240, 74)
{
word pd34;
pd34 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v7664 ))+4) ))+2) );
(void) ( *( (fPt) ((* (ptr) pd34 ))))((* (ptr) iData←v7664 ), halftoneProperties←v5524, pd34);
};
}
static void ModifyMaskBoxes←P780(device←v5584, bounds←v5612, boxes←v5640)
word device←v5584;
W4 bounds←v5612;
word boxes←v5640;
{
register ptr gf←c24668 = (ptr) &globalframe;
word iData←v7708;
/* ModifyMaskBoxes: */
SOURCE(4320, 215)
SOURCE(4403, 42)
iData←v7708 = XR←Narrow((* (( (ptr) device←v5584)+7) ), (* (( (ptr) gf←c24668)+17) ));
SOURCE(4447, 57)
{
word pd35;
pd35 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v7708 ))+4) ))+3) );
(void) ( *( (fPt) ((* (ptr) pd35 ))))((* (ptr) iData←v7708 ), bounds←v5612, boxes←v5640, pd35);
};
SOURCE(4506, 29)
(void) IPostIntercept←P480(iData←v7708, bounds←v5612);
}
static void ModifyMaskRegion←P840(device←v5700, bounds←v5728, edgeGenerator←v5756)
word device←v5700;
W4 bounds←v5728;
word edgeGenerator←v5756;
{
register ptr gf←c24700 = (ptr) &globalframe;
word iData←v7752;
/* ModifyMaskRegion: */
SOURCE(4541, 248)
SOURCE(4648, 42)
iData←v7752 = XR←Narrow((* (( (ptr) device←v5700)+7) ), (* (( (ptr) gf←c24700)+17) ));
SOURCE(4692, 66)
{
word pd36;
pd36 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v7752 ))+4) ))+4) );
(void) ( *( (fPt) ((* (ptr) pd36 ))))((* (ptr) iData←v7752 ), bounds←v5728, edgeGenerator←v5756, pd36);
};
SOURCE(4760, 29)
(void) IPostIntercept←P480(iData←v7752, bounds←v5728);
}
static void ModifyMaskBitmap←P900(device←v5876, bitmap←v5904, delta←v5932, bounds←v5960, boxes←v5988)
word device←v5876;
word bitmap←v5904;
W2 delta←v5932;
W4 bounds←v5960;
word boxes←v5988;
{
register ptr gf←c24732 = (ptr) &globalframe;
word iData←v7796;
/* ModifyMaskBitmap: */
SOURCE(4795, 266)
SOURCE(4913, 42)
iData←v7796 = XR←Narrow((* (( (ptr) device←v5876)+7) ), (* (( (ptr) gf←c24732)+17) ));
SOURCE(4957, 73)
{
word pd37;
pd37 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v7796 ))+4) ))+5) );
(void) ( *( (fPt) ((* (ptr) pd37 ))))((* (ptr) iData←v7796 ), bitmap←v5904, delta←v5932, bounds←v5960, boxes←v5988, pd37)
;
};
SOURCE(5032, 29)
(void) IPostIntercept←P480(iData←v7796, bounds←v5960);
}
static void ModifyMaskRawBitmaps←P960(device←v6048, list←v6076)
word device←v6048;
word list←v6076;
{
register ptr gf←c24764 = (ptr) &globalframe;
word iData←v7840;
/* ModifyMaskRawBitmaps: */
SOURCE(5067, 475)
SOURCE(5157, 42)
iData←v7840 = XR←Narrow((* (( (ptr) device←v6048)+7) ), (* (( (ptr) gf←c24764)+17) ));
SOURCE(5201, 53)
{
word pd38;
pd38 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v7840 ))+4) ))+7) );
(void) ( *( (fPt) ((* (ptr) pd38 ))))((* (ptr) iData←v7840 ), list←v6076, pd38);
};
SOURCE(5256, 286)
if ( ( (0 == (* (( (ptr) iData←v7840)+1) )) ? (list←v6076 != 0) : 0 ) ) {
SOURCE(5293, 251)
{
W4 bounds←v7884;
SOURCE(5295, 31)
bounds←v7884 = (* (W4Pt) list←v6076 );
SOURCE(5328, 16)
list←v6076 = (* (( (ptr) list←v6076)+7) );
SOURCE(5347, 152)
lab←L100017: ;
if ((list←v6076 != 0)) {
}
else {
goto lab←L100015;
};
SOURCE(5365, 57)
{
W2 var←c23740;
W2 v1←v22288;
W2 v2←v22316;
v1←v22288 = (* (W2Pt) &bounds←v7884 );
v2←v22316 = (* (W2Pt) list←v6076 );
if (( (int)v1←v22288.f0 <= (int)v2←v22316.f0)) {
var←c23740.f0 = v1←v22288.f0;
}
else {
var←c23740.f0 = v2←v22316.f0;
};
if (( (int)v1←v22288.f1 <= (int)v2←v22316.f1)) {
var←c23740.f1 = v1←v22288.f1;
}
else {
var←c23740.f1 = v2←v22316.f1;
};
(* (W2Pt) &bounds←v7884 ) = var←c23740;
};
SOURCE(5424, 57)
{
W2 var←c23804;
W2 v1←v22212;
W2 v2←v22240;
v1←v22212 = (* (W2Pt) (( (ptr) &bounds←v7884)+2) );
v2←v22240 = (* (W2Pt) (( (ptr) list←v6076)+2) );
if (( (int)v2←v22240.f0 >= (int)v1←v22212.f0)) {
var←c23804.f0 = v2←v22240.f0;
}
else {
var←c23804.f0 = v1←v22212.f0;
};
if (( (int)v2←v22240.f1 >= (int)v1←v22212.f1)) {
var←c23804.f1 = v2←v22240.f1;
}
else {
var←c23804.f1 = v1←v22212.f1;
};
(* (W2Pt) (( (ptr) &bounds←v7884)+2) ) = var←c23804;
};
SOURCE(5483, 16)
list←v6076 = (* (( (ptr) list←v6076)+7) );
goto lab←L100017;
lab←L100015: ;
SOURCE(5512, 30)
{
word b←v21904;
W4 box←v21932;
word var←c23868;
W4 outer←v22412;
b←v21904 = (* (( (ptr) iData←v7840)+2) );
box←v21932 = bounds←v7884;
SOURCE(2979, 183)
outer←v22412 = (* (W4Pt) (( (ptr) b←v21904)+9) );
if ( ( ( ( (int)box←v21932.f0 >= (int)outer←v22412.f0) ? ( (int)box←v21932.f1 >= (int)outer←v22412.f1) : 0 ) ? ( (int)box←v21932.f2 <= (int)outer←v22412.f2) : 0 ) ) {
var←c23868 = (unsigned) ( (int)box←v21932.f3 <= (int)outer←v22412.f3);
}
else {
var←c23868 = (unsigned) 0;
};
if ((0 == var←c23868)) {
SOURCE(3035, 127)
{
register word postList←v21980;
postList←v21980 = (* (( (ptr) b←v21904)+7) );
lab←L100024: ;
if ((postList←v21980 != 0)) {
}
else {
goto lab←L100021;
};
SOURCE(3110, 52)
{
word pd39;
pd39 = (* (ptr) postList←v21980 );
(void) ( *( (fPt) ((* (ptr) pd39 ))))(box←v21932, (* (( (ptr) postList←v21980)+1) ), 0, pd39);
};
postList←v21980 = (* (( (ptr) postList←v21980)+2) );
goto lab←L100024;
lab←L100021: ;
};
};
};
};
};
}
static void ModifyDrawBitmap←P1020(device←v6220, bitmap←v6248, delta←v6276, bounds←v6304, boxes←v6332)
word device←v6220;
word bitmap←v6248;
W2 delta←v6276;
W4 bounds←v6304;
word boxes←v6332;
{
register ptr gf←c24796 = (ptr) &globalframe;
word iData←v7928;
/* ModifyDrawBitmap: */
SOURCE(5551, 266)
SOURCE(5669, 42)
iData←v7928 = XR←Narrow((* (( (ptr) device←v6220)+7) ), (* (( (ptr) gf←c24796)+17) ));
SOURCE(5713, 73)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v7928 ))+4) ))+8) );
(void) ( *( (fPt) ((* (ptr) pd40 ))))((* (ptr) iData←v7928 ), bitmap←v6248, delta←v6276, bounds←v6304, boxes←v6332, pd40)
;
};
SOURCE(5788, 29)
(void) IPostIntercept←P480(iData←v7928, bounds←v6304);
}
static void ModifyMaskChar←P1080(device←v6392, delta←v6420, mask←v6448)
word device←v6392;
W2 delta←v6420;
word mask←v6448;
{
register ptr gf←c24828 = (ptr) &globalframe;
word iData←v7972;
/* ModifyMaskChar: */
SOURCE(5823, 230)
SOURCE(5896, 42)
iData←v7972 = XR←Narrow((* (( (ptr) device←v6392)+7) ), (* (( (ptr) gf←c24828)+17) ));
SOURCE(5940, 54)
{
word pd41;
pd41 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v7972 ))+4) ))+9) );
(void) ( *( (fPt) ((* (ptr) pd41 ))))((* (ptr) iData←v7972 ), delta←v6420, mask←v6448, pd41);
};
SOURCE(5996, 57)
{
W4 var←c23900;
{
W4 var←c23932;
W4 box←v22164;
box←v22164 = (* (W4Pt) (( (ptr) mask←v6448)+4) );
var←c23932.f0 = (box←v22164.f0 + delta←v6420.f0);
var←c23932.f1 = (box←v22164.f1 + delta←v6420.f1);
var←c23932.f2 = (box←v22164.f2 + delta←v6420.f0);
var←c23932.f3 = (box←v22164.f3 + delta←v6420.f1);
var←c23900 = var←c23932;
};
(void) IPostIntercept←P480(iData←v7972, var←c23900);
};
}
static void ModifyMoveBox←P1140(device←v6508, dstMin←v6536, srcMin←v6564, size←v6592)
word device←v6508;
W2 dstMin←v6536;
W2 srcMin←v6564;
W2 size←v6592;
{
register ptr gf←c24860 = (ptr) &globalframe;
word iData←v8016;
/* ModifyMoveBox: */
SOURCE(6059, 248)
SOURCE(6130, 42)
iData←v8016 = XR←Narrow((* (( (ptr) device←v6508)+7) ), (* (( (ptr) gf←c24860)+17) ));
SOURCE(6174, 62)
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v8016 ))+4) ))+10) );
(void) ( *( (fPt) ((* (ptr) pd42 ))))((* (ptr) iData←v8016 ), dstMin←v6536, srcMin←v6564, size←v6592, pd42);
};
SOURCE(6238, 69)
{
W4 var←c23996;
(* (W2Pt) &var←c23996 ) = dstMin←v6536;
var←c23996.f2 = (dstMin←v6536.f0 + size←v6592.f0);
var←c23996.f3 = (dstMin←v6536.f1 + size←v6592.f1);
(void) IPostIntercept←P480(iData←v8016, var←c23996);
};
}
static void ModifySwitchBuffer1←P1200(device←v6652, bounds←v6680, copy←v6708, alt←v6736)
word device←v6652;
W4 bounds←v6680;
word copy←v6708;
word alt←v6736;
{
register ptr gf←c24892 = (ptr) &globalframe;
word iData←v8060;
/* ModifySwitchBuffer1: */
SOURCE(6313, 269)
SOURCE(6399, 42)
iData←v8060 = XR←Narrow((* (( (ptr) device←v6652)+7) ), (* (( (ptr) gf←c24892)+17) ));
SOURCE(6443, 64)
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v8060 ))+4) ))+11) );
(void) ( *( (fPt) ((* (ptr) pd43 ))))((* (ptr) iData←v8060 ), bounds←v6680, copy←v6708, alt←v6736, pd43);
};
SOURCE(6509, 20)
(* (( (ptr) iData←v8060)+1) ) = alt←v6736;
SOURCE(6531, 51)
if ( ( (0 == alt←v6736) ? (0 != copy←v6708) : 0 ) ) {
SOURCE(6553, 29)
(void) IPostIntercept←P480(iData←v8060, bounds←v6680);
};
}
static void ModifySwitchBuffer2←P1260(device←v6796, bounds←v6824, copy←v6852, alt←v6880)
word device←v6796;
W4 bounds←v6824;
word copy←v6852;
word alt←v6880;
{
register ptr gf←c24924 = (ptr) &globalframe;
word iData←v8104;
/* ModifySwitchBuffer2: */
SOURCE(6590, 203)
SOURCE(6676, 42)
iData←v8104 = XR←Narrow((* (( (ptr) device←v6796)+7) ), (* (( (ptr) gf←c24924)+17) ));
SOURCE(6720, 20)
(* (( (ptr) iData←v8104)+1) ) = alt←v6880;
SOURCE(6742, 51)
if ( ( (0 == alt←v6880) ? (0 != copy←v6852) : 0 ) ) {
SOURCE(6764, 29)
(void) IPostIntercept←P480(iData←v8104, bounds←v6824);
};
}
static word ModifyGetBufferColorOperator←P1320(device←v6940)
word device←v6940;
{
register ptr gf←c24956 = (ptr) &globalframe;
word var←c6984;
word iData←v8148;
/* ModifyGetBufferColorOperator: */
SOURCE(6801, 265)
SOURCE(6893, 42)
iData←v8148 = XR←Narrow((* (( (ptr) device←v6940)+7) ), (* (( (ptr) gf←c24956)+17) ));
SOURCE(6937, 68)
if (((* (( (ptr) (* (( (ptr) (* (ptr) iData←v8148 ))+4) ))+12) ) == 0)) {
SOURCE(6993, 12)
return(0);
};
SOURCE(7007, 59)
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v8148 ))+4) ))+12) );
return((word) ( *( (fPt) ((* (ptr) pd44 ))))(device←v6940, pd44));
};
}
static void ModifyAccessBuffer←P1380(device←v7044, box←v7072, action←v7100)
word device←v7044;
W4 box←v7072;
word action←v7100;
{
register ptr gf←c24988 = (ptr) &globalframe;
word iData←v8192;
/* ModifyAccessBuffer: */
SOURCE(7070, 251)
SOURCE(7164, 42)
iData←v8192 = XR←Narrow((* (( (ptr) device←v7044)+7) ), (* (( (ptr) gf←c24988)+17) ));
SOURCE(7208, 25)
(void) IPreIntercept←P540(iData←v8192, box←v7072);
SOURCE(7235, 58)
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) (* (ptr) iData←v8192 ))+4) ))+13) );
(void) ( *( (fPt) ((* (ptr) pd45 ))))((* (ptr) iData←v8192 ), box←v7072, action←v7100, pd45);
};
SOURCE(7295, 26)
(void) IPostIntercept←P480(iData←v8192, box←v7072);
}
static word DitherContextCreator←P1440(sm←v15988, surfaceUnitsPerPixel←v16016, extras←v16044)
word sm←v15988;
word surfaceUnitsPerPixel←v16016;
word extras←v16044;
{
register ptr gf←c25020 = (ptr) &globalframe;
word context←v16088;
/* DitherContextCreator: */
SOURCE(8359, 426)
SOURCE(8359, 426)
context←v16088 = 0;
SOURCE(8400, 189)
{
W2 var←c24060;
{
W2 var←c24092;
word map←v22116;
map←v22116 = sm←v15988;
{
W4 b←v21284;
b←v21284 = (* (W4Pt) map←v22116 );
var←c24092.f0 = (b←v21284.f2 - b←v21284.f0);
var←c24092.f1 = (b←v21284.f3 - b←v21284.f1);
};
var←c24060 = var←c24092;
};
{
W2 var←c24156;
var←c24156.f0 = (* (ptr) &fc27 );
var←c24156.f1 = (* (ptr) &fc27 );
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c25020)+74)/* var←c24188 */ ))+5) );
context←v16088 = (word) ( *( (fPt) ((* (ptr) pd46 ))))(var←c24060, 13, var←c24156, 1, (* (( (ptr) gf←c25020)+22) ), pd46)
;
};
};
};
SOURCE(8591, 112)
{
word var←c24220;
var←c24220 = extras←v16044;
if ((var←c24220 == 0)) {
goto lab←L100027;
};
if (((* (( (ptr) gf←c25020)+20) ) == XR←GetReferentType(var←c24220))) {
{
word entries←v8236;
entries←v8236 = var←c24220;
SOURCE(8653, 50)
{
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c25020)+74)/* var←c24188 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd47 ))))(context←v16088, entries←v8236, pd47);
};
};
}
else {
lab←L100027: ;
};
};
SOURCE(8720, 65)
{
word pd48;
pd48 = (* (( (ptr) (* (( (ptr) gf←c25020)+74)/* var←c24188 */ ))+6) );
(void) ( *( (fPt) ((* (ptr) pd48 ))))(context←v16088, sm←v15988, pd48);
};
SOURCE(8359, 426)
return(context←v16088);
}
/* file: XlBitmapImagerImpl, module: XlBitmapImagerImpl, compiled at: August 19, 1993 12:22:31 pm PDT */
extern void XR←install←XlBitmapImagerImpl() {
NoName←Q2688();
}
extern void XR←run←XlBitmapImagerImpl() { XR←Start(&globalframe); }