VSF Documented
Data Structures | Macros | Typedefs | Enumerations
vsf_input_mouse.h File Reference
#include "../vsf_input_cfg.h"
#include "../vsf_input_get_type.h"

Go to the source code of this file.

Data Structures

struct  vk_mouse_evt_t
 

Macros

#define vsf_input_mouse_evt_move_set(__evt, __x, __y)
 
#define vsf_input_mouse_evt_wheel_set(__evt, __x, __y)
 
#define vsf_input_mouse_evt_button_set(__evt, __button, __is_down, __x, __y)
 
#define vsf_input_mouse_evt_get(__evt)    ((__evt)->id & 0xFF)
 
#define vsf_input_mouse_evt_button_get(__evt)    (int)(((__evt)->id >> 8) & 0x03)
 
#define vsf_input_mouse_evt_button_is_down(__evt)    (!!(((__evt)->id >> 12) & 1))
 
#define vsf_input_mouse_evt_get_x(__evt)    ((int16_t)(((__evt)->cur.valu32 >> 0) & 0xFFFF))
 
#define vsf_input_mouse_evt_get_y(__evt)    ((int16_t)(((__evt)->cur.valu32 >> 16) & 0xFFFF))
 

Typedefs

typedef struct vk_mouse_evt_t vk_mouse_evt_t
 

Enumerations

enum  { VSF_INPUT_TYPE_MOUSE = VSF_INPUT_USER_TYPE }
 
enum  {
  VSF_INPUT_MOUSE_EVT_MOVE ,
  VSF_INPUT_MOUSE_EVT_BUTTON ,
  VSF_INPUT_MOUSE_EVT_WHEEL
}
 
enum  {
  VSF_INPUT_MOUSE_BUTTON_LEFT ,
  VSF_INPUT_MOUSE_BUTTON_MIDDLE ,
  VSF_INPUT_MOUSE_BUTTON_RIGHT
}
 

Macro Definition Documentation

◆ vsf_input_mouse_evt_move_set

#define vsf_input_mouse_evt_move_set (   __evt,
  __x,
  __y 
)
Value:
do { \
(__evt)->id = VSF_INPUT_MOUSE_EVT_MOVE; \
(__evt)->cur.valu32 = ((__x) | ((__y) << 16)); \
} while (0)
@ VSF_INPUT_MOUSE_EVT_MOVE
Definition vsf_input_mouse.h:74

◆ vsf_input_mouse_evt_wheel_set

#define vsf_input_mouse_evt_wheel_set (   __evt,
  __x,
  __y 
)
Value:
do { \
(__evt)->id = VSF_INPUT_MOUSE_EVT_WHEEL; \
(__evt)->cur.valu32 = ((__x) | ((__y) << 16)); \
} while (0)
@ VSF_INPUT_MOUSE_EVT_WHEEL
Definition vsf_input_mouse.h:76

◆ vsf_input_mouse_evt_button_set

#define vsf_input_mouse_evt_button_set (   __evt,
  __button,
  __is_down,
  __x,
  __y 
)
Value:
do { \
(__evt)->id = VSF_INPUT_MOUSE_EVT_BUTTON | ((__button) << 8) | ((__is_down) << 12);\
(__evt)->cur.valu32 = ((__x) | ((__y) << 16)); \
} while (0)
@ VSF_INPUT_MOUSE_EVT_BUTTON
Definition vsf_input_mouse.h:75

◆ vsf_input_mouse_evt_get

#define vsf_input_mouse_evt_get (   __evt)     ((__evt)->id & 0xFF)

◆ vsf_input_mouse_evt_button_get

#define vsf_input_mouse_evt_button_get (   __evt)     (int)(((__evt)->id >> 8) & 0x03)

◆ vsf_input_mouse_evt_button_is_down

#define vsf_input_mouse_evt_button_is_down (   __evt)     (!!(((__evt)->id >> 12) & 1))

◆ vsf_input_mouse_evt_get_x

#define vsf_input_mouse_evt_get_x (   __evt)     ((int16_t)(((__evt)->cur.valu32 >> 0) & 0xFFFF))

◆ vsf_input_mouse_evt_get_y

#define vsf_input_mouse_evt_get_y (   __evt)     ((int16_t)(((__evt)->cur.valu32 >> 16) & 0xFFFF))

Typedef Documentation

◆ vk_mouse_evt_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VSF_INPUT_TYPE_MOUSE 

◆ anonymous enum

anonymous enum
Enumerator
VSF_INPUT_MOUSE_EVT_MOVE 
VSF_INPUT_MOUSE_EVT_BUTTON 
VSF_INPUT_MOUSE_EVT_WHEEL 

◆ anonymous enum

anonymous enum
Enumerator
VSF_INPUT_MOUSE_BUTTON_LEFT 
VSF_INPUT_MOUSE_BUTTON_MIDDLE 
VSF_INPUT_MOUSE_BUTTON_RIGHT