// 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 {
      @verbatim (language="comment", text=
        "Type of the event" "\n"        "KEEP_ALIVE: sent while dragging to keep up control of the marker" "\n"        "MENU_SELECT: a menu entry has been selected" "\n"        "BUTTON_CLICK: a button control has been clicked" "\n"        "POSE_UPDATE: the pose has been changed using one of the controls")
      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;
    };
  };
};
