Pointer (Mouse) Functions
[Canvas Functions]
Functions that deal with the status of the pointer (mouse cursor). More...
Functions | |
EAPI void | evas_pointer_output_xy_get (const Evas *e, int *x, int *y) |
This function returns the current known pointer co-ordinates. | |
EAPI void | evas_pointer_canvas_xy_get (const Evas *e, Evas_Coord *x, Evas_Coord *y) |
This function returns the current known pointer co-ordinates. | |
EAPI int | evas_pointer_button_down_mask_get (const Evas *e) |
Returns a bitmask with the mouse buttons currently pressed, set to 1. | |
EAPI Eina_Bool | evas_pointer_inside_get (const Evas *e) |
Returns whether the mouse pointer is logically inside the canvas. |
Detailed Description
Functions that deal with the status of the pointer (mouse cursor).
Function Documentation
EAPI int evas_pointer_button_down_mask_get | ( | const Evas * | e | ) |
Returns a bitmask with the mouse buttons currently pressed, set to 1.
- Parameters:
-
e The pointer to the Evas Canvas
- Returns:
- A bitmask of the currently depressed buttons on the cavas
Calling this function will return a 32-bit integer with the appropriate bits set to 1 that correspond to a mouse button being depressed. This limits Evas to a mouse devices with a maximum of 32 buttons, but that is generally in excess of any host system's pointing device abilities.
A canvas by default begins with no mouse buttons being pressed and only calls to evas_event_feed_mouse_down(), evas_event_feed_mouse_down_data(), evas_event_feed_mouse_up() and evas_event_feed_mouse_up_data() will alter that.
The least significant bit corresponds to the first mouse button (button 1) and the most significant bit corresponds to the last mouse button (button 32).
If e
is not a valid canvas, the return value is undefined.
Example:
extern Evas *evas; int button_mask, i; button_mask = evas_pointer_button_down_mask_get(evas); printf("Buttons currently pressed:\n"); for (i = 0; i < 32; i++) { if ((button_mask & (1 << i)) != 0) printf("Button %i\n", i + 1); }
EAPI void evas_pointer_canvas_xy_get | ( | const Evas * | e, | |
Evas_Coord * | x, | |||
Evas_Coord * | y | |||
) |
This function returns the current known pointer co-ordinates.
- Parameters:
-
e The pointer to the Evas Canvas x The pointer to a Evas_Coord to be filled in y The pointer to a Evas_Coord to be filled in
This function returns the current known canvas unit co-ordinates of the mouse pointer and sets the contents of the Evas_Coords pointed to by x
and y
to contain these co-ordinates. If e
is not a valid canvas the results of this function are undefined.
Example:
extern Evas *evas; Evas_Coord mouse_x, mouse_y; evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y); printf("Mouse is at canvas position %f, %f\n", mouse_x, mouse_y);
EAPI Eina_Bool evas_pointer_inside_get | ( | const Evas * | e | ) |
Returns whether the mouse pointer is logically inside the canvas.
- Parameters:
-
e The pointer to the Evas Canvas
- Returns:
- An integer that is 1 if the mouse is inside the canvas, 0 otherwise
When this function is called it will return a value of either 0 or 1, depending on if evas_event_feed_mouse_in(), evas_event_feed_mouse_in_data(), or evas_event_feed_mouse_out(), evas_event_feed_mouse_out_data() have been called to feed in a mouse enter event into the canvas.
A return value of 1 indicates the mouse is logically inside the canvas, and 0 implies it is logically outside the canvas.
A canvas begins with the mouse being assumed outside (0).
If e
is not a valid canvas, the return value is undefined.
Example:
extern Evas *evas; if (evas_pointer_inside_get(evas)) printf("Mouse is in!\n"); else printf("Mouse is out!\n");
EAPI void evas_pointer_output_xy_get | ( | const Evas * | e, | |
int * | x, | |||
int * | y | |||
) |
This function returns the current known pointer co-ordinates.
- Parameters:
-
e The pointer to the Evas Canvas x The pointer to an integer to be filled in y The pointer to an integer to be filled in
This function returns the current known screen/output co-ordinates of the mouse pointer and sets the contents of the integers pointed to by x
and y
to contain these co-ordinates. If e
is not a valid canvas the results of this function are undefined.
Example:
extern Evas *evas; int mouse_x, mouse_y; evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y); printf("Mouse is at screen position %i, %i\n", mouse_x, mouse_y);