A mouse event: kind MOUSE_MOVE, MOUSE_PRESS or MOUSE_RELEASE.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(WindowProxy), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | kind |
MOUSE_MOVE, MOUSE_PRESS or MOUSE_RELEASE |
||
| integer, | intent(in) | :: | x |
framebuffer pixels from the top left |
||
| integer, | intent(in) | :: | y |
framebuffer pixels from the top left |
||
| integer, | intent(in) | :: | mask |
buttons held (ior: 256 left, 512 middle, 1024 right) |
||
| integer, | intent(in) | :: | button |
button pressed or released (1 left, 2 middle, 3 right) |
subroutine mouse(self, kind, x, y, mask, button) class(WindowProxy), intent(inout) :: self integer, intent(in) :: kind !! MOUSE_MOVE, MOUSE_PRESS or MOUSE_RELEASE integer, intent(in) :: x, y !! framebuffer pixels from the top left integer, intent(in) :: mask !! buttons held (ior: 256 left, 512 middle, 1024 right) integer, intent(in) :: button !! button pressed or released (1 left, 2 middle, 3 right) if (.not. c_associated(self%viewer_)) return if (vkf_viewer_mouse(self%viewer_, int(kind, c_int), int(x, c_int), int(y, c_int), int(mask, c_int), & int(button, c_int)) /= 0) write(*, '(a)') 'vkframes: mouse event failed' end subroutine mouse