libdom
Loading...
Searching...
No Matches
Macros | Typedefs | Functions
mouse_event.h File Reference
#include <stdbool.h>
#include <dom/core/exceptions.h>
#include <dom/core/string.h>
#include <dom/events/event_target.h>

Go to the source code of this file.

Macros

#define dom_mouse_event_get_screen_x(e, x)
 
#define dom_mouse_event_get_screen_y(e, y)
 
#define dom_mouse_event_get_client_x(e, x)
 
#define dom_mouse_event_get_client_y(e, y)
 
#define dom_mouse_event_get_ctrl_key(e, k)
 
#define dom_mouse_event_get_shift_key(e, k)
 
#define dom_mouse_event_get_alt_key(e, k)
 
#define dom_mouse_event_get_meta_key(e, k)
 
#define dom_mouse_event_get_button(e, b)
 
#define dom_mouse_event_get_related_target(e, t)
 
#define dom_mouse_event_get_modifier_state(e, m, s)
 
#define dom_mouse_event_init(e, t, b, c, v, d, sx, sy, cx, cy, ctrl, alt, shift, meta, button, et)
 
#define dom_mouse_event_init_ns(e, n, t, b, c, v, d, sx, sy, cx, cy, ctrl, alt, shift, meta, button, et)
 

Typedefs

typedef struct dom_mouse_event dom_mouse_event
 

Functions

dom_exception _dom_mouse_event_get_screen_x (dom_mouse_event *evt, int32_t *x)
 
dom_exception _dom_mouse_event_get_screen_y (dom_mouse_event *evt, int32_t *y)
 
dom_exception _dom_mouse_event_get_client_x (dom_mouse_event *evt, int32_t *x)
 
dom_exception _dom_mouse_event_get_client_y (dom_mouse_event *evt, int32_t *y)
 
dom_exception _dom_mouse_event_get_ctrl_key (dom_mouse_event *evt, bool *key)
 
dom_exception _dom_mouse_event_get_shift_key (dom_mouse_event *evt, bool *key)
 
dom_exception _dom_mouse_event_get_alt_key (dom_mouse_event *evt, bool *key)
 
dom_exception _dom_mouse_event_get_meta_key (dom_mouse_event *evt, bool *key)
 
dom_exception _dom_mouse_event_get_button (dom_mouse_event *evt, unsigned short *button)
 
dom_exception _dom_mouse_event_get_related_target (dom_mouse_event *evt, dom_event_target **et)
 
dom_exception _dom_mouse_event_get_modifier_state (dom_mouse_event *evt, dom_string *m, bool *state)
 
dom_exception _dom_mouse_event_init (dom_mouse_event *evt, dom_string *type, bool bubble, bool cancelable, struct dom_abstract_view *view, int32_t detail, int32_t screen_x, int32_t screen_y, int32_t client_x, int32_t client_y, bool ctrl, bool alt, bool shift, bool meta, unsigned short button, dom_event_target *et)
 
dom_exception _dom_mouse_event_init_ns (dom_mouse_event *evt, dom_string *namespace, dom_string *type, bool bubble, bool cancelable, struct dom_abstract_view *view, int32_t detail, int32_t screen_x, int32_t screen_y, int32_t client_x, int32_t client_y, bool ctrl, bool alt, bool shift, bool meta, unsigned short button, dom_event_target *et)
 

Macro Definition Documentation

◆ dom_mouse_event_get_alt_key

#define dom_mouse_event_get_alt_key ( e,
k )
Value:
(dom_mouse_event *) (e), (bool *) (k))
dom_exception _dom_mouse_event_get_alt_key(dom_mouse_event *evt, bool *key)
Definition mouse_event.c:156
Definition mouse_event.h:18

◆ dom_mouse_event_get_button

#define dom_mouse_event_get_button ( e,
b )
Value:
(dom_mouse_event *) (e), (unsigned short *) (b))
dom_exception _dom_mouse_event_get_button(dom_mouse_event *evt, unsigned short *button)
Definition mouse_event.c:186

◆ dom_mouse_event_get_client_x

#define dom_mouse_event_get_client_x ( e,
x )
Value:
(dom_mouse_event *) (e), (int32_t *) (x))
dom_exception _dom_mouse_event_get_client_x(dom_mouse_event *evt, int32_t *x)
Definition mouse_event.c:96

◆ dom_mouse_event_get_client_y

#define dom_mouse_event_get_client_y ( e,
y )
Value:
(dom_mouse_event *) (e), (int32_t *) (y))
dom_exception _dom_mouse_event_get_client_y(dom_mouse_event *evt, int32_t *y)
Definition mouse_event.c:111

◆ dom_mouse_event_get_ctrl_key

