Skip to content

Commit b941bd3

Browse files
committed
adds pointer events for touchscreens (still in progress)
1 parent 04f51c6 commit b941bd3

File tree

9 files changed

+34
-5
lines changed

9 files changed

+34
-5
lines changed

sources/net.sf.j2s.java.core/src/swingjs/JSMouse.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,21 +551,28 @@ public static int fixEventType(Object jqevent, int def) {
551551
return KeyEvent.KEY_TYPED;
552552
case "click":
553553
return MouseEvent.MOUSE_CLICKED;
554+
case "pointerdown":
554555
case "mousedown":
555556
case "touchstart":
556557
return MouseEvent.MOUSE_PRESSED;
558+
case "pointerup":
557559
case "mouseup":
558560
case "touchend":
559561
return MouseEvent.MOUSE_RELEASED;
562+
case "pointermove":
560563
case "mousemove":
561564
return MouseEvent.MOUSE_MOVED;
562565
case "mousedrag":
563566
return MouseEvent.MOUSE_DRAGGED;
564567
case "mousewheel":
565568
return MouseEvent.MOUSE_WHEEL;
569+
case "pointerover":
570+
case "pointerenter":
566571
case "mouseover":
567572
case "mouseenter":
568573
return MouseEvent.MOUSE_ENTERED;
574+
case "pointerout":
575+
case "pointerleave":
569576
case "mouseout":
570577
case "mouseleave":
571578
return MouseEvent.MOUSE_EXITED;

sources/net.sf.j2s.java.core/src/swingjs/jquery/j2sMenu.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ J2S.__makeMenu = function(){};
302302
//testing var r=me.active.children(".a").addClass("ui-state-focus");
303303
me.options.role&&me.element.attr("aria-activedescendant", r.attr("id"));
304304
myMenuItem(me.active.parent()).children(".a:first").addClass("ui-state-active");
305-
u.length&&/^mouse/.test(t.type)&&me._startOpening(u);
305+
u.length&&(/^pointer/.test(t.type) || /^mouse/.test(t.type))&&me._startOpening(u);
306306
me.activeMenu=n.parent();
307307
me._trigger("focus",t,{item:n});
308308
t = n;

sources/net.sf.j2s.java.core/src/swingjs/jquery/j2sSlider.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ var doMouseCapture = function(me, event, obj, isEndCheck) {
8888

8989
var that = me, o = me.options;
9090

91-
if (o.disabled || event.type == "mousemove" && event.buttons == 0) {
91+
if (o.disabled ||
92+
(event.type == "mousemove" || event.type == "pointermove") && event.buttons == 0) {
9293
return false;
9394
}
9495

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSComboPopupList.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,15 +279,18 @@ private void fChange(Object event, Object cb, String type, Object data) {
279279
cbui.comboBox.setSelectedIndex(i);
280280
cbui.comboBox.秘setTrigger(false);
281281
return;
282+
case "pointerover":
282283
case "mouseover":
283284
return;
284285
case "mouse":
285286
JSEvent jqEvent = /** @j2sNative event.originalEvent || */
286287
null;
287288
switch (/** @j2sNative jqEvent.type || */"") {
289+
case "pointermove":
288290
case "mousemove":
289291
JSMouse.retargetMouseEvent(jqEvent, null, cbui.comboBox, JSComboPopupList.this, 0);
290292
break;
293+
case "pointerup":
291294
case "mouseup":
292295
JSToolkit.dispatch(new Runnable() {
293296
@Override

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSComponentUI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3603,7 +3603,7 @@ public void invalidate() {
36033603
protected void checkStopPopupMenuTimer(Object target, int eventType, Object jQueryEvent) {
36043604
if (target == domNode && eventType == -1) {
36053605
String type = (/** @j2sNative jQueryEvent.type || */"");
3606-
if (type.equals("mouseenter")) {
3606+
if (type.equals("mouseenter") || type.equals("pointerenter")) {
36073607
stopPopupMenuTimer();
36083608
}
36093609
}

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSFrameUI.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,11 @@ public boolean handleJSEvent(Object target, int eventType, Object jQueryEvent) {
282282
case "click":
283283
frameCloserAction();
284284
return HANDLED;
285+
case "pointerout":
285286
case "mouseout":
286287
DOMNode.setStyle(closerNode, "background-color", "#DDD");// toCSSString(c.getBackground()));
287288
return HANDLED;
289+
case "pointerenter":
288290
case "mouseenter":
289291
DOMNode.setStyle(closerNode, "background-color", "red");
290292
return HANDLED;

sources/net.sf.j2s.java.core/srcjs/js/j2sApplet.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// j2sApplet.js BH = Bob Hanson hansonr@stolaf.edu
22

3+
// BH 2022.01.12 adds pointer option
34
// BH 2021.09.22 default file save as application/octet-stream, not text/plain
45
// BH 2020.12.31 full 64-bit long
56
// BH 2020.12.09 touch fixes for fdown and fdrag (j2sSlider)
@@ -1902,7 +1903,7 @@ if (ev.keyCode == 9 && ev.target["data-focuscomponent"]) {
19021903
// otherwise, if J2S._firstTouch is undefined (!!x != x), set J2S._firstTouch
19031904
// and ignore future touch events (through the first touchend):
19041905

1905-
if (ev.type == "mousedown") {
1906+
if (ev.type == "pointerdown" || "mousedown") {// BHTEst
19061907
J2S._haveMouse = true;
19071908
} else {
19081909
if (J2S._haveMouse) return;

sources/net.sf.j2s.java.core/srcjs/js/j2sJQueryExt.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// j2sQueryExt.js]
2+
// BH 2022.01.12 adds pointer option
23
// BH 7/13/2019 removing hook for J2S.unsetMouse
34
// BH 7/21/2016 9:25:38 PM passing .pageX and .pageY to jQuery event
45
// BH 7/24/2015 7:24:30 AM renamed from JSmoljQueryExt.js
@@ -7,6 +8,14 @@
78

89
;(function($) {
910

11+
var addPointerEvent = function(mode, a) {
12+
a = a.split(" ");
13+
for (var i = a.length; --i >= 0;)
14+
$.event.special[mode+a[i]] = {bindType: "pointer" +a[i], delegateType: "pointer" + a[i]};
15+
}
16+
17+
addPointerEvent("mouse", "up down move over out enter leave"); // BHTEST
18+
1019
function createXHR(isMSIE) {
1120
try {
1221
return (isMSIE ? new window.ActiveXObject( "Microsoft.XMLHTTP" ) : new window.XMLHttpRequest());

sources/net.sf.j2s.java.core/srcjs/js/jquery.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
/*!
2+
3+
// BH 2022.01.12 adds pointer option see BHTEST
4+
25
* jQuery JavaScript Library v1.11.0
36
* http://jquery.com/
47
*
@@ -13,6 +16,7 @@
1316
*/
1417

1518
// modified by Bob Hanson for local MSIE 11 reading remote files and skipping Opera test unless Opera
19+
// 2022.01.08 BHTEST adds pointer| to rmouseEvent
1620

1721
(function( global, factory ) {
1822

@@ -4248,7 +4252,7 @@ var rcheckableType = (/^(?:checkbox|radio)$/i);
42484252

42494253
var rformElems = /^(?:input|select|textarea)$/i,
42504254
rkeyEvent = /^key/,
4251-
rmouseEvent = /^(?:mouse|contextmenu)|click/,
4255+
rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, // BHTEST
42524256
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
42534257
rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
42544258

@@ -4992,6 +4996,8 @@ jQuery.Event.prototype = {
49924996

49934997
// Create mouseenter/leave events using mouseover/out and event-time checks
49944998
jQuery.each({
4999+
pointerenter: "pointerover", // BHTEST
5000+
pointerleave: "pointerout", // BHTEST
49955001
mouseenter: "mouseover",
49965002
mouseleave: "mouseout"
49975003
}, function( orig, fix ) {

0 commit comments

Comments
 (0)