Firstly, any ringmenu should always be shown where the cursor was at the time the ringmenu was created. This is a core concept of the ringmenu. It greatly improves selection speed as the items can be selected like with a gesture. This requires that the (GUI) mouse position is known at the time the ringmenu is created. Also, the ringmenu needs to be attached to the screen rather than attached to the landscape to blend into the rest of the HUD and to avoid scrolling it away accidentally. (This doesn't require new engine features.)
C4D_GUI: A GUI category is needed. Requirements and technical discussion can be found in the bugtracker entry #130.
At the OCM, it was mentioned that many objects that are used with hold-down need a feedback about the reload status that is easily visible. And where would that be? Around the mouse cursor of course. As a circle-like "progress-bar" of some sort. To do this completely via script would require to query the GUI coordinates of the mouse position every frame, thus transferring them over network. The display of this circle would get extremely laggy if the control rate is high. The better solution would be to introduce a draw position property that can be applied to any C4D_GUI objects and define relative to what the gui element should be drawn on the client. This object and a possible interface for changing the cursor graphic via script would need something like DP_Cursor. Other possible constants would be DP_Center for the center of the screen. DP_HorizontalCenter, DP_VerticalCenter, DP_Bottom, DP_Right etc. made sense if the GUI objects wouldn't be zoomed on different resolutions (see below).
It makes sense here to not zoom GUI objects at all with the standard zoom feature but relative to the size of the viewport. If the viewport (=resolution) is smaller, the hud elements need to be smaller. The same kind of zoom as the standard zoom is applied to GUI objects but their zoom level is determined by the resolution, not by the user. Filed under #198.
Requirements:
Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill

