Add support for putting scene object into warning mode.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2454 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
//
|
//
|
||||||
// $Id: SceneObject.java,v 1.5 2003/04/24 21:12:10 mdb Exp $
|
// $Id: SceneObject.java,v 1.6 2003/04/25 01:15:00 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.miso.client;
|
package com.threerings.miso.client;
|
||||||
|
|
||||||
|
import java.awt.AlphaComposite;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
import java.awt.Composite;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.Polygon;
|
import java.awt.Polygon;
|
||||||
@@ -74,6 +76,15 @@ public class SceneObject
|
|||||||
computeInfo(panel.getSceneMetrics());
|
computeInfo(panel.getSceneMetrics());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to flag overlapping scene objects that have no resolving
|
||||||
|
* object priorities.
|
||||||
|
*/
|
||||||
|
public void setWarning (boolean warning)
|
||||||
|
{
|
||||||
|
_warning = warning;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Requests that this scene object render itself.
|
* Requests that this scene object render itself.
|
||||||
*/
|
*/
|
||||||
@@ -90,6 +101,15 @@ public class SceneObject
|
|||||||
gfx.draw(_footprint);
|
gfx.draw(_footprint);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if we have a warning, render an alpha'd red rectangle over our
|
||||||
|
// bounds
|
||||||
|
if (_warning) {
|
||||||
|
Composite ocomp = gfx.getComposite();
|
||||||
|
gfx.setComposite(ALPHA_WARN);
|
||||||
|
gfx.fill(bounds);
|
||||||
|
gfx.setComposite(ocomp);
|
||||||
|
}
|
||||||
|
|
||||||
// paint our tile
|
// paint our tile
|
||||||
tile.paint(gfx, bounds.x, bounds.y);
|
tile.paint(gfx, bounds.x, bounds.y);
|
||||||
|
|
||||||
@@ -253,6 +273,9 @@ public class SceneObject
|
|||||||
/** The screen-coordinates of our object spot; or null if we have none. */
|
/** The screen-coordinates of our object spot; or null if we have none. */
|
||||||
protected Point _sspot;
|
protected Point _sspot;
|
||||||
|
|
||||||
|
/** Used to mark objects with errors. */
|
||||||
|
protected boolean _warning;
|
||||||
|
|
||||||
/** A debug hook that toggles rendering of objects. */
|
/** A debug hook that toggles rendering of objects. */
|
||||||
protected static RuntimeAdjust.BooleanAdjust _hideObjects =
|
protected static RuntimeAdjust.BooleanAdjust _hideObjects =
|
||||||
new RuntimeAdjust.BooleanAdjust(
|
new RuntimeAdjust.BooleanAdjust(
|
||||||
@@ -274,4 +297,8 @@ public class SceneObject
|
|||||||
_spotTri.addPoint(3, -3);
|
_spotTri.addPoint(3, -3);
|
||||||
_spotTri.addPoint(0, 3);
|
_spotTri.addPoint(0, 3);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** The alpha used to fill our bounds for warning purposes. */
|
||||||
|
protected static final Composite ALPHA_WARN =
|
||||||
|
AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user