c4d.gui.EditorWindow

Members

EditorWindow.DrawXORLine(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(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()

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()

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(askdevice, res)

Gets the next input event for a certain device from the event queue.

See also

Input Events.

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(askdevice, askchannel, res)

Polls a certain channel of a device for the current input state.

See also

Input Events.

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()

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()

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()

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()

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.