Vuo  1.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Macros | Functions
VuoMouse.m File Reference

Description

VuoMouse implementation.

Classes

struct  VuoMouseContext
 Handle for starting and stopping event listeners. More...
 

Functions

void VuoMouse_GetScreenDimensions (int64_t *width, int64_t *height)
 Get the full screen width and height in pixels.
 
VuoMouseVuoMouse_make (void)
 Creates a handle for starting and stopping event listeners.
 
static VuoPoint2d VuoMouse_convertWindowToScreenCoordinates (NSPoint pointInWindow, NSWindow *window, bool *shouldFire)
 Converts a position relative to the window into a position relative to the current screen.
 
static VuoPoint2d VuoMouse_convertViewToVuoCoordinates (NSPoint pointInView, NSView *view)
 Converts a position relative to a view and in view coordinates into a position in Vuo coordinates.
 
static VuoPoint2d VuoMouse_convertFullScreenToVuoCoordinates (NSPoint pointInScreen, NSWindow *window, bool *isInScreen)
 Converts a position in screen coordinates into a position relative to the the window's fullscreen view and in Vuo coordinates.
 
VuoPoint2d VuoMouse_convertWindowToVuoCoordinates (NSPoint pointInWindow, NSWindow *window, bool *shouldFire)
 Converts a position relative to the window and in window coordinates into a position relative to the window's content view and in Vuo coordinates.
 
static VuoPoint2d VuoMouse_convertDeltaToVuoCoordinates (NSPoint delta, NSWindow *window)
 Converts a change in position in window coordinates into a change in position in Vuo coordinates.
 
static void VuoMouse_fireScrollDeltaIfNeeded (NSEvent *event, VuoWindowReference windowRef, VuoModifierKey modifierKey, void(^scrolled)(VuoPoint2d))
 If the mouse was scrolled a non-zero amount, calls the trigger function and passes it the scroll delta.
 
static void VuoMouse_fireMousePositionIfNeeded (NSEvent *event, NSPoint fullscreenPoint, VuoWindowReference windowRef, VuoModifierKey modifierKey, bool fireRegardlessOfPosition, void(^fire)(VuoPoint2d))
 If the mouse event is not ignored, calls the block and passes it the mouse position.
 
static void VuoMouse_fireMouseDeltaIfNeeded (NSEvent *event, VuoWindowReference windowRef, VuoModifierKey modifierKey, void(*fire)(VuoPoint2d))
 If the mouse event is not ignored, calls the trigger function and passes it the mouse delta (change in position).
 
static void VuoMouse_fireMouseClickIfNeeded (struct VuoMouseContext *context, NSEvent *event, VuoWindowReference windowRef, VuoModifierKey modifierKey, void(*singleClicked)(VuoPoint2d), void(*doubleClicked)(VuoPoint2d), void(*tripleClicked)(VuoPoint2d))
 If the mouse click event is not ignored, calls the trigger function and passes it the mouse position.
 
