emit Subroutine

private pure subroutine emit(events, n_events, code, char_code)

Append an event, silently dropping any beyond the caller’s array.

Arguments

Type IntentOptional Attributes Name
type(key_event_t), intent(inout) :: events(:)
integer(kind=default_int), intent(inout) :: n_events
integer(kind=int32), intent(in) :: code
integer(kind=int32), intent(in) :: char_code

Called by

proc~~emit~~CalledByGraph proc~emit emit proc~decode_keys decode_keys proc~decode_keys->proc~emit

Source Code

   pure subroutine emit(events, n_events, code, char_code)
      !! Append an event, silently dropping any beyond the caller's array.
      type(key_event_t), intent(inout) :: events(:)
      integer(default_int), intent(inout) :: n_events
      integer(int32), intent(in) :: code
      integer(int32), intent(in) :: char_code

      if (n_events >= size(events, kind=default_int)) return
      n_events = n_events + 1_default_int
      events(n_events)%code = code
      events(n_events)%char_code = char_code
   end subroutine emit