public void paint(Graphics g) { g.setFont(inputFont); g.setColor(0xffffff); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(0x000000); int x = getCursorX(); int y = getCursorY(); translationX = caretLeft - (getWidth() - 5); // if(isUp) // { translationY = y * inputHeight - (getHeight() - 40); // } // else if(isDown) // { // translationY = y*inputHeight - (getHeight() - 40); // } // etc if (translationX > 0) { g.translate(-translationX, 0); } if (translationY > 0) { g.translate(0, -translationY); displayLines(g, y - linesOnScreen); } else { displayLines(g, 0); } if (caretBlinkOn && goToNextChar) { displayCursor(g); } if (translationX > 0) { g.translate(translationX, 0); } if (translationY > 0) { g.translate(0, translationY); } if (currentState == EditorState.Commands) { if (!goToNextChar) { displayCharacterMap(g); } else { displayCurrentCommand(g); } } else if (currentState == EditorState.Input) { if (!goToNextChar) { displayCharacterMap(g); } else if (isViewStatus) { displayStatus(g); } } if (isViewScrollBar) { displayScrollBar(g); } }