void VuoMouse_startListeningForScrolls (VuoMouse *mouseListener, void(*scrolled)(VuoPoint2d), VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for scroll events, and calling the trigger function for each one.
 
void VuoMouse_startListeningForScrollsWithCallback (VuoMouse *mouseListener, void(^scrolled)(VuoPoint2d), VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for scroll events, and calling the scrolled block for each one.
 
void VuoMouse_startListeningForMoves (VuoMouse *mouseListener, void(*movedTo)(VuoPoint2d), VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for mouse move events, and calling the trigger function (with mouse position) for each one,.
 
void VuoMouse_startListeningForMovesWithCallback (VuoMouse *mouseListener, void(^movedTo)(VuoPoint2d), VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for mouse move events, and calling the given block for each one.
 
void VuoMouse_startListeningForDeltas (VuoMouse *mouseListener, void(*movedBy)(VuoPoint2d), VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for mouse move events, and calling the trigger function (with change in mouse position) for each one.
 
void VuoMouse_startListeningForDragsWithCallback (VuoMouse *mouseListener, void(^dragMovedTo)(VuoPoint2d), VuoMouseButton button, VuoWindowReference window, VuoModifierKey modifierKey, bool fireRegardlessOfPosition)
 Starts listening for mouse drag events, and calling the given block for each one.
 
void VuoMouse_startListeningForDrags (VuoMouse *mouseListener, void(*dragMovedTo)(VuoPoint2d), VuoMouseButton button, VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for mouse drag events, and calling the trigger function for each one.
 
void VuoMouse_startListeningForPressesWithCallback (VuoMouse *mouseListener, void(^pressed)(VuoPoint2d), VuoMouseButton button, VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for mouse press events, and calling the given block for each one.
 
void VuoMouse_startListeningForPresses (VuoMouse *mouseListener, void(*pressed)(VuoPoint2d), VuoMouseButton button, VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for mouse press events, and calling the trigger function for each one.
 
void VuoMouse_startListeningForReleasesWithCallback (VuoMouse *mouseListener, void(^released)(VuoPoint2d), VuoMouseButton button, VuoWindowReference window, VuoModifierKey modifierKey, bool fireRegardlessOfPosition)
 Starts listening for mouse release events, and calling the given block for each one.
 
void VuoMouse_startListeningForReleases (VuoMouse *mouseListener, void(*released)(VuoPoint2d), VuoMouseButton button, VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for mouse release events, and calling the trigger function for each one.
 
void VuoMouse_startListeningForClicks (VuoMouse *mouseListener, void(*singleClicked)(VuoPoint2d), void(*doubleClicked)(VuoPoint2d), void(*tripleClicked)(VuoPoint2d), VuoMouseButton button, VuoWindowReference window, VuoModifierKey modifierKey)
 Starts listening for mouse click events, and calling the trigger function for each one.
 
void VuoMouse_stopListening (VuoMouse *mouseListener)
 Stops listening for mouse events for the given handle.
 
void VuoMouse_getStatus (VuoPoint2d *position, VuoBoolean *isPressed, VuoMouseButton button, VuoWindowReference windowRef, VuoModifierKey modifierKey)
 Outputs the current mouse position and whether the mouse is currently pressed.
 

Function Documentation

static VuoPoint2d VuoMouse_convertDeltaToVuoCoordinates ( NSPoint  delta,
NSWindow *  window 
)
static

Converts a change in position in window coordinates into a change in position in Vuo coordinates.

static VuoPoint2d VuoMouse_convertFullScreenToVuoCoordinates ( NSPoint  pointInScreen,
NSWindow *  window,
bool *  isInScreen 
)
static

Converts a position in screen coordinates into a position relative to the the window's fullscreen view and in Vuo coordinates.

static VuoPoint2d VuoMouse_convertViewToVuoCoordinates ( NSPoint  pointInView,
NSView *  view 
)
static

Converts a position relative to a view and in view coordinates into a position in Vuo coordinates.

static VuoPoint2d VuoMouse_convertWindowToScreenCoordinates ( NSPoint  pointInWindow,
NSWindow *  window,
bool *  shouldFire 
)
static

Converts a position relative to the window into a position relative to the current screen.

VuoPoint2d VuoMouse_convertWindowToVuoCoordinates ( NSPoint  pointInWindow,
NSWindow *  window,
bool *  shouldFire 
)

Converts a position relative to the window and in window coordinates into a position relative to the window's content view and in Vuo coordinates.

static void VuoMouse_fireMouseClickIfNeeded ( struct VuoMouseContext context,
NSEvent *  event,
VuoWindowReference  windowRef,
VuoModifierKey  modifierKey,
void(*)(VuoPoint2d singleClicked,
void(*)(VuoPoint2d doubleClicked,
void(*)(VuoPoint2d tripleClicked 
)
static

If the mouse click event is not ignored, calls the trigger function and passes it the mouse position.

If a window is given, the mouse position is in Vuo coordinates relative to the window's content view. The mouse event is ignored if it doesn't correspond to this window.

If no window is given, the mouse position is in screen coordinates.

static void VuoMouse_fireMouseDeltaIfNeeded ( NSEvent *  event,
VuoWindowReference  windowRef,
VuoModifierKey  modifierKey,
void(*)(VuoPoint2d fire 
)
static

If the mouse event is not ignored, calls the trigger function and passes it the mouse delta (change in position).

If a window is given, the mouse delta is in Vuo coordinates relative to the window's content view. The mouse event is ignored if it doesn't correspond to this window.

If no window is given, the mouse delta is in screen coordinates.

static void VuoMouse_fireMousePositionIfNeeded ( NSEvent *  event,
NSPoint  fullscreenPoint,
VuoWindowReference  windowRef,
VuoModifierKey  modifierKey,
bool  fireRegardlessOfPosition,
void(^)(VuoPoint2d fire 
)
static

If the mouse event is not ignored, calls the block and passes it the mouse position.

If a window is given, the mouse position is in Vuo coordinates relative to the window's content view. The mouse event is ignored if it doesn't correspond to this window.

If no window is given, the mouse position is in screen coordinates.

static void VuoMouse_fireScrollDeltaIfNeeded ( NSEvent *  event,
VuoWindowReference  windowRef,
VuoModifierKey  modifierKey,
void(^)(VuoPoint2d scrolled 
)
static

If the mouse was scrolled a non-zero amount, calls the trigger function and passes it the scroll delta.

void VuoMouse_GetScreenDimensions ( int64_t *  width,
int64_t *  height 
)

Get the full screen width and height in pixels.

This function may be called on any thread except the main thread.

void VuoMouse_getStatus ( VuoPoint2d position,
VuoBoolean isPressed,
VuoMouseButton  button,
VuoWindowReference  windowRef,
VuoModifierKey  modifierKey 
)

Outputs the current mouse position and whether the mouse is currently pressed.

If the application is not active, then neither position nor isPressed is modified.

If a window is given, but it's not the key window or the mouse is not within the window, then position is modified but isPressed is not.

If a window is given, the mouse position is in Vuo coordinates relative to the window's content view. Otherwise, the mouse position is in screen coordinates.

VuoMouse* VuoMouse_make ( void  )

Creates a handle for starting and stopping event listeners.

void VuoMouse_startListeningForClicks ( VuoMouse mouseListener,
void(*)(VuoPoint2d singleClicked,
void(*)(VuoPoint2d doubleClicked,
void(*)(VuoPoint2d tripleClicked,
VuoMouseButton  button,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for mouse click events, and calling the trigger function for each one.

void VuoMouse_startListeningForDeltas ( VuoMouse mouseListener,
void(*)(VuoPoint2d movedBy,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for mouse move events, and calling the trigger function (with change in mouse position) for each one.

void VuoMouse_startListeningForDrags ( VuoMouse mouseListener,
void(*)(VuoPoint2d dragMovedTo,
VuoMouseButton  button,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for mouse drag events, and calling the trigger function for each one.

void VuoMouse_startListeningForDragsWithCallback ( VuoMouse mouseListener,
void(^)(VuoPoint2d dragMovedTo,
VuoMouseButton  button,
VuoWindowReference  window,
VuoModifierKey  modifierKey,
bool  fireRegardlessOfPosition 
)

Starts listening for mouse drag events, and calling the given block for each one.

void VuoMouse_startListeningForMoves ( VuoMouse mouseListener,
void(*)(VuoPoint2d movedTo,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for mouse move events, and calling the trigger function (with mouse position) for each one,.

void VuoMouse_startListeningForMovesWithCallback ( VuoMouse mouseListener,
void(^)(VuoPoint2d movedTo,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for mouse move events, and calling the given block for each one.

void VuoMouse_startListeningForPresses ( VuoMouse mouseListener,
void(*)(VuoPoint2d pressed,
VuoMouseButton  button,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for mouse press events, and calling the trigger function for each one.

void VuoMouse_startListeningForPressesWithCallback ( VuoMouse mouseListener,
void(^)(VuoPoint2d pressed,
VuoMouseButton  button,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for mouse press events, and calling the given block for each one.

void VuoMouse_startListeningForReleases ( VuoMouse mouseListener,
void(*)(VuoPoint2d released,
VuoMouseButton  button,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for mouse release events, and calling the trigger function for each one.

void VuoMouse_startListeningForReleasesWithCallback ( VuoMouse mouseListener,
void(^)(VuoPoint2d released,
VuoMouseButton  button,
VuoWindowReference  window,
VuoModifierKey  modifierKey,
bool  fireRegardlessOfPosition 
)

Starts listening for mouse release events, and calling the given block for each one.

void VuoMouse_startListeningForScrolls ( VuoMouse mouseListener,
void(*)(VuoPoint2d scrolled,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for scroll events, and calling the trigger function for each one.

void VuoMouse_startListeningForScrollsWithCallback ( VuoMouse mouseListener,
void(^)(VuoPoint2d scrolled,
VuoWindowReference  window,
VuoModifierKey  modifierKey 
)

Starts listening for scroll events, and calling the scrolled block for each one.

void VuoMouse_stopListening ( VuoMouse mouseListener)

Stops listening for mouse events for the given handle.