/** * gst_navigation_message_parse_mouse_over: * @message: A #GstMessage to inspect. * @active: A pointer to a gboolean to receive the active/inactive state, * or NULL. * * Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER * and extract the active/inactive flag. If the mouse over event is marked * active, it indicates that the mouse is over a clickable area. * * Returns: %TRUE if the message could be successfully parsed. %FALSE if not. * Since: 0.10.23 */ gboolean gst_navigation_message_parse_mouse_over (GstMessage * message, gboolean * active) { if (!GST_NAVIGATION_MESSAGE_HAS_TYPE (message, MOUSE_OVER)) return FALSE; if (active) { const GstStructure *s = gst_message_get_structure (message); if (gst_structure_get_boolean (s, "active", active) == FALSE) return FALSE; } return TRUE; }
/** * gst_navigation_message_parse_angles_changed: * @message: A #GstMessage to inspect. * @cur_angle: A pointer to a #guint to receive the new current angle number, * or NULL * @n_angles: A pointer to a #guint to receive the new angle count, or NULL. * * Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED * and extract the @cur_angle and @n_angles parameters. * * Returns: %TRUE if the message could be successfully parsed. %FALSE if not. * Since: 0.10.23 */ gboolean gst_navigation_message_parse_angles_changed (GstMessage * message, guint * cur_angle, guint * n_angles) { const GstStructure *s; gboolean ret = TRUE; g_return_val_if_fail (GST_NAVIGATION_MESSAGE_HAS_TYPE (message, ANGLES_CHANGED), FALSE); s = gst_message_get_structure (message); if (cur_angle) ret &= gst_structure_get_uint (s, "angle", cur_angle); if (n_angles) ret &= gst_structure_get_uint (s, "angles", n_angles); WARN_IF_FAIL (ret, "Couldn't extract details from angles-changed event"); return ret; }
EXPORT_C #endif gboolean gst_navigation_message_parse_angles_changed (GstMessage * message, guint * cur_angle, guint * n_angles) { const GstStructure *s; g_return_val_if_fail (GST_NAVIGATION_MESSAGE_HAS_TYPE (message, ANGLES_CHANGED), FALSE); s = gst_message_get_structure (message); if (cur_angle) g_return_val_if_fail (gst_structure_get_uint (s, "angle", cur_angle), FALSE); if (n_angles) g_return_val_if_fail (gst_structure_get_uint (s, "angles", n_angles), FALSE); return TRUE; }