Methods Signatures
EditorWindow.DrawXORLine(self, x1, y1, x2, y2) |
Draws an XOR line in the editor view. |
EditorWindow.MouseDragStart(self, button, mx, my, flags) |
Initializes a mouse dragging loop. |
EditorWindow.MouseDrag(self) |
Checks for the mouse drag status. |
EditorWindow.MouseDragEnd(self) |
Checks why the mouse drag ended. Allows to perform any undo operations needed if the user canceled the drag. |
EditorWindow.BfGetInputEvent(self, askdevice, res) |
Gets the next input event for a certain device from the event queue. |
EditorWindow.BfGetInputState(self, askdevice, ...) |
Polls a certain channel of a device for the current input state. |
EditorWindow.Screen2Local(self) |
Transforms screen coordinates (relative to the top left corner of the system screen) to local coordinates (relative to the top left corner of the user area). |
EditorWindow.Local2Screen(self) |
Transforms local coordinates (relative to the top left corner of the user area) to screen coordinates (relative to the top left corner of the system screen). |
EditorWindow.Global2Local(self) |
Transforms global window coordinates (relative to the top left corner of the application window) to local coordinates (relative to the top left corner of the user area). |
EditorWindow.Local2Global(self) |
Transforms local coordinates (relative to the top left corner of the user area) to global window coordinates (relative to the top left corner of the application window). |
Methods Documentation
-
EditorWindow.
DrawXORLine
(self, x1, y1, x2, y2)¶ Draws an XOR line in the editor view.
Parameters: - x1 (int) – Start X coordinate of the line.
- y1 (int) – Start Y coordinate of the line.
- x2 (int) – End X coordinate of the line.
- y2 (int) – End Y coordinate of the line.
-
EditorWindow.
MouseDragStart
(self, button, mx, my, flags)¶ Initializes a mouse dragging loop.
For instance in a
ToolData.MouseInput()
.mousex = msg[c4d.BFM_INPUT_X] mousey = msg[c4d.BFM_INPUT_Y] win.MouseDragStart(c4d.KEY_MLEFT, mousex, mousey, c4d.MOUSEDRAGFLAGS_DONTHIDEMOUSE|c4d.MOUSEDRAGFLAGS_NOMOVE) mx = mousex my = mousey while True: result, dx, dy, channels = win.MouseDrag() if result !=c4d.MOUSEDRAGRESULT_CONTINUE: break mx += dx my += dy print "Mouse Dragging at position [%f,%f]" % (mx, my) print "Mouse Dragging Ended: ", win.MouseDragEnd()
Parameters: - button (int) – State of the mouse buttons.
- mx (float) – The mouse X coordinate.
- my (float) – The mouse Y coordinate.
- flags (int) –
The mouse drag flags:
MOUSEDRAGFLAGS_NONE None. MOUSEDRAGFLAGS_DONTHIDEMOUSE Show mouse pointer during drag. MOUSEDRAGFLAGS_NOMOVE MouseDrag() returns MOUSEDRAGRESULT_CONTINUE even if mouse is not moved. Otherwise MouseDrag() only returns if mouse is moved. MOUSEDRAGFLAGS_EVERYPACKET Receive every packet of the queue, otherwise only data of the last packet. MOUSEDRAGFLAGS_COMPENSATEVIEWPORTORG Compensates the viewport origin during drag. MOUSEDRAGFLAGS_AIRBRUSH Airbrush mode.
-
EditorWindow.
MouseDrag
(self)¶ Checks for the mouse drag status.
result, dx, dy, channels = win.MouseDrag()
Return type: Tuple[int, float, float, c4d.BaseContainer] Returns: A tuple.
-
EditorWindow.
MouseDragEnd
(self)¶ Checks why the mouse drag ended. Allows to perform any undo operations needed if the user canceled the drag.
Return type: int Returns: The mouse drag result: MOUSEDRAGRESULT_ESCAPE Drag aborted. MOUSEDRAGRESULT_FINISHED Drag finished. MOUSEDRAGRESULT_CONTINUE Drag still in progress.
-
EditorWindow.
BfGetInputEvent
(self, askdevice, res)¶ Gets the next input event for a certain device from the event queue.
See also
Parameters: - askdevice (int) – The device to ask. Either BFM_INPUT_MOUSE or BFM_INPUT_KEYBOARD.
- res (c4d.BaseContainer) – The result container.
Return type: bool
Returns: True if the event could be retrieved in res, otherwise False.
-
EditorWindow.
BfGetInputState
(self, askdevice, askchannel, res)¶ Polls a certain channel of a device for the current input state.
See also
Parameters: - askdevice (int) – The device to ask. Either BFM_INPUT_MOUSE or BFM_INPUT_KEYBOARD.
- askchannel (int) – The channel to ask.
- res (c4d.BaseContainer) – The result container.
Return type: bool
Returns: True if the state could be retrieved in res, otherwise False.
-
EditorWindow.
Screen2Local
(self)¶ Transforms screen coordinates (relative to the top left corner of the system screen) to local coordinates (relative to the top left corner of the user area).
x, y = win.Screen2Local()
Return type: Tuple[int, int] Returns: The local x and y coordinate. Raises: RuntimeError – If the coordinates cannot be transformed.
-
EditorWindow.
Local2Screen
(self)¶ Transforms local coordinates (relative to the top left corner of the user area) to screen coordinates (relative to the top left corner of the system screen).
x, y = win.Local2Screen()
Return type: Tuple[int, int] Returns: The screen x and y coordinate. Raises: RuntimeError – If the coordinates cannot be transformed.
-
EditorWindow.
Global2Local
(self)¶ Transforms global window coordinates (relative to the top left corner of the application window) to local coordinates (relative to the top left corner of the user area).
x, y = win.Global2Local()
Return type: Tuple[int, int] Returns: The local x and y coordinate. Raises: RuntimeError – If the coordinates cannot be transformed.
-
EditorWindow.
Local2Global
(self)¶ Transforms local coordinates (relative to the top left corner of the user area) to global window coordinates (relative to the top left corner of the application window).
x, y = win.Local2Global()
Return type: Tuple[int, int] Returns: The global x and y coordinate. Raises: RuntimeError – If the coordinates cannot be transformed.