FreeRDP
RDPINPUT_CONTACT_POINT Struct Reference

#include <rdpei_main.h>

Data Fields

int lastX
 
int lastY
 
BOOL dirty
 
BOOL active
 
UINT32 state
 
UINT32 flags
 
UINT32 contactId
 
int externalId
 
RDPINPUT_CONTACT_DATA data
 

Detailed Description

Touch Contact State Transitions

ENGAGED -> UPDATE | INRANGE | INCONTACT -> ENGAGED ENGAGED -> UP | INRANGE -> HOVERING ENGAGED -> UP -> OUT_OF_RANGE ENGAGED -> UP | CANCELED -> OUT_OF_RANGE

HOVERING -> UPDATE | INRANGE -> HOVERING HOVERING -> DOWN | INRANGE | INCONTACT -> ENGAGED HOVERING -> UPDATE -> OUT_OF_RANGE HOVERING -> UPDATE | CANCELED -> OUT_OF_RANGE

OUT_OF_RANGE -> DOWN | INRANGE | INCONTACT -> ENGAGED OUT_OF_RANGE -> UPDATE | INRANGE -> HOVERING

When a contact is in the "hovering" or "engaged" state, it is referred to as being "active". "Hovering" contacts are in range of the digitizer, while "engaged" contacts are in range of the digitizer and in contact with the digitizer surface. MS-RDPEI remotes only active contacts and contacts that are transitioning to the "out of range" state; see section 2.2.3.3.1.1 for an enumeration of valid state flags combinations.

When transitioning from the "engaged" state to the "hovering" state, or from the "engaged" state to the "out of range" state, the contact position cannot change; it is only allowed to change after the transition has taken place.

Field Documentation

BOOL RDPINPUT_CONTACT_POINT::active
UINT32 RDPINPUT_CONTACT_POINT::contactId
RDPINPUT_CONTACT_DATA RDPINPUT_CONTACT_POINT::data
BOOL RDPINPUT_CONTACT_POINT::dirty
int RDPINPUT_CONTACT_POINT::externalId
UINT32 RDPINPUT_CONTACT_POINT::flags
int RDPINPUT_CONTACT_POINT::lastX
int RDPINPUT_CONTACT_POINT::lastY
UINT32 RDPINPUT_CONTACT_POINT::state

The documentation for this struct was generated from the following file: