First, positions are from the bottom left corner of the screen (i.e. x=0, y=0 is the bottom left corner of the viewport), which is counter intuitive with the top left positioning of just about every UI managers. I understand that this is an OpenGL issue, but why not translating these values (i.e. inverting the Y's) instead of making it awkward for the plugin developers?
OpenGL handles the screen coordinates this way, i.e. 0|0 is the bottom left corner of the screen. Without taking into account that DirectX handles this differently, I'm not sure if the OpenGL way isn't even more intuitive at least for newcomers: people would probably consider the screen being a 2-dimensional coordinate sytem (even though this is technically wrong), and in school we learn that the origin of a 2d coordinate system is in the bottom left corner.
It's a pity that there are differences out there how screen coordinates are handled, but since RW is an OpenGL application, I'm not sure if it's a good idea to change the coordinates. Especially since changing that would break every existing plugin which uses gui elements ![]()
Second, PivotPosition is also reversed. Where PivotPosition.BottomLeft makes a container align from the top left corner!
Hmm... I just checked it and it works as intended
The pivot position sets the position of the pivot of the particular gui element, e.g. when changing it to BottomLeft, the bottom left corner of the gui element is used for the pivot position (i.e. the actual position of the gui element refers to the pivot position).
Example:
This code (PivotPosition BottomLeft) gives this result (as intended):
Changing the PivotPosition to TopLeft, we get this result:
Did you encounter a different behavior with other gui elements?