#define dom_mouse_event_get_ctrl_key ( e,
k )
Value:
(dom_mouse_event *) (e), (bool *) (k))
dom_exception _dom_mouse_event_get_ctrl_key(dom_mouse_event *evt, bool *key)
Definition mouse_event.c:126

◆ dom_mouse_event_get_meta_key

#define dom_mouse_event_get_meta_key ( e,
k )
Value:
(dom_mouse_event *) (e), (bool *) (k))
dom_exception _dom_mouse_event_get_meta_key(dom_mouse_event *evt, bool *key)
Definition mouse_event.c:171

◆ dom_mouse_event_get_modifier_state

#define dom_mouse_event_get_modifier_state ( e,
m,
s )
Value:
(dom_string *) (m), (bool *) (s))
dom_exception _dom_mouse_event_get_modifier_state(dom_mouse_event *evt, dom_string *m, bool *state)
Definition mouse_event.c:222
Definition string.h:19

◆ dom_mouse_event_get_related_target

#define dom_mouse_event_get_related_target ( e,
t )
Value:
(dom_event_target **) (t))
dom_exception _dom_mouse_event_get_related_target(dom_mouse_event *evt, dom_event_target **et)
Definition mouse_event.c:201
Definition event_target.h:20

◆ dom_mouse_event_get_screen_x

#define dom_mouse_event_get_screen_x ( e,
x )
Value:
(dom_mouse_event *) (e), (int32_t *) (x))
dom_exception _dom_mouse_event_get_screen_x(dom_mouse_event *evt, int32_t *x)
Definition mouse_event.c:66

◆ dom_mouse_event_get_screen_y

#define dom_mouse_event_get_screen_y ( e,
y )
Value:
(dom_mouse_event *) (e), (int32_t *) (y))
dom_exception _dom_mouse_event_get_screen_y(dom_mouse_event *evt, int32_t *y)
Definition mouse_event.c:81

◆ dom_mouse_event_get_shift_key

#define dom_mouse_event_get_shift_key ( e,
k )
Value:
(dom_mouse_event *) (e), (bool *) (k))
dom_exception _dom_mouse_event_get_shift_key(dom_mouse_event *evt, bool *key)
Definition mouse_event.c:141

◆ dom_mouse_event_init

#define dom_mouse_event_init ( e,
t,
b,
c,
v,
d,
sx,
sy,
cx,
cy,
ctrl,
alt,
shift,
meta,
button,
et )
Value:
(dom_string *) (t), (bool) (b), (bool) (c),\
(struct dom_abstract_view *) (v), (int32_t) (d), (int32_t) (sx), \
(int32_t) (sy), (int32_t) (cx), (int32_t) (cy), (bool) (ctrl),\
(bool) (alt), (bool) (shift), (bool) (meta), \
(unsigned short) (button), (dom_event_target *) (et))
dom_exception _dom_mouse_event_init(dom_mouse_event *evt, dom_string *type, bool bubble, bool cancelable, struct dom_abstract_view *view, int32_t detail, int32_t screen_x, int32_t screen_y, int32_t client_x, int32_t client_y, bool ctrl, bool alt, bool shift, bool meta, unsigned short button, dom_event_target *et)
Definition mouse_event.c:281

◆ dom_mouse_event_init_ns

#define dom_mouse_event_init_ns ( e,
n,
t,
b,
c,
v,
d,
sx,
sy,
cx,
cy,
ctrl,
alt,
shift,
meta,
button,
et )
Value:
(dom_string *) (n), (dom_string *) (t),\
(bool) (b), (bool) (c), (struct dom_abstract_view *) (v),\
(int32_t) (d), (int32_t) (sx), (int32_t) (sy), (int32_t) (cx),\
(int32_t) (cy), (bool) (ctrl), (bool) (alt), (bool) (shift),\
(bool) (meta), (unsigned short) (button),\
(dom_event_target *) (et))
dom_exception _dom_mouse_event_init_ns(dom_mouse_event *evt, dom_string *namespace, dom_string *type, bool bubble, bool cancelable, struct dom_abstract_view *view, int32_t detail, int32_t screen_x, int32_t screen_y, int32_t client_x, int32_t client_y, bool ctrl, bool alt, bool shift, bool meta, unsigned short button, dom_event_target *et)
Definition mouse_event.c:335

Typedef Documentation

◆ dom_mouse_event

typedef struct dom_mouse_event dom_mouse_event

Function Documentation

◆ _dom_mouse_event_get_alt_key()

dom_exception _dom_mouse_event_get_alt_key ( dom_mouse_event * evt,
bool * key )

Get the alt key state

Parameters
evtThe Event object
keyWhether the Alt key is pressed down
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_button()

dom_exception _dom_mouse_event_get_button ( dom_mouse_event * evt,
unsigned short * button )

