/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 11, 1993 8:21:54 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGScrollMonitorImpl, module: GGScrollMonitorImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1183379305,1569537282] GGScrollMonitorImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
static float fc11 = 1.0;
static void NoName←Q180();
static void GGScrollMonitorImpl←P0();
static void UpdateBiScrollersTransformAndClearDue←P60();
static void ConcatToDue←P120();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\106\210\357\151\300\135\215\075\002\100\164\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\206\055\004\241\300\261\334\001\116\100\150\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\150\000\000"};
static struct {unsigned f; char r[28];} string5 = {1638428, "\211\015\014\105\155\142\145\144\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\036\073\304\257\300\266\014\226\240\100\164\000\000"};
static struct {unsigned f; char r[4];} string7 = {131074, "\004,\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\374\307\072\057\300\106\155\175\271\100\150\000\000"};
static struct {
   word f0[9]; word f9; word f10; word f11; 
   word f12; word f13; word f14[5]; 
   } globalframe = {
   {0}, (word) ConcatToDue←P120, 0, (word) UpdateBiScrollersTransformAndClearDue←P60, 
   0, (word) GGScrollMonitorImpl←P0, {0}
   };

static void NoName←Q180()
   {
   register ptr gf←c016 =  (ptr) &globalframe;
   word var←c5452;
   (void) XR←DeclareGlobalFrame((word) "GGScrollMonitorImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (
         ( (bPt) gf←c016)+52)/* var←c5356 */ );
   var←c5452 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string2)), 55);
   (* (( (ptr) gf←c016)+16)/* var←c5420 */  ) = var←c5452;
   (void) XR←ImportProcS(var←c5452, 67635458);
   (void) XR←ImportProcS(var←c5452, 67371777);
   var←c5452 = (word) XR←ImportInterface((word) "GGState", (word) XR←GetTypeIndexS((word) (&string3)), 119);
   (* (( (ptr) gf←c016)+15)/* var←c5388 */  ) = var←c5452;
   (void) XR←ImportProcS(var←c5452, 1051140);
   var←c5452 = (word) XR←ExportInterface((word) "GGInterfaceTypes", (word) XR←GetTypeIndexS((word) (&string4)), 6);
   (* (( (ptr) gf←c016)+17)/* var←c5484 */  ) = var←c5452;
   (void) XR←ExportType((word) "EmbedDataObj", (word) XR←GetTypeIndexS((word) (&string5)), (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7)
      );
   var←c5452 = (word) XR←ExportInterface((word) "GGScrollMonitor", (word) XR←GetTypeIndexS((word) (&string8)), 2);
   (* (( (ptr) gf←c016)+18)/* var←c5516 */  ) = var←c5452;
   (void) XR←ExportProcS(var←c5452, (word) (( (bPt) gf←c016)+44)/* var←c5324 */ , 262145, (word) "UpdateBiScrollersTransformAndClearDue")
   ;
   (void) XR←ExportProcS(var←c5452, (word) (( (bPt) gf←c016)+36)/* var←c5292 */ , 524546, (word) "ConcatToDue");
   }

static void GGScrollMonitorImpl←P0(formal←c012, formal←c011)
   word formal←c012;
   word formal←c011;
   {
   /* GGScrollMonitorImpl: */ 
   }

static void UpdateBiScrollersTransformAndClearDue←P60(ggData←v2800)
   word ggData←v2800;
   {
   register ptr gf←c5548 =  (ptr) &globalframe;
   /* UpdateBiScrollersTransformAndClearDue: */ 
SOURCE(404, 208)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c5548)+16)/* LOCK←v2580 */ ));
SOURCE(482, 72)
   {
      word pd9;
      pd9 = (* (( (ptr) (* (( (ptr) gf←c5548)+15)/* var←c5388 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd9 ))))(ggData←v2800, (* (( (ptr) (* (( (ptr) ggData←v2800)+2) ))+5) ), 0, 1, pd9);
      };
SOURCE(556, 56)
   {
      word pd10;
      pd10 = (* (( (ptr) (* (( (ptr) gf←c5548)+16)/* var←c5420 */  ))+7) );
      (* (( (ptr) (* (( (ptr) ggData←v2800)+2) ))+5) ) = (word) ( *( (fPt) ((*  (ptr) pd10 ))))((*  (ptr) (&fc11) ), pd10);
      };
SOURCE(404, 208)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c5548)+16)/* LOCK←v2580 */ ));
   return;
   }

static void ConcatToDue←P120(ggData←v2860, m←v2888)
   word ggData←v2860;
   word m←v2888;
   {
   register ptr gf←c5580 =  (ptr) &globalframe;
   /* ConcatToDue: */ 
SOURCE(618, 128)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c5580)+16)/* LOCK←v2580 */ ));
SOURCE(689, 57)
   {
      word pd12;
      pd12 = (* (( (ptr) (* (( (ptr) gf←c5580)+16)/* var←c5420 */  ))+13) );
      (* (( (ptr) (* (( (ptr) ggData←v2860)+2) ))+5) ) = (word) ( *( (fPt) ((*  (ptr) pd12 ))))((* (( (ptr) (* (( (ptr) ggData←v2860)+2)
             ))+5) ), m←v2888, pd12);
      };
SOURCE(618, 128)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c5580)+16)/* LOCK←v2580 */ ));
   return;
   }

/* file: GGScrollMonitorImpl, module: GGScrollMonitorImpl, compiled at: July 11, 1993 8:21:54 pm PDT */ 
extern void XR←install←GGScrollMonitorImpl() {
   NoName←Q180();
   }
extern void XR←run←GGScrollMonitorImpl() { XR←Start(&globalframe); }