mouse Subroutine

private subroutine mouse(self, kind, x, y, mask, button)

A mouse event: kind MOUSE_MOVE, MOUSE_PRESS or MOUSE_RELEASE.

Type Bound

WindowProxy

Arguments

Type IntentOptional 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)


Calls

proc~~mouse~~CallsGraph proc~mouse WindowProxy%mouse interface~vkf_viewer_mouse vkf_viewer_mouse proc~mouse->interface~vkf_viewer_mouse

Source Code

    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