home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / java2d / pipe / SpanClipRenderer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.6 KB  |  101 lines

  1. package sun.java2d.pipe;
  2.  
  3. import java.awt.Rectangle;
  4. import java.awt.Shape;
  5. import sun.java2d.SunGraphics2D;
  6.  
  7. public class SpanClipRenderer implements CompositePipe {
  8.    CompositePipe outpipe;
  9.    Region region;
  10.    static Class RegionClass;
  11.    static Class RegionIteratorClass;
  12.    // $FF: synthetic field
  13.    static Class class$sun$java2d$pipe$Region;
  14.    // $FF: synthetic field
  15.    static Class class$sun$java2d$pipe$RegionIterator;
  16.  
  17.    static native void initIDs(Class var0, Class var1);
  18.  
  19.    public SpanClipRenderer(CompositePipe var1, Region var2) {
  20.       this.outpipe = var1;
  21.       this.region = var2;
  22.    }
  23.  
  24.    public Object startSequence(SunGraphics2D var1, Shape var2, Rectangle var3, int[] var4) {
  25.       RegionIterator var5 = this.region.getIterator();
  26.       return new SCRcontext(this, var5, this.outpipe.startSequence(var1, var2, var3, var4));
  27.    }
  28.  
  29.    public boolean needTile(Object var1, int var2, int var3, int var4, int var5) {
  30.       SCRcontext var6 = (SCRcontext)var1;
  31.       return this.outpipe.needTile(var6.outcontext, var2, var3, var4, var5);
  32.    }
  33.  
  34.    public void renderPathTile(Object var1, byte[] var2, int var3, int var4, int var5, int var6, int var7, int var8, ShapeSpanIterator var9) {
  35.       this.renderPathTile(var1, var2, var3, var4, var5, var6, var7, var8);
  36.    }
  37.  
  38.    public void renderPathTile(Object var1, byte[] var2, int var3, int var4, int var5, int var6, int var7, int var8) {
  39.       SCRcontext var9 = (SCRcontext)var1;
  40.       RegionIterator var10 = var9.iterator.createCopy();
  41.       int[] var11 = var9.band;
  42.       var11[0] = var5;
  43.       var11[1] = var6;
  44.       var11[2] = var5 + var7;
  45.       var11[3] = var6 + var8;
  46.       if (var2 == null) {
  47.          int var12 = var7 * var8;
  48.          var2 = var9.tile;
  49.          if (var2 != null && var2.length < var12) {
  50.             var2 = null;
  51.          }
  52.  
  53.          if (var2 == null) {
  54.             var2 = new byte[var12];
  55.             var9.tile = var2;
  56.          }
  57.  
  58.          var3 = 0;
  59.          var4 = var7;
  60.          this.fillTile(var10, var2, var3, var7, var11);
  61.       } else {
  62.          this.eraseTile(var10, var2, var3, var4, var11);
  63.       }
  64.  
  65.       if (var11[2] > var11[0] && var11[3] > var11[1]) {
  66.          var3 += (var11[1] - var6) * var4 + (var11[0] - var5);
  67.          this.outpipe.renderPathTile(var9.outcontext, var2, var3, var4, var11[0], var11[1], var11[2] - var11[0], var11[3] - var11[1]);
  68.       }
  69.  
  70.    }
  71.  
  72.    public native void fillTile(RegionIterator var1, byte[] var2, int var3, int var4, int[] var5);
  73.  
  74.    public native void eraseTile(RegionIterator var1, byte[] var2, int var3, int var4, int[] var5);
  75.  
  76.    public void skipTile(Object var1, int var2, int var3) {
  77.       SCRcontext var4 = (SCRcontext)var1;
  78.       this.outpipe.skipTile(var4.outcontext, var2, var3);
  79.    }
  80.  
  81.    public void endSequence(Object var1) {
  82.       SCRcontext var2 = (SCRcontext)var1;
  83.       this.outpipe.endSequence(var2.outcontext);
  84.    }
  85.  
  86.    // $FF: synthetic method
  87.    static Class class$(String var0) {
  88.       try {
  89.          return Class.forName(var0);
  90.       } catch (ClassNotFoundException var2) {
  91.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  92.       }
  93.    }
  94.  
  95.    static {
  96.       RegionClass = class$sun$java2d$pipe$Region == null ? (class$sun$java2d$pipe$Region = class$("sun.java2d.pipe.Region")) : class$sun$java2d$pipe$Region;
  97.       RegionIteratorClass = class$sun$java2d$pipe$RegionIterator == null ? (class$sun$java2d$pipe$RegionIterator = class$("sun.java2d.pipe.RegionIterator")) : class$sun$java2d$pipe$RegionIterator;
  98.       initIDs(RegionClass, RegionIteratorClass);
  99.    }
  100. }
  101.