InputModeLayerpublic class InputModeLayer extends PopupLayer The InputModeLayer is a very simple overlay that displays to
the user the notion of the "current" input mode. The layer is
not interactive and is only visible when a text component is
currently selected. |
Fields Summary |
---|
protected String | modeA variable holding the current display mode label | protected int | stringWidthThe width in pixels (using the default font) of the mode name | protected int | stringHeight | protected int[] | anchor |
Constructors Summary |
---|
public InputModeLayer()
super();
setBackground(InputModeSkin.IMAGE_BG, InputModeSkin.COLOR_BG);
this.supportsInput = false;
anchor = new int[2];
stringHeight = InputModeSkin.FONT.getHeight();
|
Methods Summary |
---|
public java.lang.String | getDisplayMode()Get the text to be displayed which represents the display name of
the currently selected input mode
return mode;
| public void | paintBody(Graphics g)
if (mode != null) {
g.setFont(InputModeSkin.FONT);
g.setColor(InputModeSkin.COLOR_FG);
g.drawString(mode, InputModeSkin.MARGIN, 0, Graphics.LEFT | Graphics.TOP);
}
g.setColor(InputModeSkin.COLOR_BDR);
g.drawRect(0, 0, bounds[W] - 1, bounds[H] - 1);
g.setColor(InputModeSkin.COLOR_FG);
| public void | setAnchor(int anchorX, int anchorY, int itemH, int spaceBelow)
anchor[X] = anchorX;
anchor[Y] = anchorY;
if (spaceBelow < stringHeight) {
anchor[Y] -= stringHeight;
} else {
anchor[Y] += itemH;
}
updateLocation();
| public void | setDisplayMode(java.lang.String mode)Set the text to be displayed which represents the display name of
the currently selected input mode
if (this.mode != mode) {
this.mode = mode;
stringWidth = InputModeSkin.FONT.stringWidth(mode);
updateLocation();
}
| protected void | updateLocation()
if (owner != null) {
owner.relocateLayer(this,
anchor[X] - stringWidth - InputModeSkin.MARGIN * 2,
anchor[Y],
stringWidth + InputModeSkin.MARGIN * 2,
stringHeight);
}
|
|