Lines Matching full:a

77 * \brief A structure responsible for managing and drawing graphical elements.
85 * \brief A structure representing a graphical element.
93 * \brief A structure representing a gradient fill of a Tvg_Paint object.
99 * \brief A structure representing an object that enables to save a Tvg_Paint object into a file.
104 * \brief A structure representing an animation controller object.
128 … TVG_RESULT_SUCCESS = 0, ///< The value returned in case of a correct request execution.
129 …TVG_RESULT_INVALID_ARGUMENT, ///< The value returned in the event of a problem with the argu…
146 … ///< The pixels of the source and the target are alpha blended. As a result, only the par…
147 … the source and the complement to the target's pixels are alpha blended. As a result, only the par…
148 …e converted to grayscale (luma value) and alpha blended with the target. As a result, only the par…
149 …le (luma value) and complement to the target's pixels are alpha blended. As a result, only the par…
165 …TVG_BLEND_METHOD_DARKEN, ///< Creates a pixel that retains the smallest components of t…
171 … the bottom layer from the top layer or the other way around, to always get a non-negative value. …
188 TVG_IDENTIFIER_SHAPE, ///< A shape type paint.
189 TVG_IDENTIFIER_SCENE, ///< A scene type paint.
190 TVG_IDENTIFIER_PICTURE, ///< A picture type paint.
191 TVG_IDENTIFIER_LINEAR_GRAD, ///< A linear gradient type.
192 TVG_IDENTIFIER_RADIAL_GRAD, ///< A radial gradient type.
193 TVG_IDENTIFIER_TEXT ///< A text type paint.
211 TVG_TYPE_SHAPE, ///< A shape type paint.
212 TVG_TYPE_SCENE, ///< A scene type paint.
213 TVG_TYPE_PICTURE, ///< A picture type paint.
214 TVG_TYPE_TEXT, ///< A text type paint.
215 TVG_TYPE_LINEAR_GRAD = 10, ///< A linear gradient type.
216 TVG_TYPE_RADIAL_GRAD ///< A radial gradient type.
233 …TVG_PATH_COMMAND_MOVE_TO, ///< Sets a new initial point of the sub-path and a new current point …
234 …TVG_PATH_COMMAND_LINE_TO, ///< Draws a line from the current point to the given point and sets a
235 …D_CUBIC_TO ///< Draws a cubic Bezier curve from the current point to the given point using two g…
240 * \brief Enumeration determining the ending type of a stroke in the open sub-paths.
243 …TVG_STROKE_CAP_SQUARE = 0, ///< The stroke is extended in both endpoints of a sub-path by a rectan…
244 …d in both endpoints of a sub-path by a half circle, with a radius equal to the half of a stroke wi…
245 …TVG_STROKE_CAP_BUTT ///< The stroke ends exactly at each of the two endpoints of a sub-path…
253 …elled at the join point. The triangular region of the corner is enclosed by a straight line betwee…
273 …TVG_FILL_RULE_WINDING = 0, ///< A line from the point to a location outside the shape is drawn. Th…
274 …TVG_FILL_RULE_EVEN_ODD ///< A line from the point to a location outside the shape is drawn and…
286 * \brief A data structure storing the information about the color and its relative position inside …
294 …uint8_t a; /**< The alpha channel value in the range [0 ~ 255], where 0 is completely transpare… member
301 * \brief A data structure representing a point in two-dimensional space.
310 * \brief A data structure representing a three-dimensional matrix.
326 * \brief A module enabling initialization and termination of the TVG engines.
391 * \param[out] major A major version number.
392 * \param[out] minor A minor version number.
393 * \param[out] micro A micro version number.
394 * \param[out] version The version of the engine in the format major.minor.micro, or a @p nullptr in…
408 * \brief A module for managing and drawing graphical elements.
410 * A canvas is an entity responsible for drawing the target. It sets up the drawing engine and the b…
412 * \note A Canvas behavior depends on the raster engine though the final content of the buffer is ex…
422 * \brief A module for rendering the graphical elements using the software engine.
445 …ned in the order: alpha, blue, green, red. Colors are alpha-premultiplied. (a << 24 | b << 16 | g …
446 …ned in the order: alpha, red, green, blue. Colors are alpha-premultiplied. (a << 24 | r << 16 | g …
453 * \brief Creates a Canvas object.
474 * \return A new Tvg_Canvas object.
483 * The buffer of a desirable size should be allocated and owned by the caller.
486 * \param[in] buffer A pointer to the allocated memory block of the size @p stride x @p h.
509 * ThorVG draws a lot of shapes, it allocates/deallocates a few chunk of memory
513 * Thus ThorVG suggests using a memory pool policy to satisfy user demands,
525 … which is not shared with others. This is necessary when the canvas is accessed on a worker-thread.
550 * //a task called from main function in a loop
552 * //define a valid rectangle shape
574 * //wait for a command e.g. from a console
592 * \note If the paints from the canvas should not be released, the tvg_canvas_clear() with a @c free…
593 * Please be aware that in such a case TVG is not responsible for the paints release anymore and it …
601 * \brief Inserts a drawing element into the canvas using a Tvg_Paint object.
610 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument.
620 * \brief Reserves a memory block where the objects pushed into a canvas are stored.
622 * If the number of Tvg_Paints to be stored in a canvas is known in advance, calling this function r…
667 * \brief Updates all paints in a canvas.
672 * //A frame drawing example. Thread safety and events implementation is skipped to show only TVG co…
727 * If a client application using the TVG library does not update the entire canvas with tvg_canvas_u…
734 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument.
766 …NT_CONDITION @p canvas is either already in sync condition or in a damaged condition (a draw is re…
800 * \brief A module for managing graphical elements. It enables duplication, transformation and compo…
848 * \retval TVG_RESULT_INSUFFICIENT_CONDITION in case a custom transform is applied.
866 * \retval TVG_RESULT_INSUFFICIENT_CONDITION in case a custom transform is applied.
874 * \brief Moves the given Tvg_Paint in a two-dimensional space.
885 * \retval TVG_RESULT_INSUFFICIENT_CONDITION in case a custom transform is applied.
901 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument.
915 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument.
929 * \note Setting the opacity with this API may require multiple renderings using a composition. It i…
941 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument.
949 * Creates a new object and sets its all properties as in the original object.
953 * \return A copied Tvg_Paint object if succeed, @c nullptr otherwise.
973 * \note If @p transformed is @c true, the paint needs to be pushed into a canvas and updated before…
1000 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument.
1014 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument.
1029 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument.
1053 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument.
1065 * \brief A module for managing two-dimensional figures and their properties.
1067 * A shape has three major properties: shape outline, stroking, filling. The outline in the shape is…
1069 * Path can consists of sub-paths. One sub-path is determined by a close command.
1071 * The stroke of a shape is an optional property in case the shape needs to be represented with/with…
1081 * \brief Creates a new shape object.
1083 * \return A new shape object.
1093 * \param[in] paint A Tvg_Paint pointer to the shape object.
1108 * \param[in] paint A Tvg_Paint pointer to the shape object.
1119 * \brief Adds a new point to the sub-path, which results in drawing a line from the current point t…
1123 * \param[in] paint A Tvg_Paint pointer to the shape object.
1136 * \brief Adds new points to the sub-path, which results in drawing a cubic Bezier curve.
1141 * \param[in] paint A Tvg_Paint pointer to the shape object.
1158 * \brief Closes the current sub-path by drawing a line from the current point to the initial point …
1162 * \param[in] paint A Tvg_Paint pointer to the shape object.
1173 * \brief Appends a rectangle to the path.
1180 * The rectangle is treated as a new sub-path - it is not connected with the previous sub-path.
1185 * \param[in] paint A Tvg_Paint pointer to the shape object.
1206 * The ellipse is treated as a new sub-path - it is not connected with the previous sub-path.
1210 * \param[in] paint A Tvg_Paint pointer to the shape object.
1223 * \brief Appends a circular arc to the path.
1225 * The arc is treated as a new sub-path - it is not connected with the previous sub-path.
1228 * \param[in] paint A Tvg_Paint pointer to the shape object.
1245 * \brief Appends a given sub-path to the path.
1251 * \param[in] paint A Tvg_Paint pointer to the shape object.
1258 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument or @p cmdCnt or @p ptsCnt…
1275 * //TVG approximates a circle by four Bezier curves. In the example above the coords array stores t…
1278 * \param[in] paint A Tvg_Paint pointer to the shape object.
1283 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument.
1300 * //TVG approximates a circle by four Bezier curves. In the example above the cmds array stores the…
1303 * \param[in] paint A Tvg_Paint pointer to the shape object.
1308 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument.
1316 * \param[in] paint A Tvg_Paint pointer to the shape object.
1328 * \param[in] paint A Tvg_Paint pointer to the shape object.
1340 * \param[in] paint A Tvg_Paint pointer to the shape object.
1344 * \param[in] a The alpha channel value in the range [0 ~ 255], where 0 is completely transparent an…
1349 * \note Either a solid color or a gradient fill is applied, depending on what was set as last.
1351 …vg_Result tvg_shape_set_stroke_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a);
1357 * \param[in] paint A Tvg_Paint pointer to the shape object.
1361 * \param[out] a The alpha channel value in the range [0 ~ 255], where 0 is completely transparent a…
1367 …tvg_shape_get_stroke_color(const Tvg_Paint* paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a);
1373 * \param[in] paint A Tvg_Paint pointer to the shape object.
1380 * \note Either a solid color or a gradient fill is applied, depending on what was set as last.
1388 * \param[in] paint A Tvg_Paint pointer to the shape object.
1395 * \note Either a solid color or a gradient fill is applied, depending on what was set as last.
1405 * \param[in] paint A Tvg_Paint pointer to the shape object.
1417 * \param[in] paint A Tvg_Paint pointer to the shape object.
1434 * \param[in] paint A Tvg_Paint pointer to the shape object.
1449 * \param[in] paint A Tvg_Paint pointer to the shape object.
1461 * \param[in] paint A Tvg_Paint pointer to the shape object.
1473 * \param[in] paint A Tvg_Paint pointer to the shape object.
1485 * \param[in] paint A Tvg_Paint pointer to the shape object.
1497 * \param[in] paint A Tvg_Paint pointer to the shape object.
1498 * \param[in] miterlimit The miterlimit imposes a limit on the extent of the stroke join when the @c…
1511 * \param[in] paint A Tvg_Paint pointer to the shape object.
1525 …uments @p begin and @p end exceed the 0-1 range, they are wrapped around in a manner similar to an…
1527 * \param[in] paint A Tvg_Paint pointer to the shape object.
1530 * \param[in] simultaneous Determines how to trim multiple paths within a single shape. If set to @c…
1531 * Otherwise, all paths are treated as a single entity with a combined length equal to the sum of th…
1546 * \param[in] paint A Tvg_Paint pointer to the shape object.
1550 * \param[in] a The alpha channel value in the range [0 ~ 255], where 0 is completely transparent an…
1555 * \note Either a solid color or a gradient fill is applied, depending on what was set as last.
1558 … Tvg_Result tvg_shape_set_fill_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a);
1564 * \param[in] paint A Tvg_Paint pointer to the shape object.
1568 * \param[out] a The alpha channel value in the range [0 ~ 255], where 0 is completely transparent a…
1573 …t tvg_shape_get_fill_color(const Tvg_Paint* paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a);
1579 * \param[in] paint A Tvg_Paint pointer to the shape object.
1591 * \param[in] paint A Tvg_Paint pointer to the shape object.
1603 * \param[in] paint A Tvg_Paint pointer to the shape object.
1633 * \param[in] paint A Tvg_Paint pointer to the shape object.
1640 * \note Either a solid color or a gradient fill is applied, depending on what was set as last.
1665 * \param[in] paint A Tvg_Paint pointer to the shape object.
1672 * \note Either a solid color or a gradient fill is applied, depending on what was set as last.
1683 * \param[in] paint A Tvg_Paint pointer to the shape object.
1697 * \brief A module managing the gradient fill of objects.
1710 * \brief Creates a new linear gradient object.
1726 * \return A new linear gradient object.
1732 * \brief Creates a new radial gradient object.
1748 * \return A new radial gradient object.
1756 * The bounds of the linear gradient are defined as a surface constrained by two parallel lines cros…
1769 * \note In case the first and the second points are equal, an object is filled with a single color …
1778 * The bounds of the linear gradient are defined as a surface constrained by two parallel lines cros…
1797 * The radial gradient bounds are defined as a circle centered in a given point (@p cx, @p cy) of a
1807 * \note In case the @p radius is zero, an object is filled with a single color using the last color…
1850 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument.
1874 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument.
1888 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument.
1902 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr is passed as the argument.
1913 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument.
1929 * Creates a new object and sets its all properties as in the original object.
1933 * \return A copied Tvg_Gradient object if succeed, @c nullptr otherwise.
1955 * \brief A module enabling to create and to load an image in one of the supported formats: svg, png…
1965 * \brief Creates a new picture object.
1967 * \return A new picture object.
1973 * \brief Loads a picture data directly from a file.
1975 * ThorVG efficiently caches the loaded data using the specified @p path as a key.
1979 * \param[in] paint A Tvg_Paint pointer to the picture object.
1984 * \retval TVG_RESULT_NOT_SUPPORTED A file with an unknown extension.
1990 * \brief Loads a picture data from a memory block of a given size.
1992 * ThorVG efficiently caches the loaded data using the specified @p data address as a key
1996 * \param[in] paint A Tvg_Paint pointer to the picture object.
1997 * \param[in] data A pointer to a memory location where the content of the picture raw data is store…
2005 * \retval TVG_RESULT_FAILED_ALLOCATION A problem with memory allocation occurs.
2013 * \brief Loads a picture data from a memory block of a given size.
2015 * ThorVG efficiently caches the loaded data using the specified @p data address as a key
2019 * \param[in] paint A Tvg_Paint pointer to the picture object.
2020 * \param[in] data A pointer to a memory location where the content of the picture file is stored. A
2026 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument or the @p size…
2027 * \retval TVG_RESULT_NOT_SUPPORTED A file with an unknown extension.
2040 * \param[in] paint A Tvg_Paint pointer to the picture object.
2041 * \param[in] w A new width of the image in pixels.
2042 * \param[in] h A new height of the image in pixels.
2053 * \param[in] paint A Tvg_Paint pointer to the picture object.
2054 * \param[out] w A width of the image in pixels.
2055 * \param[out] h A height of the image in pixels.
2064 * \brief Retrieve a paint object from the Picture scene by its Unique ID.
2066 * This function searches for a paint object within the Picture scene that matches the provided @p i…
2068 * \param[in] paint A Tvg_Paint pointer to the picture object.
2071 * \return A pointer to the paint object that matches the given identifier, or @c nullptr if no matc…
2084 * \brief A module managing the multiple paints as one group paint.
2086 * As a group, scene can be transformed, translucent, composited with other target paints,
2096 * \brief Creates a new scene object.
2098 * A scene object is used to group many paints into one object, which can be manipulated using TVG A…
2100 * \return A new scene object.
2111 * \param[in] scene A Tvg_Paint pointer to the scene object.
2115 * \retval TVG_RESULT_FAILED_ALLOCATION An internal error with a memory allocation.
2128 * \param[in] scene A Tvg_Paint pointer to the scene object.
2129 * \param[in] paint A graphical object to be drawn.
2132 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument.
2140 * \brief Clears a scene objects from pushed paints.
2161 * \brief A class to represent text objects in a graphical context, allowing for rendering and manip…
2172 * \brief Creates a new text object.
2174 * \return A new text object.
2187 * \param[in] paint A Tvg_Paint pointer to the text object.
2188 * \param[in] name The name of the font. This should correspond to a font available in the canvas.
2193 * \retval TVG_RESULT_INVALID_ARGUMENT A \c nullptr passed as the \p paint argument.
2207 * \param[in] paint A Tvg_Paint pointer to the text object.
2211 * \retval TVG_RESULT_INVALID_ARGUMENT A \c nullptr passed as the \p paint argument.
2221 * \param[in] paint A Tvg_Paint pointer to the text object.
2227 * \retval TVG_RESULT_INVALID_ARGUMENT A \c nullptr passed as the \p paint argument.
2229 * \note Either a solid color or a gradient fill is applied, depending on what was set as last.
2240 * \param[in] paint A Tvg_Paint pointer to the text object.
2244 * \retval TVG_RESULT_INVALID_ARGUMENT A \c nullptr passed as the \p paint argument.
2247 * \note Either a solid color or a gradient fill is applied, depending on what was set as last.
2255 * \brief Loads a scalable font data from a file.
2257 * ThorVG efficiently caches the loaded data using the specified \p path as a key.
2265 * \retval TVG_RESULT_NOT_SUPPORTED When trying to load a file with an unknown extension.
2275 * \brief Loads a scalable font data from a memory block of a given size.
2277 * ThorVG efficiently caches the loaded font data using the specified \p name as a key.
2281 * \param[in] name The name under which the font will be stored and accessible (e.x. in a \p tvg_tex…
2282 * \param[in] data A pointer to a memory location where the content of the font data is stored.
2284 * \param[in] mimetype Mimetype or extension of font data. In case a \c NULL or an empty "" value is…
2288 …GUMENT If no name is provided or if \p size is zero while \p data points to a valid memory locatio…
2289 * \retval TVG_RESULT_NOT_SUPPORTED When trying to load a file with an unknown extension.
2304 * This function is used to release resources associated with a font file that has been loaded into …
2324 * \brief A module for exporting a paint object into a specified file.
2326 * The module enables to save the composed scene and/or image from a paint object.
2327 * Once it's successfully exported to a file, it can be recreated using the Picture module.
2336 * \brief Creates a new Tvg_Saver object.
2338 * \return A new Tvg_Saver object.
2352 * \param[in] path A path to the file, in which the paint data is to be saved.
2356 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument.
2358 * \retval TVG_RESULT_NOT_SUPPORTED Trying to save a file with an unknown extension or in an unsuppo…
2370 * The behavior of the Saver module works on a sync/async basis, depending on the threading setting …
2371 * Thus, if you wish to have a benefit of it, you must call tvg_saver_sync() after the tvg_saver_sav…
2377 * \retval TVG_RESULT_INVALID_ARGUMENT A @c nullptr passed as the argument.
2402 * \brief A module for manipulation of animatable images.
2414 * \brief Creates a new Animation object.
2416 * \return Tvg_Animation A new Tvg_Animation object.
2426 * \param[in] animation A Tvg_Animation pointer to the animation object.
2445 * \brief Retrieves a picture instance associated with this animation instance.
2451 * \param[in] animation A Tvg_Animation pointer to the animation object.
2453 * \return A picture instance that is tied to this animation.
2465 * \param[in] animation A Tvg_Animation pointer to the animation object.
2482 * \param[in] animation A Tvg_Animation pointer to the animation object.
2499 * \param[in] animation A Tvg_Animation pointer to the animation object.
2562 * \brief A module for manipulation of the scene tree
2573 * \brief Generate a unique ID (hash key) from a given name.
2575 * This function computes a unique identifier value based on the provided string.
2576 * You can use this to assign a unique ID to the Paint object.
2592 * \brief A module for manipulation of lottie extension features.
2603 * \brief Creates a new LottieAnimation object.
2605 * \return Tvg_Animation A new Tvg_LottieAnimation object.
2629 * \brief Specifies a segment by marker.
2651 * \retval TVG_RESULT_INVALID_ARGUMENT In case a @c nullptr is passed as the argument.
2659 * \brief Gets the marker name by a given index.