home *** CD-ROM | disk | FTP | other *** search
/ RISC User... in a Nutshell / RISC User... in a Nutshell.iso / !Nutshell / !OvnPro / Applets / !ColSupp / Library / !PSCode < prev   
Encoding:
Text File  |  1998-07-26  |  1.8 KB  |  120 lines

  1. //->!PSCode
  2.  
  3.  
  4. int csprtype;
  5. int csdoscreen;
  6.  
  7.  
  8. void csoutputspot(void)
  9. {
  10.  prprints("/Dot{180 mul cos exch 180 mul cos add 2 div}def\n");
  11.  prprints("/Line{pop abs}def\n");
  12.  prprints("/Square{abs exch abs 2 copy gt{exch}if pop}def\n");
  13.  prprints("/Ellipse{dup 5 mul 8 div mul exch dup mul add 1 exch sub}def\n");
  14.  prprints("/Circle{dup mul exch dup mul add 1 exch sub}def\n");
  15. }
  16.  
  17.  
  18.  
  19. void cscopiesevent(int user,int view)
  20. {
  21.  string s;
  22.  
  23.  if(csprtype==0)
  24.  {
  25.   if(csdoscreen)
  26.   {
  27. // csdoscreen=0;
  28.    if(csreadpsscreen())
  29.    {
  30.     prprints(itos(csreadfrequency()));
  31.     prprints(" ");
  32.     prprints(itos(csreadangle()/0x10000));
  33.     csspotname(csreadspot(),s);
  34.     prprints(" {"+s+"} setscreen\n");
  35.    }
  36.    else
  37.    if(csreadseps())
  38.    {
  39.     prprints("45 currentscreen exch pop 3 -1 roll exch setscreen\n");
  40.    }
  41.  
  42.    if(csreadseps())
  43.    {
  44.     csreadcolour(s);
  45.     prprints("%%PlateColor: "+s+"\n");
  46.    }
  47.   }
  48.  }
  49. }
  50.  
  51.  
  52.  
  53. void csstartpic(int user,int view)
  54. {
  55.  string s;
  56.  
  57.  if(csprtype==0)
  58.  {
  59.   if(csreadpxpsscreen())
  60.   {
  61.  
  62.    prprints("GS\n");
  63.    prprints(itos(csreadpxfrequency()));
  64.    prprints(" ");
  65.    prprints(itos(csreadpxangle()/0x10000));
  66.    csspotname(csreadpxspot(),s);
  67.    prprints(" {"+s+"} setscreen\n");
  68.   }
  69.  }
  70. }
  71.  
  72.  
  73.  
  74. void csendpic(int user,int view)
  75. {
  76.  if(csprtype==0)
  77.  {
  78.   if(csreadpxpsscreen())
  79.   {
  80.  
  81.    prprints("GR\n");
  82.   }
  83.  }
  84. }
  85.  
  86.  
  87.  
  88.  
  89. void csstartseparation(int user,int view)
  90. {
  91.  csdoscreen=1;
  92. }
  93.  
  94.  
  95. void csstartevent(int user,int view)
  96. {
  97.  string name;
  98.  
  99.  csprtype=(prinfo(name)>>16) & 0xFFFF;
  100.  csdoscreen=1;
  101. }
  102.  
  103.  
  104. void csprcache0(int user,int view)
  105. {
  106.  if(csprtype==0) csoutputspot();     
  107. }
  108.  
  109.  
  110.  
  111. void main(void)
  112. {
  113.  addeventhandler(0x110,0,"cscopiesevent");
  114.  addeventhandler(0x10c,0,"csstartevent");
  115.  addeventhandler(0x111,0,"csstartseparation");
  116.  addeventhandler(0x10e,0,"csprcache0");
  117.  addeventhandler(0x11b,0,"csstartpic");
  118.  addeventhandler(0x11c,0,"csendpic");
  119. }
  120.