< prev index next >
src/java.desktop/unix/classes/sun/awt/X11/XWindow.java
Print this page
*** 546,559 ****
super.handleExposeEvent(xev);
XExposeEvent xe = xev.get_xexpose();
if (isEventDisabled(xev)) {
return;
}
! int x = xe.get_x();
! int y = xe.get_y();
! int w = xe.get_width();
! int h = xe.get_height();
Component target = getEventSource();
ComponentAccessor compAccessor = AWTAccessor.getComponentAccessor();
if (!compAccessor.getIgnoreRepaint(target)
--- 546,560 ----
super.handleExposeEvent(xev);
XExposeEvent xe = xev.get_xexpose();
if (isEventDisabled(xev)) {
return;
}
!
! int x = scaleDown(xe.get_x());
! int y = scaleDown(xe.get_y());
! int w = scaleDown(xe.get_width());
! int h = scaleDown(xe.get_height());
Component target = getEventSource();
ComponentAccessor compAccessor = AWTAccessor.getComponentAccessor();
if (!compAccessor.getIgnoreRepaint(target)
*** 674,687 ****
}
int type = xev.get_type();
when = xbe.get_time();
long jWhen = XToolkit.nowMillisUTC_offset(when);
! int x = xbe.get_x();
! int y = xbe.get_y();
if (xev.get_xany().get_window() != window) {
! Point localXY = toLocal(xbe.get_x_root(), xbe.get_y_root());
x = localXY.x;
y = localXY.y;
}
if (type == XConstants.ButtonPress) {
--- 675,689 ----
}
int type = xev.get_type();
when = xbe.get_time();
long jWhen = XToolkit.nowMillisUTC_offset(when);
! int x = scaleDown(xbe.get_x());
! int y = scaleDown(xbe.get_y());
if (xev.get_xany().get_window() != window) {
! Point localXY = toLocal(scaleDown(xbe.get_x_root()),
! scaleDown(xbe.get_y_root()));
x = localXY.x;
y = localXY.y;
}
if (type == XConstants.ButtonPress) {
*** 728,739 ****
if (!isWheel(lbutton)) {
modifiers = getModifiers(xbe.get_state(), button, 0);
MouseEvent me = new MouseEvent(getEventSource(),
type == XConstants.ButtonPress ? MouseEvent.MOUSE_PRESSED : MouseEvent.MOUSE_RELEASED,
jWhen,modifiers, x, y,
! xbe.get_x_root(),
! xbe.get_y_root(),
clickCount,popupTrigger,button);
postEventToEventQueue(me);
if ((type == XConstants.ButtonRelease) &&
--- 730,741 ----
if (!isWheel(lbutton)) {
modifiers = getModifiers(xbe.get_state(), button, 0);
MouseEvent me = new MouseEvent(getEventSource(),
type == XConstants.ButtonPress ? MouseEvent.MOUSE_PRESSED : MouseEvent.MOUSE_RELEASED,
jWhen,modifiers, x, y,
! scaleDown(xbe.get_x_root()),
! scaleDown(xbe.get_y_root()),
clickCount,popupTrigger,button);
postEventToEventQueue(me);
if ((type == XConstants.ButtonRelease) &&
*** 742,753 ****
postEventToEventQueue(me = new MouseEvent(getEventSource(),
MouseEvent.MOUSE_CLICKED,
jWhen,
modifiers,
x, y,
! xbe.get_x_root(),
! xbe.get_y_root(),
clickCount,
false, button));
}
}
--- 744,755 ----
postEventToEventQueue(me = new MouseEvent(getEventSource(),
MouseEvent.MOUSE_CLICKED,
jWhen,
modifiers,
x, y,
! scaleDown(xbe.get_x_root()),
! scaleDown(xbe.get_y_root()),
clickCount,
false, button));
}
}
*** 755,766 ****
modifiers = getWheelModifiers(xbe.get_state(), button);
if (xev.get_type() == XConstants.ButtonPress) {
MouseWheelEvent mwe = new MouseWheelEvent(getEventSource(),MouseEvent.MOUSE_WHEEL, jWhen,
modifiers,
x, y,
! xbe.get_x_root(),
! xbe.get_y_root(),
1,false,MouseWheelEvent.WHEEL_UNIT_SCROLL,
3,button==4 ? -1 : 1);
postEventToEventQueue(mwe);
}
}
--- 757,768 ----
modifiers = getWheelModifiers(xbe.get_state(), button);
if (xev.get_type() == XConstants.ButtonPress) {
MouseWheelEvent mwe = new MouseWheelEvent(getEventSource(),MouseEvent.MOUSE_WHEEL, jWhen,
modifiers,
x, y,
! scaleDown(xbe.get_x_root()),
! scaleDown(xbe.get_y_root()),
1,false,MouseWheelEvent.WHEEL_UNIT_SCROLL,
3,button==4 ? -1 : 1);
postEventToEventQueue(mwe);
}
}
*** 803,814 ****
}
/*
Fix for 6176814 . Add multiclick checking.
*/
! int x = xme.get_x();
! int y = xme.get_y();
XWindow lastWindow = (lastWindowRef != null) ? (lastWindowRef.get()):(null);
if (!(lastWindow == this &&
(xme.get_time() - lastTime) < XToolkit.getMultiClickTime() &&
(Math.abs(lastX - x) < AWT_MULTICLICK_SMUDGE &&
--- 805,816 ----
}
/*
Fix for 6176814 . Add multiclick checking.
*/
! int x = scaleDown(xme.get_x());
! int y = scaleDown(xme.get_y());
XWindow lastWindow = (lastWindowRef != null) ? (lastWindowRef.get()):(null);
if (!(lastWindow == this &&
(xme.get_time() - lastTime) < XToolkit.getMultiClickTime() &&
(Math.abs(lastX - x) < AWT_MULTICLICK_SMUDGE &&
*** 826,845 ****
boolean popupTrigger = false;
Component source = getEventSource();
if (xme.get_window() != window) {
! Point localXY = toLocal(xme.get_x_root(), xme.get_y_root());
x = localXY.x;
y = localXY.y;
}
/* Fix for 5039416.
* According to canvas.c we shouldn't post any MouseEvent if mouse is dragging and clickCount!=0.
*/
if ((isDragging && clickCount == 0) || !isDragging) {
MouseEvent mme = new MouseEvent(source, mouseEventType, jWhen,
! modifiers, x, y, xme.get_x_root(), xme.get_y_root(),
clickCount, popupTrigger, MouseEvent.NOBUTTON);
postEventToEventQueue(mme);
}
}
--- 828,850 ----
boolean popupTrigger = false;
Component source = getEventSource();
if (xme.get_window() != window) {
! Point localXY = toLocal(scaleDown(xme.get_x_root()),
! scaleDown(xme.get_y_root()));
x = localXY.x;
y = localXY.y;
}
/* Fix for 5039416.
* According to canvas.c we shouldn't post any MouseEvent if mouse is dragging and clickCount!=0.
*/
if ((isDragging && clickCount == 0) || !isDragging) {
MouseEvent mme = new MouseEvent(source, mouseEventType, jWhen,
! modifiers, x, y,
! scaleDown(xme.get_x_root()),
! scaleDown(xme.get_y_root()),
clickCount, popupTrigger, MouseEvent.NOBUTTON);
postEventToEventQueue(mme);
}
}
*** 947,979 ****
long jWhen = XToolkit.nowMillisUTC_offset(xce.get_time());
int modifiers = getModifiers(xce.get_state(),0,0);
int clickCount = 0;
boolean popupTrigger = false;
! int x = xce.get_x();
! int y = xce.get_y();
if (xce.get_window() != window) {
! Point localXY = toLocal(xce.get_x_root(), xce.get_y_root());
x = localXY.x;
y = localXY.y;
}
// This code tracks boundary crossing and ensures MOUSE_ENTER/EXIT
// are posted in alternate pairs
if (compWithMouse != null) {
! MouseEvent me = new MouseEvent(compWithMouse,
! MouseEvent.MOUSE_EXITED, jWhen, modifiers, xce.get_x(),
! xce.get_y(), xce.get_x_root(), xce.get_y_root(), clickCount, popupTrigger,
MouseEvent.NOBUTTON);
postEventToEventQueue(me);
eventLog.finest("Clearing last window ref");
lastWindowRef = null;
}
if (xce.get_type() == XConstants.EnterNotify) {
MouseEvent me = new MouseEvent(getEventSource(), MouseEvent.MOUSE_ENTERED,
! jWhen, modifiers, xce.get_x(), xce.get_y(), xce.get_x_root(), xce.get_y_root(), clickCount,
! popupTrigger, MouseEvent.NOBUTTON);
postEventToEventQueue(me);
}
}
public void doLayout(int x, int y, int width, int height) {}
--- 952,994 ----
long jWhen = XToolkit.nowMillisUTC_offset(xce.get_time());
int modifiers = getModifiers(xce.get_state(),0,0);
int clickCount = 0;
boolean popupTrigger = false;
! int x = scaleDown(xce.get_x());
! int y = scaleDown(xce.get_y());
if (xce.get_window() != window) {
! Point localXY = toLocal(scaleDown(xce.get_x_root()),
! scaleDown(xce.get_y_root()));
x = localXY.x;
y = localXY.y;
}
// This code tracks boundary crossing and ensures MOUSE_ENTER/EXIT
// are posted in alternate pairs
if (compWithMouse != null) {
! MouseEvent me = new MouseEvent(compWithMouse, MouseEvent.MOUSE_EXITED,
! jWhen, modifiers,
! scaleDown(xce.get_x()),
! scaleDown(xce.get_y()),
! scaleDown(xce.get_x_root()),
! scaleDown(xce.get_y_root()),
! clickCount, popupTrigger,
MouseEvent.NOBUTTON);
postEventToEventQueue(me);
eventLog.finest("Clearing last window ref");
lastWindowRef = null;
}
if (xce.get_type() == XConstants.EnterNotify) {
MouseEvent me = new MouseEvent(getEventSource(), MouseEvent.MOUSE_ENTERED,
! jWhen, modifiers,
! scaleDown(xce.get_x()),
! scaleDown(xce.get_y()),
! scaleDown(xce.get_x_root()),
! scaleDown(xce.get_y_root()),
! clickCount, popupTrigger,
! MouseEvent.NOBUTTON);
postEventToEventQueue(me);
}
}
public void doLayout(int x, int y, int width, int height) {}
*** 1529,1534 ****
--- 1544,1563 ----
synchronized (getStateLock()) {
return fullScreenExclusiveModeState;
}
}
+ @Override
+ protected int getScale() {
+ return graphicsConfig.getScale();
+ }
+
+ @Override
+ protected int scaleUp(int x) {
+ return graphicsConfig.scaleUp(x);
+ }
+
+ @Override
+ protected int scaleDown(int x) {
+ return graphicsConfig.scaleDown(x);
+ }
}
< prev index next >