OK, it is getting clearer...but I'm not there yet.
You posted:
// Get current MDI child window geometry in pixels
_mdi.p_child._MDIChildGetWindow(xx,yy,ww,hh);
If I try that, I get a Slick-C error "This property or method is not allowed on this object"
Yet, the same line of code works fine if I change "Get" to "Set".
So, I have code like this:
int save2 = p_window_id;
p_window_id = winID;
_mdi._MDIClientGetWindow(x, y, width, height);
p_window_id = save2;
but that doesn't report the same numbers as I set with MDIChildSetWindow.
In the example below I have 3 windows.
I set the size of each and immediately try to read the size with MDIChildGetWindow, and then print the results
0 WID=346, BufID=30
1 WID=324, BufID=28
2 WID=372, BufID=29
_MDIChildSetWindow:(336,287) (336,287)
_MDIClientGetWindow says (211,2) (671,574)
_MDIChildSetWindow:(336,0) (336,287)
_MDIClientGetWindow says (211,2) (671,574)
X: _MDIChildSetWindow:(0,0) (336,574)
X: _MDIClientGetWindow says (211,2) (671,574)