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 / SunOutputManager.class (.txt) < prev   
Encoding:
Java Class File  |  1979-12-31  |  3.7 KB  |  163 lines

  1. package sun.java2d;
  2.  
  3. import java.awt.AlphaComposite;
  4. import java.awt.BasicStroke;
  5. import java.awt.Color;
  6. import java.awt.Font;
  7. import java.awt.image.BufferedImage;
  8. import java.awt.image.ColorModel;
  9. import java.awt.image.Raster;
  10. import sun.java2d.pipe.AlphaColorPipe;
  11. import sun.java2d.pipe.AlphaPaintPipe;
  12. import sun.java2d.pipe.CompositePipe;
  13. import sun.java2d.pipe.DrawToFillConverter;
  14. import sun.java2d.pipe.DuctusShapeRenderer;
  15. import sun.java2d.pipe.GeneralCompositePipe;
  16. import sun.java2d.pipe.LineStylePipe;
  17. import sun.java2d.pipe.PixelDrawPipe;
  18. import sun.java2d.pipe.PixelFillPipe;
  19. import sun.java2d.pipe.PixelToShapeConverter;
  20. import sun.java2d.pipe.ShapeDrawPipe;
  21. import sun.java2d.pipe.ShapeToPolyConverter;
  22. import sun.java2d.pipe.SimpleRenderPipe;
  23. import sun.java2d.pipe.SpanClipRenderer;
  24. import sun.java2d.pipe.TranslateablePipe;
  25.  
  26. public abstract class SunOutputManager implements OutputManager {
  27.    private static CompositePipe generalpipe = new GeneralCompositePipe();
  28.    private static CompositePipe paintpipe = new AlphaPaintPipe();
  29.    static final int NON_UNIFORM_SCALE_MASK = 36;
  30.  
  31.    public void validatePipe(SunGraphics2D var1) {
  32.       constructAlphaPipe(var1);
  33.       constructGenericPipe(var1);
  34.    }
  35.  
  36.    public Object renderImage(SunGraphics2D var1, BufferedImage var2, Color var3, int var4, int var5, int var6, int var7, byte[] var8, int var9, Object var10) {
  37.       (new Exception()).printStackTrace();
  38.       return null;
  39.    }
  40.  
  41.    public void drawString(SunGraphics2D var1, int var2, String var3, float var4, float var5, float var6, float[] var7, Font var8, boolean var9, boolean var10) {
  42.       throw new NoSuchMethodError("must be implemented in child class");
  43.    }
  44.  
  45.    public static void constructAlphaPipe(SunGraphics2D var0) {
  46.       Object var1;
  47.       if (var0.compositeState == 3) {
  48.          var1 = generalpipe;
  49.       } else if (var0.paintState == 2) {
  50.          var1 = paintpipe;
  51.       } else {
  52.          var1 = var0.getOutputManager().getColorPipe();
  53.          if (var1 == null) {
  54.             var1 = paintpipe;
  55.          }
  56.       }
  57.  
  58.       var0.alphapipe = (CompositePipe)var1;
  59.    }
  60.  
  61.    public static void constructGenericPipe(SunGraphics2D var0) {
  62.       Object var1 = var0.alphapipe;
  63.       if (var0.clipState == 2) {
  64.          var0.getCompBounds();
  65.          var1 = new SpanClipRenderer((CompositePipe)var1, var0.clipRegion);
  66.       }
  67.  
  68.       DuctusShapeRenderer var4 = new DuctusShapeRenderer((CompositePipe)var1);
  69.       PixelToShapeConverter var5 = new PixelToShapeConverter(var4);
  70.       var0.drawpipe = var5;
  71.       var0.fillpipe = var5;
  72.       var0.shapepipe = var4;
  73.    }
  74.  
  75.    public static void constructAliasedPipe(SunGraphics2D var0, SimpleRenderPipe var1) {
  76.       boolean var5;
  77.       if (var1 instanceof TranslateablePipe) {
  78.          var5 = var0.transformState == 2;
  79.          int var6;
  80.          int var7;
  81.          if (var0.transformState == 1) {
  82.             var6 = var0.transX;
  83.             var7 = var0.transY;
  84.          } else {
  85.             var7 = 0;
  86.             var6 = 0;
  87.          }
  88.  
  89.          ((TranslateablePipe)var1).setOrigin(var6, var7);
  90.       } else {
  91.          var5 = var0.transformState != 0;
  92.       }
  93.  
  94.       Object var4;
  95.       if (var1 instanceof ShapeDrawPipe) {
  96.          var4 = (ShapeDrawPipe)var1;
  97.       } else {
  98.          var4 = new ShapeToPolyConverter(var1, var5);
  99.       }
  100.  
  101.       Object var3;
  102.       if (!var5 && var1 instanceof PixelFillPipe) {
  103.          var3 = (PixelFillPipe)var1;
  104.       } else {
  105.          var3 = new PixelToShapeConverter((ShapeDrawPipe)var4);
  106.       }
  107.  
  108.       boolean var13;
  109.       boolean var14;
  110.       if (!(var0.stroke instanceof BasicStroke)) {
  111.          var14 = true;
  112.          var13 = true;
  113.       } else {
  114.          boolean var8;
  115.          if ((var0.transform.getType() & 36) != 0) {
  116.             var8 = false;
  117.          } else {
  118.             BasicStroke var9 = (BasicStroke)var0.stroke;
  119.             float var10 = (float)Math.sqrt(Math.abs(var0.transform.getDeterminant()));
  120.             float var11 = var9.getLineWidth();
  121.             float[] var12 = var9.getDashArray();
  122.             if (var1 instanceof LineStylePipe) {
  123.                var8 = true;
  124.                ((LineStylePipe)var1).setLineAttrs(var10, var11, var12, var9.getDashPhase(), var9.getEndCap(), var9.getLineJoin());
  125.             } else {
  126.                var8 = var10 * var11 <= 1.0F && var12 == null;
  127.             }
  128.          }
  129.  
  130.          var13 = !var8 || var5;
  131.          if (var1 instanceof ShapeDrawPipe) {
  132.             var14 = false;
  133.             if (var8) {
  134.                var4 = new ShapeToPolyConverter(var1, (ShapeDrawPipe)var4, var5);
  135.             }
  136.          } else {
  137.             var14 = !var8;
  138.          }
  139.       }
  140.  
  141.       if (var14) {
  142.          var4 = new DrawToFillConverter(var1, (ShapeDrawPipe)var4, true);
  143.       }
  144.  
  145.       Object var2;
  146.       if (!var13 && var1 instanceof PixelDrawPipe) {
  147.          var2 = (PixelDrawPipe)var1;
  148.       } else {
  149.          var2 = new PixelToShapeConverter((ShapeDrawPipe)var4);
  150.       }
  151.  
  152.       var0.drawpipe = (PixelDrawPipe)var2;
  153.       var0.fillpipe = (PixelFillPipe)var3;
  154.       var0.shapepipe = (ShapeDrawPipe)var4;
  155.    }
  156.  
  157.    public abstract AlphaColorPipe getColorPipe();
  158.  
  159.    public abstract ColorModel getPreferredModel(ColorModel var1, Raster var2, AlphaComposite var3, Color var4, boolean var5);
  160.  
  161.    public abstract Object copyArea(SunGraphics2D var1, byte[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, Object var11);
  162. }
  163.