public abstract class Dialog
{
	public Command left;

	public Command center;

	public Command right;

	private int lenCaption;

	public virtual void paint(mGraphics g)
	{
		g.translate(-g.getTranslateX(), -g.getTranslateY());
		g.setClip(0, 0, CCanvas.w, CCanvas.h);
		CCanvas.paintz.paintCmdBar(g, left, center, right);
	}

	public virtual void keyPress(int keyCode)
	{
		switch (keyCode)
		{
		case -38:
		case -1:
			CCanvas.keyHold[2] = true;
			CCanvas.keyPressed[2] = true;
			break;
		case -39:
		case -2:
			CCanvas.keyHold[8] = true;
			CCanvas.keyPressed[8] = true;
			break;
		case -21:
		case -6:
			CCanvas.keyHold[12] = true;
			CCanvas.keyPressed[12] = true;
			break;
		case -22:
		case -7:
			CCanvas.keyHold[13] = true;
			CCanvas.keyPressed[13] = true;
			break;
		case -5:
		case 10:
			CCanvas.keyHold[5] = true;
			CCanvas.keyPressed[5] = true;
			break;
		}
	}

	public virtual void update()
	{
		if (center != null && (CCanvas.keyPressed[5] || CScreen.getCmdPointerLast(center)))
		{
			CCanvas.keyPressed[5] = false;
			CCanvas.isPointerClick = false;
			CScreen.keyTouch = -1;
			CCanvas.isPointerJustRelease = false;
			if (center != null)
			{
				center.performAction();
			}
			CScreen.keyTouch = -1;
		}
		if (left != null && (CCanvas.keyPressed[12] || CScreen.getCmdPointerLast(left)))
		{
			CCanvas.keyPressed[12] = false;
			CCanvas.isPointerClick = false;
			CScreen.keyTouch = -1;
			CCanvas.isPointerJustRelease = false;
			if (left != null)
			{
				left.performAction();
			}
			CScreen.keyTouch = -1;
		}
		if (right != null && (CCanvas.keyPressed[13] || CScreen.getCmdPointerLast(right)))
		{
			CCanvas.keyPressed[13] = false;
			CCanvas.isPointerClick = false;
			CCanvas.isPointerJustRelease = false;
			CScreen.keyTouch = -1;
			if (right != null)
			{
				right.performAction();
			}
			CScreen.keyTouch = -1;
		}
		CCanvas.clearKeyPressed();
		CCanvas.clearKeyHold();
	}

	public abstract void show();
}
