/** * gst_navigation_event_parse_command: * @event: A #GstEvent to inspect. * @command: Pointer to GstNavigationCommand to receive the type of the * navigation event. * * Inspect a #GstNavigation command event and retrieve the enum value of the * associated command. * * Returns: TRUE if the navigation command could be extracted, otherwise FALSE. * * Since: 0.10.23 */ gboolean gst_navigation_event_parse_command (GstEvent * event, GstNavigationCommand * command) { const GstStructure *s; gboolean ret = TRUE; g_return_val_if_fail (GST_NAVIGATION_EVENT_HAS_TYPE (event, COMMAND), FALSE); if (command) { s = gst_event_get_structure (event); ret = gst_structure_get_uint (s, "command-code", (guint *) command); WARN_IF_FAIL (ret, "Couldn't extract command code from command event"); } return ret; }
EXPORT_C #endif gboolean gst_navigation_event_parse_command (GstEvent * event, GstNavigationCommand * command) { const GstStructure *s; g_return_val_if_fail (GST_NAVIGATION_EVENT_HAS_TYPE (event, COMMAND), FALSE); if (command) { s = gst_event_get_structure (event); g_return_val_if_fail (gst_structure_get_uint (s, "command-code", (guint*)command), FALSE); } return TRUE; }
EXPORT_C #endif gboolean gst_navigation_event_parse_mouse_move_event (GstEvent * event, gdouble * x, gdouble * y) { const GstStructure *s; g_return_val_if_fail (GST_NAVIGATION_EVENT_HAS_TYPE (event, MOUSE_MOVE), FALSE); s = gst_event_get_structure (event); if (x) g_return_val_if_fail (gst_structure_get_double (s, "pointer_x", x), FALSE); if (y) g_return_val_if_fail (gst_structure_get_double (s, "pointer_y", y), FALSE); return TRUE; }
/** * gst_navigation_event_parse_mouse_move_event: * @event: A #GstEvent to inspect. * @x: Pointer to a gdouble to receive the x coordinate of the mouse movement. * @y: Pointer to a gdouble to receive the y coordinate of the mouse movement. * * Inspect a #GstNavigation mouse movement event and extract the coordinates * of the event. * * Returns: TRUE if both coordinates could be extracted, otherwise FALSE. * * Since: 0.10.23 */ gboolean gst_navigation_event_parse_mouse_move_event (GstEvent * event, gdouble * x, gdouble * y) { const GstStructure *s; gboolean ret = TRUE; g_return_val_if_fail (GST_NAVIGATION_EVENT_HAS_TYPE (event, MOUSE_MOVE), FALSE); s = gst_event_get_structure (event); if (x) ret &= gst_structure_get_double (s, "pointer_x", x); if (y) ret &= gst_structure_get_double (s, "pointer_y", y); WARN_IF_FAIL (ret, "Couldn't extract positions from mouse move event"); return ret; }