home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Graphics;
- import java.awt.Point;
- import java.awt.Polygon;
- import java.awt.Rectangle;
- import java.io.DataInputStream;
- import java.io.IOException;
-
- final class ColDisjnt extends ColVecItm {
- private Polygon[] m_poly;
- private int[] m_pntsInSeg;
-
- public void draw(Graphics var1) {
- int var3 = 0;
-
- for(int var2 = 0; var2 < super.m_numSegs; ++var2) {
- this.m_poly[var2] = new Polygon();
-
- for(int var4 = 0; var4 < this.m_pntsInSeg[var2]; ++var4) {
- this.m_poly[var2].addPoint((int)((super.m_ptArryX[var4 + var3] + 0.5F - super.m_colGraphicObj.m_xOrg) * super.m_colGraphicObj.m_mag), (int)((super.m_ptArryY[var4 + var3] + 0.5F - super.m_colGraphicObj.m_yOrg) * super.m_colGraphicObj.m_mag));
- }
-
- var3 += this.m_pntsInSeg[var2];
- }
-
- if (super.m_fillClr != null) {
- if (super.m_colGraphicObj.m_overrideColor != null) {
- var1.setColor(super.m_colGraphicObj.m_overrideColor);
- } else {
- var1.setColor(super.m_fillClr);
- }
-
- for(int var5 = 0; var5 < super.m_numSegs; ++var5) {
- var1.fillPolygon(this.m_poly[var5]);
- }
- }
-
- if (super.m_frameClr != null) {
- if (super.m_colGraphicObj.m_overrideColor != null) {
- var1.setColor(super.m_colGraphicObj.m_overrideColor);
- } else {
- var1.setColor(super.m_frameClr);
- }
-
- for(int var6 = 0; var6 < super.m_numSegs; ++var6) {
- var1.drawPolygon(this.m_poly[var6]);
- }
- }
-
- }
-
- public ColDisjnt(DataInputStream var1, int var2, int var3, ColGrph var4, Graphics var5) throws IOException {
- super(var1, var3, var4);
- int var7 = 0;
- super.m_numSegs = var1.readInt();
- this.m_pntsInSeg = new int[super.m_numSegs];
- this.m_poly = new Polygon[super.m_numSegs];
-
- for(int var6 = 0; var6 < super.m_numSegs; ++var6) {
- this.m_pntsInSeg[var6] = var1.readShort();
- var7 += this.m_pntsInSeg[var6];
- }
-
- super.m_ptArryX = new float[var7];
- super.m_ptArryY = new float[var7];
- var7 = 0;
-
- for(int var10 = 0; var10 < super.m_numSegs; ++var10) {
- for(int var8 = 0; var8 < this.m_pntsInSeg[var10]; ++var8) {
- super.m_ptArryX[var8 + var7] = (float)var1.readInt() / 65536.0F;
- super.m_ptArryY[var8 + var7] = (float)var1.readInt() / 65536.0F;
- }
-
- var7 += this.m_pntsInSeg[var10];
- }
-
- int var14 = 0;
-
- for(int var11 = 0; var11 < super.m_numSegs; ++var11) {
- this.m_poly[var11] = new Polygon();
-
- for(int var9 = 0; var9 < this.m_pntsInSeg[var11]; ++var9) {
- this.m_poly[var11].addPoint((int)(super.m_ptArryX[var9 + var14] + 0.5F), (int)(super.m_ptArryY[var9 + var14] + 0.5F));
- }
-
- var14 += this.m_pntsInSeg[var11];
- }
-
- Rectangle var15 = new Rectangle(new Point(this.m_poly[0].xpoints[0], this.m_poly[0].ypoints[0]));
-
- for(int var12 = 0; var12 < super.m_numSegs; ++var12) {
- var15.union(this.m_poly[var12].getBoundingBox());
- }
-
- super.m_bounds.x = var15.x;
- super.m_bounds.y = var15.y;
- super.m_bounds.width = var15.width;
- super.m_bounds.height = var15.height;
- }
-
- public Rectangle getBounds() {
- return super.m_bounds;
- }
- }
-