[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] fix heavyweight placement within lightweight container
From: |
Thomas Fitzsimmons |
Subject: |
[cp-patches] fix heavyweight placement within lightweight container |
Date: |
Wed, 31 Aug 2005 17:21:44 -0400 |
Hi,
This patch fixes the placement of heavyweight components in lightweight
containers. I have an app that adds a Canvas to a JFrame; the canvas
was being drawn with the wrong offsets relative to the frame. I've
committed this patch, which fixes the canvas's placement.
Tom
2005-08-31 Thomas Fitzsimmons <address@hidden>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java (setBounds): Only
add parent's x and y co-ordinates to translation if parent's
parent is not a window.
Index: gnu/java/awt/peer/gtk/GtkComponentPeer.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java,v
retrieving revision 1.95
diff -u -r1.95 GtkComponentPeer.java
--- gnu/java/awt/peer/gtk/GtkComponentPeer.java 25 Aug 2005 02:26:48 -0000
1.95
+++ gnu/java/awt/peer/gtk/GtkComponentPeer.java 31 Aug 2005 21:13:40 -0000
@@ -424,6 +424,7 @@
int new_y = y;
Component parent = awtComponent.getParent ();
+ Component next_parent;
// Heavyweight components that are children of one or more
// lightweight containers have to be handled specially. Because
@@ -441,12 +442,22 @@
{
lightweightChild = true;
+ next_parent = parent.getParent ();
+
i = ((Container) parent).getInsets ();
- new_x += parent.getX () + i.left;
- new_y += parent.getY () + i.top;
+ if (next_parent instanceof Window)
+ {
+ new_x += i.left;
+ new_y += i.top;
+ }
+ else
+ {
+ new_x += parent.getX () + i.left;
+ new_y += parent.getY () + i.top;
+ }
- parent = parent.getParent ();
+ parent = next_parent;
}
// We only need to convert from Java to GTK coordinates if we're
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [cp-patches] fix heavyweight placement within lightweight container,
Thomas Fitzsimmons <=