1
0
Fork 0

Add function declarations to inspect shapes (but not transformers)

This commit is contained in:
Hans-Joerg Schurr 2021-08-09 22:52:05 +02:00
parent 2392138bdd
commit 0fafc7385f
1 changed files with 81 additions and 0 deletions

View File

@ -248,6 +248,87 @@ typedef enum hvif_transformer_type
HVIF_TRANSFORMER_TYPE_MAX = 24
} hvif_transformer_type;
/**
* \brief Returns the style used by a shape.
* \param[in] file A valid image.
* \param[in] shape The index of the shape.
* \param[out] style The index of the style.
* \return ERROR_SHAPE if this style does not exist.
*/
hvif_status hvif_shape_style(
hvif_image* image, uint8_t shape, uint8_t* style);
/**
* \brief Returns the number of paths used by a shape.
* \param[in] file A valid image.
* \param[in] shape The index of the shape.
* \param[out] num_paths The number of paths.
* \return ERROR_SHAPE if this style does not exist.
*/
hvif_status hvif_shape_num_paths(
hvif_image* image, uint8_t shape, uint8_t* num_paths);
/**
* \brief Returns the index of a path used by a shape.
* \param[in] file A valid image.
* \param[in] shape The index of the shape.
* \param[in] path_idx The index of the path.
* \param[out] path The index of the path.
* \return ERROR_SHAPE if this style or path does not exist.
*/
hvif_status hvif_shape_path(
hvif_image* image, uint8_t shape, uint8_t path_idx, uint8_t* path);
/**
* \brief Returns if hinting is enabled for this shape.
* \param[in] file A valid image.
* \param[in] shape The index of the shape.
* \param[out] hinting True if hinting es enabled.
* \return ERROR_SHAPE if this style does not exist.
*/
hvif_status hvif_shape_hinting(
hvif_image* image, uint8_t shape, bool* hinting);
/**
* \brief Returns the transformation applied to a shape.
* \param[in] file A valid image.
* \param[in] shape The index of the shape.
* \param[out] transformation The transformation matrix.
* \return ERROR_SHAPE if this shape does not exist.
*/
hvif_status hvif_shape_transformation(
hvif_image* image, uint8_t shape, hvif_matrix* transformation);
/**
* \brief Returns minimal visibility distance for this shape.
* \param[in] file A valid image.
* \param[in] shape The index of the shape.
* \param[out] min_visibility The minimal visibility as a scale, 0 if always visible.
* \return ERROR_SHAPE if this style does not exist.
*/
hvif_status hvif_shape_min_visibility(
hvif_image* image, uint8_t shape, float* min_visibility);
/**
* \brief Returns maximal visibility distance for this shape.
* \param[in] file A valid image.
* \param[in] shape The index of the shape.
* \param[out] max_visibility The maximal visibility as a scale, >=4.0 if always visible.
* \return ERROR_SHAPE if this style does not exist.
*/
hvif_status hvif_shape_max_visibility(
hvif_image* image, uint8_t shape, float* max_visibility);
/**
* \brief Returns the number of transformers used by a shape.
* \param[in] file A valid image.
* \param[in] shape The index of the shape.
* \param[out] num_transformers The number of transformers.
* \return ERROR_SHAPE if this style does not exist.
*/
hvif_status hvif_shape_num_transformers(
hvif_image* image, uint8_t shape, uint8_t* num_transformers);
/**@}*/
#endif /* HVIF_LIGHT_H */