import static com.threerings.NenyaLog.log;
An abstract class that represents a chat display that can be overlayed upon another component.
An interface for providing information about what is under the overlay.
Get a list of Shape objects that we should attempt to avoid when laying out the chat.
The ChatOverlay will not modify these shape objects. The easy thing to do would be to
just return java.awt.Rectangle objects.
speaker The username of the speaking player, or null.
high Add to this list shapes that should never be drawn on.
low If non-null, add to this list shapes that can be drawn on if needed.
Get a point which is approximately the origin of the speaker, or null if unknown.
Causes the chat overlay to make itself visible or invisible.
Set the dimmed mode of the currently displaying glyphs.
Indicates that the target component was added to the widget hier. Should be called when we
wish to start displaying chat.
Layout the chat overlay inside the previously configured target component. Should be called
if our component changes size.
public abstract void layout ();
Indicates that the target component was removed from the widget hier. Should be called when
we no longer wish to paint chat.
Callback from the target that the place has changed and we are to now talk to the new info
A callback indicating that we've left the place and should stop talking to a particular
Returns the media panel on which this chat overlay is operating.
Should be called when a speaker departs the chat area to allow the overlay to clean up.
Called if our containing media panel scrolled its view.
Construct a chat overlay.
Returns true if this chat overlay is showing and should therefore update its display
Translates a string using the general client message bundle.
Translates a string using the specified bundle.
log.warning("No message bundle available to translate message",
"bundle", bundle, "message", message);
message = msgb.xlate(message);
Contains all of our customizations.
The component in which we are being displayed.
The source of hints to how we layout the overlay.
Whether the chat glyphs are dimmed or not.