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 / awt / windows / WGraphics.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  11.4 KB  |  608 lines

  1. package sun.awt.windows;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Dimension;
  6. import java.awt.Font;
  7. import java.awt.FontMetrics;
  8. import java.awt.GraphicsConfiguration;
  9. import java.awt.Image;
  10. import java.awt.Insets;
  11. import java.awt.Paint;
  12. import java.awt.Polygon;
  13. import java.awt.Rectangle;
  14. import java.awt.font.GlyphVector;
  15. import java.awt.geom.AffineTransform;
  16. import java.awt.image.BufferedImage;
  17. import java.awt.image.ColorModel;
  18. import java.awt.image.ImageObserver;
  19. import java.security.AccessController;
  20. import sun.awt.DebugHelper;
  21. import sun.awt.image.ImageRepresentation;
  22. import sun.java2d.DeviceClipping;
  23. import sun.java2d.OutputManager;
  24. import sun.java2d.SunGraphics2D;
  25. import sun.java2d.loops.ImageData;
  26. import sun.java2d.loops.RasterOutputManager;
  27. import sun.java2d.pipe.PixelDrawPipe;
  28. import sun.java2d.pipe.PixelFillPipe;
  29. import sun.java2d.pipe.SimpleRenderPipe;
  30. import sun.java2d.pipe.SpanIterator;
  31. import sun.java2d.pipe.TextPipe;
  32. import sun.java2d.pipe.TranslateablePipe;
  33. import sun.security.action.GetPropertyAction;
  34.  
  35. public class WGraphics extends SunGraphics2D implements PixelDrawPipe, PixelFillPipe, TranslateablePipe, SimpleRenderPipe, TextPipe, DeviceClipping {
  36.    private static final DebugHelper dbg;
  37.    static String myDevID;
  38.    int pData;
  39.    WComponentPeer peer;
  40.    private ImageData cachedID;
  41.    private Throwable constructionStackTrace;
  42.    private int serialNum = -1;
  43.    private boolean disposed = false;
  44.    // $FF: synthetic field
  45.    static Class class$sun$awt$windows$WGraphics;
  46.  
  47.    private synchronized native void createFromComponent(WComponentPeer var1);
  48.  
  49.    private synchronized native void createFromGraphics(WGraphics var1);
  50.  
  51.    private synchronized native void createFromPrintJob(WPrintControl var1, WPrintJob var2);
  52.  
  53.    private synchronized native void createFromHDC(int var1);
  54.  
  55.    private native void pSetFont(Font var1);
  56.  
  57.    private native void pSetForeground(int var1);
  58.  
  59.    native void setForPrinting(boolean var1);
  60.  
  61.    WGraphics(WPrintControl var1, WPrintJob var2) {
  62.       this.createFromPrintJob(var1, var2);
  63.       Dimension var3 = var2.getPageDimension();
  64.       ((SunGraphics2D)this).setDevClip(0, 0, var3.width, var3.height);
  65.    }
  66.  
  67.    WGraphics(WComponentPeer var1) {
  68.       this.createFromComponent(var1);
  69.       this.peer = var1;
  70.       Component var2 = (Component)var1.target;
  71.       super.backgroundColor = var2.getBackground();
  72.       Dimension var3 = var2.getSize();
  73.       ((SunGraphics2D)this).setDevClip(0, 0, var3.width, var3.height);
  74.       if (this.peer instanceof WPanelPeer) {
  75.          Insets var4 = ((WPanelPeer)this.peer).getInsets();
  76.          ((SunGraphics2D)this).translate(-var4.left, -var4.top);
  77.          super.constrainX = -var4.left;
  78.          super.constrainY = -var4.top;
  79.       }
  80.  
  81.       this.serialNum = var1.serialNum;
  82.    }
  83.  
  84.    private native void getVisBounds(int var1, Rectangle var2);
  85.  
  86.    WGraphics(int var1) {
  87.       this.createFromHDC(var1);
  88.       Rectangle var2 = new Rectangle();
  89.       this.getVisBounds(var1, var2);
  90.       ((SunGraphics2D)this).setDevClip(var2.x, var2.y, var2.width, var2.height);
  91.    }
  92.  
  93.    public Object clone() {
  94.       if (this.peer != null && this.peer.isDisposed()) {
  95.          return null;
  96.       } else {
  97.          WGraphics var1 = (WGraphics)super.clone();
  98.          var1.pData = 0;
  99.          var1.createFromGraphics(this);
  100.          return var1;
  101.       }
  102.    }
  103.  
  104.    public ColorModel getDeviceColorModel() {
  105.       return this.peer != null ? this.peer.getColorModel() : WToolkit.config.getColorModel();
  106.    }
  107.  
  108.    public void validatePipe() {
  109.       RasterOutputManager.getManager().validatePipe(this);
  110.    }
  111.  
  112.    public Rectangle getCompBounds() {
  113.       if (this.peer != null && this.serialNum != this.peer.serialNum) {
  114.          Dimension var1 = ((Component)this.peer.target).getSize();
  115.          ((SunGraphics2D)this).setDevClip(0, 0, var1.width, var1.height);
  116.          this.serialNum = this.peer.serialNum;
  117.       }
  118.  
  119.       return super.getCompBounds();
  120.    }
  121.  
  122.    public native void setOrigin(int var1, int var2);
  123.  
  124.    public GraphicsConfiguration getDeviceConfiguration() {
  125.       if (this.peer != null) {
  126.          GraphicsConfiguration var1 = this.peer.getGraphicsConfiguration();
  127.          if (var1 != null) {
  128.             return var1;
  129.          }
  130.       }
  131.  
  132.       return WToolkit.config;
  133.    }
  134.  
  135.    public OutputManager getOutputManager() {
  136.       return RasterOutputManager.getManager();
  137.    }
  138.  
  139.    protected native void disposeImpl();
  140.  
  141.    public final void dispose() {
  142.       boolean var1 = false;
  143.       if (!this.disposed) {
  144.          synchronized(this) {
  145.             if (!this.disposed) {
  146.                var1 = true;
  147.                this.disposed = true;
  148.             }
  149.          }
  150.       }
  151.  
  152.       if (var1) {
  153.          this.disposeImpl();
  154.       }
  155.  
  156.    }
  157.  
  158.    public void finalize() {
  159.       this.dispose();
  160.    }
  161.  
  162.    public void setFont(Font var1) {
  163.       if (var1 != null && super.font != var1) {
  164.          super.setFont(var1);
  165.          this.pSetFont(var1);
  166.       }
  167.  
  168.    }
  169.  
  170.    public Font getFont() {
  171.       if (super.font == null) {
  172.          this.setFont(new Font("Dialog", 0, 12));
  173.       }
  174.  
  175.       return super.font;
  176.    }
  177.  
  178.    public FontMetrics getFontMetrics(Font var1) {
  179.       if (super.textpipe == SunGraphics2D.invalidpipe) {
  180.          this.validatePipe();
  181.       }
  182.  
  183.       return super.textpipe == this ? WFontMetrics.getFontMetrics(var1) : super.getFontMetrics(var1);
  184.    }
  185.  
  186.    public void setColor(Color var1) {
  187.       if (var1 != null) {
  188.          super.setColor(var1);
  189.          this.pSetForeground(var1.getRGB());
  190.       }
  191.  
  192.    }
  193.  
  194.    public void setPaint(Paint var1) {
  195.       super.setPaint(var1);
  196.       if (var1 instanceof Color) {
  197.          this.pSetForeground(((Color)var1).getRGB());
  198.       }
  199.  
  200.    }
  201.  
  202.    public native void pSetPaintMode();
  203.  
  204.    public void setPaintMode() {
  205.       super.setPaintMode();
  206.       this.pSetPaintMode();
  207.    }
  208.  
  209.    public native void pSetXORMode(Color var1);
  210.  
  211.    public void setXORMode(Color var1) {
  212.       super.setXORMode(var1);
  213.       this.pSetXORMode(var1);
  214.    }
  215.  
  216.    public native void changeClip(int var1, int var2, int var3, int var4, boolean var5);
  217.  
  218.    public native void removeClip();
  219.  
  220.    public native void devClearRect(int var1, int var2, int var3, int var4);
  221.  
  222.    public void clearRect(int var1, int var2, int var3, int var4) {
  223.       if (super.fillpipe == SunGraphics2D.invalidpipe) {
  224.          this.validatePipe();
  225.       }
  226.  
  227.       if (super.fillpipe == this) {
  228.          this.devClearRect(var1, var2, var3, var4);
  229.       } else {
  230.          super.clearRect(var1, var2, var3, var4);
  231.       }
  232.  
  233.    }
  234.  
  235.    public native void devFillRect(int var1, int var2, int var3, int var4);
  236.  
  237.    public void fillRect(SunGraphics2D var1, int var2, int var3, int var4, int var5) {
  238.       this.devFillRect(var2, var3, var4, var5);
  239.    }
  240.  
  241.    public native void devDrawRect(int var1, int var2, int var3, int var4);
  242.  
  243.    public void drawRect(SunGraphics2D var1, int var2, int var3, int var4, int var5) {
  244.       this.devDrawRect(var2, var3, var4, var5);
  245.    }
  246.  
  247.    public Object drawString(SunGraphics2D var1, String var2, float var3, float var4, Object var5) {
  248.       this.drawStringWidth(var2, (int)var3, (int)var4);
  249.       return null;
  250.    }
  251.  
  252.    public Object drawGlyphVector(SunGraphics2D var1, GlyphVector var2, float var3, float var4, Object var5) {
  253.       return super.drawGlyphVector(var1, var2, var3, var4, var5);
  254.    }
  255.  
  256.    public Object drawChars(SunGraphics2D var1, char[] var2, int var3, int var4, int var5, int var6, Object var7) {
  257.       this.drawCharsWidth(var2, var3, var4, var5, var6);
  258.       return null;
  259.    }
  260.  
  261.    public Object drawBytes(SunGraphics2D var1, byte[] var2, int var3, int var4, int var5, int var6, Object var7) {
  262.       this.drawBytesWidth(var2, var3, var4, var5, var6);
  263.       return null;
  264.    }
  265.  
  266.    public native int drawStringWidth(String var1, int var2, int var3);
  267.  
  268.    public native int drawCharsWidth(char[] var1, int var2, int var3, int var4, int var5);
  269.  
  270.    public native int drawBytesWidth(byte[] var1, int var2, int var3, int var4, int var5);
  271.  
  272.    public native void devDrawLine(int var1, int var2, int var3, int var4);
  273.  
  274.    public void drawLine(SunGraphics2D var1, int var2, int var3, int var4, int var5) {
  275.       this.devDrawLine(var2, var3, var4, var5);
  276.    }
  277.  
  278.    public boolean drawImage(Image var1, int var2, int var3, ImageObserver var4) {
  279.       if (var1 instanceof BufferedImage) {
  280.          return super.drawImage((BufferedImage)var1, var2, var3, (Color)null, var4);
  281.       } else {
  282.          WImage var5 = (WImage)var1;
  283.          if (((sun.awt.image.Image)var5).hasError()) {
  284.             if (var4 != null) {
  285.                var4.imageUpdate(var1, 192, -1, -1, -1, -1);
  286.             }
  287.  
  288.             return false;
  289.          } else {
  290.             ImageRepresentation var6 = var5.getImageRep();
  291.             return var6.drawToBufImage(this, (sun.awt.image.Image)var1, var2, var3, (Color)null, var4);
  292.          }
  293.       }
  294.    }
  295.  
  296.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, ImageObserver var6) {
  297.       if (var4 != 0 && var5 != 0) {
  298.          if (var1 instanceof BufferedImage) {
  299.             return super.drawImage((BufferedImage)var1, var2, var3, var4, var5, (Color)null, var6);
  300.          } else {
  301.             WImage var7 = (WImage)var1;
  302.             if (((sun.awt.image.Image)var7).hasError()) {
  303.                if (var6 != null) {
  304.                   var6.imageUpdate(var1, 192, -1, -1, -1, -1);
  305.                }
  306.  
  307.                return false;
  308.             } else {
  309.                ImageRepresentation var8 = var7.getImageRep();
  310.                return var8.drawToBufImage(this, (sun.awt.image.Image)var1, var2, var3, var4, var5, (Color)null, var6);
  311.             }
  312.          }
  313.       } else {
  314.          return true;
  315.       }
  316.    }
  317.  
  318.    public boolean drawImage(Image var1, int var2, int var3, Color var4, ImageObserver var5) {
  319.       if (var1 instanceof BufferedImage) {
  320.          super.drawImage((BufferedImage)var1, var2, var3, var4, var5);
  321.          return true;
  322.       } else {
  323.          WImage var6 = (WImage)var1;
  324.          if (((sun.awt.image.Image)var6).hasError()) {
  325.             if (var5 != null) {
  326.                var5.imageUpdate(var1, 192, -1, -1, -1, -1);
  327.             }
  328.  
  329.             return false;
  330.          } else {
  331.             ImageRepresentation var7 = var6.getImageRep();
  332.             return var7.drawToBufImage(this, (sun.awt.image.Image)var1, var2, var3, var4, var5);
  333.          }
  334.       }
  335.    }
  336.  
  337.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, Color var6, ImageObserver var7) {
  338.       if (var4 != 0 && var5 != 0) {
  339.          if (var1 instanceof BufferedImage) {
  340.             return super.drawImage((BufferedImage)var1, var2, var3, var4, var5, var6, var7);
  341.          } else {
  342.             WImage var8 = (WImage)var1;
  343.             if (((sun.awt.image.Image)var8).hasError()) {
  344.                if (var7 != null) {
  345.                   var7.imageUpdate(var1, 192, -1, -1, -1, -1);
  346.                }
  347.  
  348.                return false;
  349.             } else {
  350.                ImageRepresentation var9 = var8.getImageRep();
  351.                return var9.drawToBufImage(this, (sun.awt.image.Image)var1, var2, var3, var4, var5, var6, var7);
  352.             }
  353.          }
  354.       } else {
  355.          return true;
  356.       }
  357.    }
  358.  
  359.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, ImageObserver var10) {
  360.       return this.drawImage(var1, var2, var3, var4, var5, var6, var7, var8, var9, (Color)null, var10);
  361.    }
  362.  
  363.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, Color var10, ImageObserver var11) {
  364.       if (var1 instanceof BufferedImage) {
  365.          return super.drawImage((BufferedImage)var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11);
  366.       } else if (var2 != var4 && var3 != var5) {
  367.          if (var6 != var8 && var7 != var9) {
  368.             WImage var12 = (WImage)var1;
  369.             if (((sun.awt.image.Image)var12).hasError()) {
  370.                if (var11 != null) {
  371.                   var11.imageUpdate(var1, 192, -1, -1, -1, -1);
  372.                }
  373.  
  374.                return false;
  375.             } else {
  376.                ImageRepresentation var13 = var12.getImageRep();
  377.                return var13.drawToBufImage(this, (sun.awt.image.Image)var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11);
  378.             }
  379.          } else {
  380.             return true;
  381.          }
  382.       } else {
  383.          return true;
  384.       }
  385.    }
  386.  
  387.    public boolean drawImage(Image var1, AffineTransform var2, ImageObserver var3) {
  388.       if (var1 instanceof BufferedImage) {
  389.          super.drawImage((BufferedImage)var1, var2, 0, 0, (Color)null, var3);
  390.          return true;
  391.       } else {
  392.          WImage var4 = (WImage)var1;
  393.          if (((sun.awt.image.Image)var4).hasError() && var3 != null) {
  394.             var3.imageUpdate(var1, 192, -1, -1, -1, -1);
  395.             return false;
  396.          } else {
  397.             ImageRepresentation var5 = var4.getImageRep();
  398.             return var5.drawToBufImage(this, (sun.awt.image.Image)var1, var2, var3);
  399.          }
  400.       }
  401.    }
  402.  
  403.    public native void devCopyArea(int var1, int var2, int var3, int var4, int var5, int var6);
  404.  
  405.    public void copyArea(int var1, int var2, int var3, int var4, int var5, int var6) {
  406.       if (super.fillpipe == SunGraphics2D.invalidpipe) {
  407.          this.validatePipe();
  408.       }
  409.  
  410.       if (super.fillpipe == this) {
  411.          this.devCopyArea(var1, var2, var3, var4, var5, var6);
  412.       } else {
  413.          super.copyArea(var1, var2, var3, var4, var5, var6);
  414.       }
  415.  
  416.    }
  417.  
  418.    public native void devDrawRoundRect(int var1, int var2, int var3, int var4, int var5, int var6);
  419.  
  420.    public void drawRoundRect(SunGraphics2D var1, int var2, int var3, int var4, int var5, int var6, int var7) {
  421.       this.devDrawRoundRect(var2, var3, var4, var5, var6, var7);
  422.    }
  423.  
  424.    public native void devFillRoundRect(int var1, int var2, int var3, int var4, int var5, int var6);
  425.  
  426.    public void fillRoundRect(SunGraphics2D var1, int var2, int var3, int var4, int var5, int var6, int var7) {
  427.       this.devFillRoundRect(var2, var3, var4, var5, var6, var7);
  428.    }
  429.  
  430.    private native void devDrawPolyline(int[] var1, int[] var2, int var3);
  431.  
  432.    private native void devDrawPolygon(int[] var1, int[] var2, int var3);
  433.  
  434.    public void drawPolys(SunGraphics2D var1, int[] var2, int[] var3, int[] var4, int var5, boolean var6) {
  435.       for(int var7 = 0; var7 < var5; ++var7) {
  436.          int var8 = var4[var7];
  437.          if (var6) {
  438.             this.devDrawPolygon(var2, var3, var8);
  439.          } else {
  440.             this.devDrawPolyline(var2, var3, var8);
  441.          }
  442.  
  443.          System.arraycopy(var2, var8, var2, 0, var2.length - var8);
  444.          System.arraycopy(var3, var8, var3, 0, var3.length - var8);
  445.       }
  446.  
  447.    }
  448.  
  449.    public void drawPolyline(SunGraphics2D var1, int[] var2, int[] var3, int var4) {
  450.       this.devDrawPolyline(var2, var3, var4);
  451.    }
  452.  
  453.    public void drawPolygon(SunGraphics2D var1, int[] var2, int[] var3, int var4) {
  454.       this.devDrawPolygon(var2, var3, var4);
  455.    }
  456.  
  457.    public native void devFillPolygon(int[] var1, int[] var2, int var3, boolean var4);
  458.  
  459.    public void fillPolys(SunGraphics2D var1, int[] var2, int[] var3, int[] var4, int var5, boolean var6) {
  460.       if (var5 >= 1) {
  461.          int var16;
  462.          if (var5 > 1) {
  463.             Polygon var8 = new Polygon();
  464.             int var9 = 0;
  465.             int var10 = 0;
  466.             int var11 = 0;
  467.  
  468.             for(int var14 = 0; var14 < var5; ++var14) {
  469.                var16 = var4[var14];
  470.                if (var16 < 2) {
  471.                   var9 += var16;
  472.                } else {
  473.                   var8.addPoint(0, 0);
  474.                   int var12 = var2[var9];
  475.                   int var13 = var3[var9];
  476.  
  477.                   for(int var15 = 0; var15 < var16; ++var15) {
  478.                      var10 = var2[var9];
  479.                      var11 = var3[var9];
  480.                      var8.addPoint(var10, var11);
  481.                      ++var9;
  482.                   }
  483.  
  484.                   if (var10 != var12 || var11 != var13) {
  485.                      var8.addPoint(var12, var13);
  486.                   }
  487.  
  488.                   var8.addPoint(0, 0);
  489.                }
  490.             }
  491.  
  492.             var2 = var8.xpoints;
  493.             var3 = var8.ypoints;
  494.             var16 = var8.npoints;
  495.          } else {
  496.             var16 = var4[0];
  497.          }
  498.  
  499.          this.devFillPolygon(var2, var3, var16, var6);
  500.       }
  501.    }
  502.  
  503.    public native void devFillSpans(SpanIterator var1, long var2);
  504.  
  505.    public void fillSpans(SunGraphics2D var1, SpanIterator var2) {
  506.       this.devFillSpans(var2, var2.getNativeIterator());
  507.    }
  508.  
  509.    public void fillPolygon(SunGraphics2D var1, int[] var2, int[] var3, int var4) {
  510.       this.devFillPolygon(var2, var3, var4, true);
  511.    }
  512.  
  513.    public native void devDrawOval(int var1, int var2, int var3, int var4);
  514.  
  515.    public void drawOval(SunGraphics2D var1, int var2, int var3, int var4, int var5) {
  516.       this.devDrawOval(var2, var3, var4, var5);
  517.    }
  518.  
  519.    public native void devFillOval(int var1, int var2, int var3, int var4);
  520.  
  521.    public void fillOval(SunGraphics2D var1, int var2, int var3, int var4, int var5) {
  522.       this.devFillOval(var2, var3, var4, var5);
  523.    }
  524.  
  525.    public native void devDrawArc(int var1, int var2, int var3, int var4, int var5, int var6);
  526.  
  527.    public void drawArc(SunGraphics2D var1, int var2, int var3, int var4, int var5, int var6, int var7) {
  528.       this.devDrawArc(var2, var3, var4, var5, var6, var7);
  529.    }
  530.  
  531.    public native void devFillArc(int var1, int var2, int var3, int var4, int var5, int var6);
  532.  
  533.    public void fillArc(SunGraphics2D var1, int var2, int var3, int var4, int var5, int var6, int var7) {
  534.       this.devFillArc(var2, var3, var4, var5, var6, var7);
  535.    }
  536.  
  537.    native void devPrint(WComponentPeer var1);
  538.  
  539.    public void print(WComponentPeer var1) {
  540.       this.validatePipe();
  541.       this.devPrint(var1);
  542.    }
  543.  
  544.    public String toString() {
  545.       return this.getClass().getName();
  546.    }
  547.  
  548.    public String getDevID() {
  549.       return myDevID;
  550.    }
  551.  
  552.    private native int W32LockViewResources(ImageData var1, int var2, int var3, int var4, int var5, int var6);
  553.  
  554.    private native int W32UnLockViewResources(ImageData var1);
  555.  
  556.    public ImageData lock(int var1, int var2, int var3, int var4, int var5) {
  557.       ImageData var6 = this.cachedID;
  558.       if (null == var6 || var6.amILocked()) {
  559.          var6 = new ImageData();
  560.          var6.setColorModel(this.getDeviceColorModel());
  561.       }
  562.  
  563.       var6.setViewArea(var1, var2, var3, var4);
  564.       var6.setLockMethod(var5);
  565.       int var7 = this.W32LockViewResources(var6, var1, var2, var3, var4, var5);
  566.       if (1 == var7) {
  567.          this.cachedID = var6;
  568.          var6.incLockCount();
  569.          return var6;
  570.       } else {
  571.          return null;
  572.       }
  573.    }
  574.  
  575.    public int unlock(ImageData var1) {
  576.       int var2 = 5;
  577.       var2 = 6;
  578.       if (null != var1 && var1.amILocked() && 2 == (var2 = this.W32UnLockViewResources(var1))) {
  579.          var1.decLockCount();
  580.       }
  581.  
  582.       return var2;
  583.    }
  584.  
  585.    private static native void initIDs();
  586.  
  587.    private static boolean checkNoDDraw() {
  588.       String var0 = (String)AccessController.doPrivileged(new GetPropertyAction("sun.java2d.noddraw"));
  589.       return var0 != null;
  590.    }
  591.  
  592.    // $FF: synthetic method
  593.    static Class class$(String var0) {
  594.       try {
  595.          return Class.forName(var0);
  596.       } catch (ClassNotFoundException var2) {
  597.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  598.       }
  599.    }
  600.  
  601.    static {
  602.       dbg = DebugHelper.create(class$sun$awt$windows$WGraphics == null ? (class$sun$awt$windows$WGraphics = class$("sun.awt.windows.WGraphics")) : class$sun$awt$windows$WGraphics);
  603.       myDevID = "WGraphics";
  604.       initIDs();
  605.       RasterOutputManager var0 = RasterOutputManager.getManager();
  606.    }
  607. }
  608.