git://git.nikiroo.be
/
nikiroo-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TField cut/paste working
[nikiroo-utils.git]
/
src
/
jexer
/
tterminal
/
ECMA48.java
diff --git
a/src/jexer/tterminal/ECMA48.java
b/src/jexer/tterminal/ECMA48.java
index bef9cabad620b705ec0c99e1d31182b5c3fa717a..8a88799026c054f064c29d2676fa2f50b8168781 100644
(file)
--- a/
src/jexer/tterminal/ECMA48.java
+++ b/
src/jexer/tterminal/ECMA48.java
@@
-1686,35
+1686,45
@@
public class ECMA48 implements Runnable {
if (mouseEncoding == MouseEncoding.SGR) {
sb.append((char) 0x1B);
sb.append("[<");
if (mouseEncoding == MouseEncoding.SGR) {
sb.append((char) 0x1B);
sb.append("[<");
+ int buttons = 0;
if (mouse.isMouse1()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
if (mouse.isMouse1()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
-
sb.append("32;")
;
+
buttons = 32
;
} else {
} else {
-
sb.append("0;")
;
+
buttons = 0
;
}
} else if (mouse.isMouse2()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
}
} else if (mouse.isMouse2()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
-
sb.append("33;")
;
+
buttons = 33
;
} else {
} else {
-
sb.append("1;")
;
+
buttons = 1
;
}
} else if (mouse.isMouse3()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
}
} else if (mouse.isMouse3()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
-
sb.append("34;")
;
+
buttons = 34
;
} else {
} else {
-
sb.append("2;")
;
+
buttons = 2
;
}
} else if (mouse.isMouseWheelUp()) {
}
} else if (mouse.isMouseWheelUp()) {
-
sb.append("64;")
;
+
buttons = 64
;
} else if (mouse.isMouseWheelDown()) {
} else if (mouse.isMouseWheelDown()) {
-
sb.append("65;")
;
+
buttons = 65
;
} else {
// This is motion with no buttons down.
} else {
// This is motion with no buttons down.
- sb.append("35;");
+ buttons = 35;
+ }
+ if (mouse.isAlt()) {
+ buttons |= 0x08;
+ }
+ if (mouse.isCtrl()) {
+ buttons |= 0x10;
+ }
+ if (mouse.isShift()) {
+ buttons |= 0x04;
}
}
- sb.append(String.format("%d;%d
"
, mouse.getX() + 1,
+ sb.append(String.format("%d;%d
;%d", buttons
, mouse.getX() + 1,
mouse.getY() + 1));
if (mouse.getType() == TMouseEvent.Type.MOUSE_UP) {
mouse.getY() + 1));
if (mouse.getType() == TMouseEvent.Type.MOUSE_UP) {
@@
-1728,35
+1738,46
@@
public class ECMA48 implements Runnable {
sb.append((char) 0x1B);
sb.append('[');
sb.append('M');
sb.append((char) 0x1B);
sb.append('[');
sb.append('M');
+ int buttons = 0;
if (mouse.getType() == TMouseEvent.Type.MOUSE_UP) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_UP) {
-
sb.append((char) (0x03 + 32))
;
+
buttons = 0x03 + 32
;
} else if (mouse.isMouse1()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
} else if (mouse.isMouse1()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
-
sb.append((char) (0x00 + 32 + 32))
;
+
buttons = 0x00 + 32 + 32
;
} else {
} else {
-
sb.append((char) (0x00 + 32))
;
+
buttons = 0x00 + 32
;
}
} else if (mouse.isMouse2()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
}
} else if (mouse.isMouse2()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
-
sb.append((char) (0x01 + 32 + 32))
;
+
buttons = 0x01 + 32 + 32
;
} else {
} else {
-
sb.append((char) (0x01 + 32))
;
+
buttons = 0x01 + 32
;
}
} else if (mouse.isMouse3()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
}
} else if (mouse.isMouse3()) {
if (mouse.getType() == TMouseEvent.Type.MOUSE_MOTION) {
-
sb.append((char) (0x02 + 32 + 32))
;
+
buttons = 0x02 + 32 + 32
;
} else {
} else {
-
sb.append((char) (0x02 + 32))
;
+
buttons = 0x02 + 32
;
}
} else if (mouse.isMouseWheelUp()) {
}
} else if (mouse.isMouseWheelUp()) {
-
sb.append((char) (0x04 + 64))
;
+
buttons = 0x04 + 64
;
} else if (mouse.isMouseWheelDown()) {
} else if (mouse.isMouseWheelDown()) {
-
sb.append((char) (0x05 + 64))
;
+
buttons = 0x05 + 64
;
} else {
// This is motion with no buttons down.
} else {
// This is motion with no buttons down.
- sb.append((char) (0x03 + 32));
+ buttons = 0x03 + 32;
+ }
+ if (mouse.isAlt()) {
+ buttons |= 0x08;
+ }
+ if (mouse.isCtrl()) {
+ buttons |= 0x10;
+ }
+ if (mouse.isShift()) {
+ buttons |= 0x04;
}
}
+ sb.append((char) (buttons & 0xFF));
sb.append((char) (mouse.getX() + 33));
sb.append((char) (mouse.getY() + 33));
}
sb.append((char) (mouse.getX() + 33));
sb.append((char) (mouse.getY() + 33));
}
@@
-7111,8
+7132,7
@@
public class ECMA48 implements Runnable {
return;
}
return;
}
- java.util.Base64.Decoder base64 = java.util.Base64.getDecoder();
- byte [] bytes = base64.decode(data);
+ byte [] bytes = StringUtils.fromBase64(data.getBytes());
if (bytes.length != (imageWidth * imageHeight * 3)) {
return;
}
if (bytes.length != (imageWidth * imageHeight * 3)) {
return;
}
@@
-7158,8
+7178,7
@@
public class ECMA48 implements Runnable {
boolean scroll = false;
BufferedImage image = null;
try {
boolean scroll = false;
BufferedImage image = null;
try {
- java.util.Base64.Decoder base64 = java.util.Base64.getDecoder();
- byte [] bytes = base64.decode(data);
+ byte [] bytes = StringUtils.fromBase64(data.getBytes());
switch (type) {
case 1:
switch (type) {
case 1: