< prev index next >
src/java.desktop/unix/classes/sun/awt/X11/XWindow.java
Print this page
@@ -546,14 +546,15 @@
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();
+
+ 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,14 +675,15 @@
}
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();
+ int x = scaleDown(xbe.get_x());
+ int y = scaleDown(xbe.get_y());
if (xev.get_xany().get_window() != window) {
- Point localXY = toLocal(xbe.get_x_root(), xbe.get_y_root());
+ Point localXY = toLocal(scaleDown(xbe.get_x_root()),
+ scaleDown(xbe.get_y_root()));
x = localXY.x;
y = localXY.y;
}
if (type == XConstants.ButtonPress) {
@@ -728,12 +730,12 @@
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(),
+ scaleDown(xbe.get_x_root()),
+ scaleDown(xbe.get_y_root()),
clickCount,popupTrigger,button);
postEventToEventQueue(me);
if ((type == XConstants.ButtonRelease) &&
@@ -742,12 +744,12 @@
postEventToEventQueue(me = new MouseEvent(getEventSource(),
MouseEvent.MOUSE_CLICKED,
jWhen,
modifiers,
x, y,
- xbe.get_x_root(),
- xbe.get_y_root(),
+ scaleDown(xbe.get_x_root()),
+ scaleDown(xbe.get_y_root()),
clickCount,
false, button));
}
}
@@ -755,12 +757,12 @@
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(),
+ scaleDown(xbe.get_x_root()),
+ scaleDown(xbe.get_y_root()),
1,false,MouseWheelEvent.WHEEL_UNIT_SCROLL,
3,button==4 ? -1 : 1);
postEventToEventQueue(mwe);
}
}
@@ -803,12 +805,12 @@
}
/*
Fix for 6176814 . Add multiclick checking.
*/
- int x = xme.get_x();
- int y = xme.get_y();
+ 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,20 +828,23 @@
boolean popupTrigger = false;
Component source = getEventSource();
if (xme.get_window() != window) {
- Point localXY = toLocal(xme.get_x_root(), xme.get_y_root());
+ 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, xme.get_x_root(), xme.get_y_root(),
+ modifiers, x, y,
+ scaleDown(xme.get_x_root()),
+ scaleDown(xme.get_y_root()),
clickCount, popupTrigger, MouseEvent.NOBUTTON);
postEventToEventQueue(mme);
}
}
@@ -947,33 +952,43 @@
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();
+ int x = scaleDown(xce.get_x());
+ int y = scaleDown(xce.get_y());
if (xce.get_window() != window) {
- Point localXY = toLocal(xce.get_x_root(), xce.get_y_root());
+ 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, xce.get_x(),
- xce.get_y(), xce.get_x_root(), xce.get_y_root(), clickCount, popupTrigger,
+ 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, xce.get_x(), xce.get_y(), xce.get_x_root(), xce.get_y_root(), clickCount,
- popupTrigger, MouseEvent.NOBUTTON);
+ 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,6 +1544,20 @@
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 >