Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
public function vkf_viewer_events(viewer, events, capacity) bind(C, name="vkf_viewer_events")
Arguments
Type
Intent
Optional
Attributes
Name
type(c_ptr),
value
::
viewer
viewer handle (vkf_viewer_create)
integer(kind=c_int),
intent(out)
::
events(12,*)
the events, 12 integers each
integer(kind=c_int),
value
::
capacity
the most events events holds
Return Value integer(kind=c_int)
Description
The keyboard and mouse events since the last call, oldest first, up to capacity of them.
Returns how many were copied (the rest are kept for the next call), or -1 on failure.
Each event (a column of events): kind (1 key press, 2 key release, 3 pointer move, 4 button press,
5 button release), key (modified: 'V' with shift), key base, modifiers, button, buttons held (mask),
x, y (framebuffer pixels from the top left), and the render area (offset x, y, width, height).
Pointer events have key 1 while the mouse is grabbed (vkf_viewer_set_grab). Events taken by a
GUI panel are not included.