Picasso API  2.9
Typedefs | Enumerations | Functions
psx_svg_animation.h File Reference
#include "psx_svg.h"

Go to the source code of this file.

Typedefs

typedef struct _psx_svg_player psx_svg_player
 An opaque type represents an svg animation player. More...
 
typedef void(* psx_svg_anim_event_cb) (psx_svg_anim_event_type type, const char *anim_id, void *user_data)
 The callback for SVG animation event. More...
 

Enumerations

enum  psx_svg_player_state { PSX_SVG_PLAYER_STOPPED = 0, PSX_SVG_PLAYER_PLAYING = 1, PSX_SVG_PLAYER_PAUSED = 2 }
 SVG animation player status. More...
 
enum  psx_svg_anim_event_type { PSX_SVG_ANIM_EVENT_BEGIN = 0, PSX_SVG_ANIM_EVENT_END, PSX_SVG_ANIM_EVENT_REPEAT }
 SVG animation event callback types. More...
 

Functions

PEXPORT psx_svg_player *PICAPI psx_svg_player_create (const psx_svg *root, psx_result *err)
 Create a new animation player from an already-parsed SVG document. More...
 
PEXPORT void PICAPI psx_svg_player_destroy (psx_svg_player *p)
 Destroy the psx_svg_player object and release resources. More...
 
PEXPORT void PICAPI psx_svg_player_set_loop (psx_svg_player *p, bool loop)
 Set whether the animation should loop when it reaches the end. More...
 
PEXPORT bool PICAPI psx_svg_player_get_loop (const psx_svg_player *p)
 Return whether the animation looping is enabled. More...
 
PEXPORT void PICAPI psx_svg_player_set_dpi (psx_svg_player *p, int32_t dpi)
 Set the DPI (dots per inch) used for unit conversion. More...
 
PEXPORT int32_t PICAPI psx_svg_player_get_dpi (const psx_svg_player *p)
 Return the current DPI value. More...
 
PEXPORT void PICAPI psx_svg_player_play (psx_svg_player *p)
 Start or resume playback of the animation. More...
 
PEXPORT void PICAPI psx_svg_player_pause (psx_svg_player *p)
 Pause the animation at the current time. More...
 
PEXPORT void PICAPI psx_svg_player_stop (psx_svg_player *p)
 Stop the animation and seek to time 0. More...
 
PEXPORT void PICAPI psx_svg_player_seek (psx_svg_player *p, float seconds)
 Seek the animation to an absolute time position. More...
 
PEXPORT void PICAPI psx_svg_player_tick (psx_svg_player *p, float delta_seconds)
 Advance the animation by a relative time delta. More...
 
PEXPORT float PICAPI psx_svg_player_get_time (const psx_svg_player *p)
 Return the current playback time in seconds. More...
 
PEXPORT float PICAPI psx_svg_player_get_duration (const psx_svg_player *p)
 Return the total duration of the animation. More...
 
PEXPORT psx_svg_player_state PICAPI psx_svg_player_get_state (const psx_svg_player *p)
 Return the current playback state of the player. More...
 
PEXPORT void PICAPI psx_svg_player_draw (psx_svg_player *p, ps_context *ctx)
 Draw the current animation frame into the provided Picasso context. More...
 
PEXPORT void PICAPI psx_svg_player_set_event_callback (psx_svg_player *p, psx_svg_anim_event_cb cb, void *user)
 Set a callback to receive animation events (begin, end, repeat). More...
 
PEXPORT void PICAPI psx_svg_player_trigger (psx_svg_player *p, const char *target_id, const char *event_name)
 Send an external event trigger to the player. More...
 
PEXPORT void PICAPI psx_svg_player_send_key (psx_svg_player *p, char key)
 Forward a keyboard event to the player. More...
 

Detailed Description

Author
Zhang Ji Peng oneco.nosp@m.olx@.nosp@m.gmail.nosp@m..com
Date
2025/5/12

This file includes all interfaces of picasso's SVG animation extension.

   Copyright (C) 2008 ~ 2026  Zhang Ji Peng

   All rights reserved.

   Picasso is a vector graphic library.

Definition in file psx_svg_animation.h.