Types of sensitivity masks
#include <screen/screen.h>
enum { SCREEN_SENSITIVITY_MASK_ALWAYS = (1 << 0), SCREEN_SENSITIVITY_MASK_NEVER = (2 << 0), SCREEN_SENSITIVITY_MASK_NO_FOCUS = (1 << 3), SCREEN_SENSITIVITY_MASK_FULLSCREEN = (1 << 4), SCREEN_SENSITIVITY_MASK_CONTINUE = (1 << 5), SCREEN_SENSITIVITY_MASK_STOP = (2 << 5), SCREEN_SENSITIVITY_MASK_POINTER_BRUSH = (1 << 7), SCREEN_SENSITIVITY_MASK_FINGER_BRUSH = (1 << 8), SCREEN_SENSITIVITY_MASK_STYLUS_BRUSH = (1 << 9), SCREEN_SENSITIVITY_MASK_OVERDRIVE = (1 << 10), SCREEN_SENSITIVITY_MASK_CLIPPED = (1 << 11) };
The window receives keyboard, gamepad, joystick events if it has input focus. Raising a window, pointer or multi-touch release event in that window causes it to acquire input focus. This mask can't be used with SCREEN_SENSITIVITY_MASK_NEVER.
The window never acquires input focus, even after it has been raised. The window receives only input events that are directly injected into it from outside sources. This mask can't be used with SCREEN_SENSITIVITY_MASK_ALWAYS.
The window doesn't acquire input focus after being raised or after a pointer or multi-touch release event occurs. Therefore, the window won't receive keyboard, gamepad, or joystick input unless it's sent directly into the window from an outside source.
The window is considered fullscreen for the purposes of input tests. Transparency is ignored. The window receives keyboard, gamepad, and joystick events as long as the window is visible.
This mask can't be used with SCREEN_SENSITIVITY_MASK_STOP.
This mask can't be used with SCREEN_SENSITIVITY_MASK_CONTINUE.
This mode supersedes SCREEN_SENSITIVITY_MASK_NEVER. The windowing system also draws brush strokes based on the pointer events directly onto the display and the window buffer.
This mode supersedes SCREEN_SENSITIVITY_MASK_NEVER. Screen also draws brush strokes based on the touch events directly onto the screen and the window buffer. Multiple contacts cause multiple brush strokes to be drawn.
This mode supersedes SCREEN_SENSITIVITY_MASK_NEVER. Screen also draws brush strokes based on the touch events directly onto the screen and the window buffer. Multiple contacts cause multiple brush strokes to be drawn.
The effect of this sensitivity mask depends on the power management algorithms in place and on the platform in general.
If a pointer drag operation or a touch and move sequence leaves the window, the window receives an input control notification that the event has left the bounds of the window. The window won't receive subsequent events until the next touch or button press, or until the events enter the window again. Note that re-entry only occurs if the event leaves a window that also has clipping enabled on its sensitivity mask.
These masks are intended to be combined into a single integer bitmask representing combinations of desired sensitivities to be applied to a window.