Rectangle vr = viewport.getViewRect();
TextUI ui1 = editor.getUI();
int p0 = ui1.viewToModel(editor, new Point(vr.x, vr.y));
int p1 =
ui1.viewToModel(editor, new Point(vr.x + vr.width, vr.y + vr.height));
// find elements in document that contain p0 and p1
int start =
editor.getDocument().getDefaultRootElement().getElementIndex(p0);
int end = editor.getDocument().getDefaultRootElement().getElementIndex(p1);