case 0: button = MouseEvent.Button.Button1; if (last.getButton() == button && (last.getType() == MouseEvent.Type.Pressed || last.getType() == MouseEvent.Type.Dragged)) { type = MouseEvent.Type.Dragged; } else { case 1: button = MouseEvent.Button.Button2; if (last.getButton() == button && (last.getType() == MouseEvent.Type.Pressed || last.getType() == MouseEvent.Type.Dragged)) { type = MouseEvent.Type.Dragged; } else { case 2: button = MouseEvent.Button.Button3; if (last.getButton() == button && (last.getType() == MouseEvent.Type.Pressed || last.getType() == MouseEvent.Type.Dragged)) { type = MouseEvent.Type.Dragged; } else { if (last.getType() == MouseEvent.Type.Pressed || last.getType() == MouseEvent.Type.Dragged) { button = last.getButton(); type = MouseEvent.Type.Released; } else { return new MouseEvent(type, button, modifiers, cx, cy);
void mouseEvent() { MouseEvent event = terminal.readMouseEvent(); if (event.getModifiers().isEmpty() && event.getType() == MouseEvent.Type.Released && event.getButton() == MouseEvent.Button.Button1) { int x = event.getX(); int y = event.getY(); int hdr = buffer.computeHeader().size(); int ftr = computeFooter().size(); else if (event.getType() == MouseEvent.Type.Wheel) { if (event.getButton() == MouseEvent.Button.WheelDown) { buffer.moveDown(1); } else if (event.getButton() == MouseEvent.Button.WheelUp) { buffer.moveUp(1);
void mouseEvent() { MouseEvent event = terminal.readMouseEvent(); if (event.getModifiers().isEmpty() && event.getType() == MouseEvent.Type.Released && event.getButton() == MouseEvent.Button.Button1) { int x = event.getX(); int y = event.getY(); int hdr = buffer.computeHeader().size(); int ftr = computeFooter().size(); else if (event.getType() == MouseEvent.Type.Wheel) { if (event.getButton() == MouseEvent.Button.WheelDown) { buffer.moveDown(1); } else if (event.getButton() == MouseEvent.Button.WheelUp) { buffer.moveUp(1);
public boolean mouse() { MouseEvent event = readMouseEvent(); if (event.getType() == MouseEvent.Type.Released && event.getButton() == MouseEvent.Button.Button1) { StringBuilder tsb = new StringBuilder(); Cursor cursor = terminal.getCursorPosition(c -> tsb.append((char) c)); bindingReader.runMacro(tsb.toString()); List<AttributedString> secondaryPrompts = new ArrayList<>(); getDisplayedBufferWithPrompts(secondaryPrompts); AttributedStringBuilder sb = new AttributedStringBuilder().tabs(TAB_WIDTH); sb.append(prompt); sb.append(insertSecondaryPrompts(new AttributedString(buf.upToCursor()), secondaryPrompts, false)); List<AttributedString> promptLines = sb.columnSplitLength(size.getColumns(), false, display.delayLineWrap()); int currentLine = promptLines.size() - 1; int wantedLine = Math.max(0, Math.min(currentLine + event.getY() - cursor.getY(), secondaryPrompts.size())); int pl0 = currentLine == 0 ? prompt.columnLength() : secondaryPrompts.get(currentLine - 1).columnLength(); int pl1 = wantedLine == 0 ? prompt.columnLength() : secondaryPrompts.get(wantedLine - 1).columnLength(); int adjust = pl1 - pl0; buf.moveXY(event.getX() - cursor.getX() - adjust, event.getY() - cursor.getY()); } return true; }