On 31.07.15 18:00, Semyon Sadetsky wrote:
On windows is changed in awt_Window.cpp. WmMove
What I see there:
(env)->SetIntField(target, AwtComponent::xID, rect.left);
(env)->SetIntField(target, AwtComponent::yID, rect.top);
Are you talking about size or screen position?
Sorry the method name is AwtWIndow::WmSize in awt_Window.cpp, where we
update the target and then post the event.
The initial window size is preserved on Windows. On OSX it can be
different if notifyReshape() is called upon window create.
The window size can be change externally by the different reason, so we
should always relies on the value which was reported by the system.
I don't see any extra issues related to the size currently.
--Semyon
In general window manager can set a different size/location than we
try to set, so we should take a correct values in the callback and
update the target component, and after that post event that the
bounds was changed.
- the utility method was introduced because decorated window can be
moved and it is utilized from several places. It is not the case for
undecorated window.
It can be moved by the window manager.
Not sure that container screen position makes any sense for its
content size event. Is it specified somewhere? Or can you provide an
example when it is necessary?
I am not sure. It needs to be checked.
--Semyon
On 7/31/2015 4:14 PM, Sergey Bylokhov wrote:
Hi, Semyon.
A few questions.
- Why only location is fixed, an update of size if not
necessary(if for some reason the size was changed by the system
like location in this case)?
- Note that we should update the target state before we post an
event that the size is changed(we post them in
XWindow.handleConfigureNotifyEvent). It seems that some of the
peers has utility methods for this(like XDecoratedPeer.handleMoved).
On 31.07.15 11:52, Semyon Sadetsky wrote:
Hello,
Please review fix for JDK9:
bug: https://bugs.openjdk.java.net/browse/JDK-8011616
webrev: http://cr.openjdk.java.net/~ssadetsky/8011616/webrev.00/
WM sends the real window position in the configuration event but
window peer does not set it to the target. Solution is: do set.
--Semyon
--
Best regards, Sergey.
--
Best regards, Sergey.
--
Best regards, Sergey.