// generated from rosidl_adapter/resource/msg.idl.em
// with input from visualization_msgs/msg/InteractiveMarkerFeedback.msg
// generated code does not contain a copyright notice

#include "geometry_msgs/msg/Point.idl"
#include "geometry_msgs/msg/Pose.idl"
#include "std_msgs/msg/Header.idl"

module visualization_msgs {
  module msg {
    module InteractiveMarkerFeedback_Constants {
      const uint8 KEEP_ALIVE = 0;
      const uint8 POSE_UPDATE = 1;
      const uint8 MENU_SELECT = 2;
      const uint8 BUTTON_CLICK = 3;
      const uint8 MOUSE_DOWN = 4;
      const uint8 MOUSE_UP = 5;
    };
    @verbatim (language="comment", text=
      " Time/frame info.")
    struct InteractiveMarkerFeedback {
      std_msgs::msg::Header header;

      @verbatim (language="comment", text=
        " Identifying string. Must be unique in the topic namespace.")
      string client_id;

      @verbatim (language="comment", text=
        " Feedback message sent back from the GUI, e.g." "\n"
        " when the status of an interactive marker was modified by the user." "\n"
        " Specifies which interactive marker and control this message refers to")
      string marker_name;

      string control_name;

      uint8 event_type;

      @verbatim (language="comment", text=
        " Current pose of the marker" "\n"
        " Note: Has to be valid for all feedback types.")
      geometry_msgs::msg::Pose pose;

      @verbatim (language="comment", text=
        " Contains the ID of the selected menu entry" "\n"
        " Only valid for MENU_SELECT events.")
      uint32 menu_entry_id;

      @verbatim (language="comment", text=
        " If event_type is BUTTON_CLICK, MOUSE_DOWN, or MOUSE_UP, mouse_point" "\n"
        " may contain the 3 dimensional position of the event on the" "\n"
        " control.  If it does, mouse_point_valid will be true.  mouse_point" "\n"
        " will be relative to the frame listed in the header.")
      geometry_msgs::msg::Point mouse_point;

      boolean mouse_point_valid;
    };
  };
};