Get the button which get pressed

Parameters
evtThe Event object
buttonThe pressed mouse button
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_client_x()

dom_exception _dom_mouse_event_get_client_x ( dom_mouse_event * evt,
int32_t * x )

Get clientX

Parameters
evtThe Event object
xThe returned clientX
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_client_y()

dom_exception _dom_mouse_event_get_client_y ( dom_mouse_event * evt,
int32_t * y )

Get clientY

Parameters
evtThe Event object
yThe returned clientY
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_ctrl_key()

dom_exception _dom_mouse_event_get_ctrl_key ( dom_mouse_event * evt,
bool * key )

Get the ctrl key state

Parameters
evtThe Event object
keyWhether the Control key is pressed down
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_meta_key()

dom_exception _dom_mouse_event_get_meta_key ( dom_mouse_event * evt,
bool * key )

Get the meta key state

Parameters
evtThe Event object
keyWhether the Meta key is pressed down
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_modifier_state()

dom_exception _dom_mouse_event_get_modifier_state ( dom_mouse_event * evt,
dom_string * m,
bool * state )

Query the state of a modifier using a key identifier

Parameters
evtThe event object
mlThe modifier identifier, such as "Alt", "Control", "Meta", "AltGraph", "CapsLock", "NumLock", "Scroll", "Shift".
stateWhether the modifier key is pressed
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.
Note
: If an application wishes to distinguish between right and left modifiers, this information could be deduced using keyboard events and KeyboardEvent.keyLocation.

◆ _dom_mouse_event_get_related_target()

dom_exception _dom_mouse_event_get_related_target ( dom_mouse_event * evt,
dom_event_target ** et )

Get the related target

Parameters
evtThe Event object
etThe related EventTarget
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_screen_x()

dom_exception _dom_mouse_event_get_screen_x ( dom_mouse_event * evt,
int32_t * x )

Get screenX

Parameters
evtThe Event object
xThe returned screenX
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_screen_y()

dom_exception _dom_mouse_event_get_screen_y ( dom_mouse_event * evt,
int32_t * y )

Get screenY

Parameters
evtThe Event object
yThe returned screenY
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_get_shift_key()

dom_exception _dom_mouse_event_get_shift_key ( dom_mouse_event * evt,
bool * key )

Get the shift key state

Parameters
evtThe Event object
keyWhether the Shift key is pressed down
Returns
DOM_NO_ERR.

◆ _dom_mouse_event_init()

dom_exception _dom_mouse_event_init ( dom_mouse_event * evt,
dom_string * type,
bool bubble,
bool cancelable,
struct dom_abstract_view * view,
int32_t detail,
int32_t screen_x,
int32_t screen_y,
int32_t client_x,
int32_t client_y,
bool ctrl,
bool alt,
bool shift,
bool meta,
unsigned short button,
dom_event_target * et )

Initialise this mouse event

Parameters
evtThe Event object
typeThe event's type
bubbleWhether this is a bubbling event
cancelableWhether this is a cancelable event
viewThe AbstractView associated with this event
detailThe detail information of this mouse event
screen_xThe x position of the mouse pointer in screen
screen_yThe y position of the mouse pointer in screen
client_xThe x position of the mouse pointer in client window
client_yThe y position of the mouse pointer in client window
altThe state of Alt key, true for pressed, false otherwise
shiftThe state of Shift key, true for pressed, false otherwise
mataThe state of Meta key, true for pressed, false otherwise
buttonThe mouse button pressed
etThe related target of this event, may be NULL
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.

◆ _dom_mouse_event_init_ns()

dom_exception _dom_mouse_event_init_ns ( dom_mouse_event * evt,
dom_string * namespace,
dom_string * type,
bool bubble,
bool cancelable,
struct dom_abstract_view * view,
int32_t detail,
int32_t screen_x,
int32_t screen_y,
int32_t client_x,
int32_t client_y,
bool ctrl,
bool alt,
bool shift,
bool meta,
unsigned short button,
dom_event_target * et )

Initialise the event with namespace

Parameters
evtThe Event object
namespaceThe namespace of this event
typeThe event's type
bubbleWhether this is a bubbling event
cancelableWhether this is a cancelable event
viewThe AbstractView associated with this event
detailThe detail information of this mouse event
screen_xThe x position of the mouse pointer in screen
screen_yThe y position of the mouse pointer in screen
client_xThe x position of the mouse pointer in client window
client_yThe y position of the mouse pointer in client window
altThe state of Alt key, true for pressed, false otherwise
shiftThe state of Shift key, true for pressed, false otherwise
mataThe state of Meta key, true for pressed, false otherwise
buttonThe mouse button pressed
etThe related target of this event, may be NULL
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.