| ThorVG v0.5

Public Member Functions | Static Public Member Functions | List of all members
Picturefinal
ThorVG

A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas. More...

Inheritance diagram for Picture:
[legend]

## Public Member Functions
Result | load (const std::string &path) noexcept
| Loads a picture data directly from a file. More...
TVG_DEPRECATED Result | load (const char *data, uint32_t size, bool copy=false) noexcept
| Loads a picture data from a memory block of a given size. More...
Result | load (const char *data, uint32_t size, const std::string &mimeType, bool copy=false) noexcept
| Loads a picture data from a memory block of a given size. More...
Result | size (float w, float h) noexcept
| Resize the picture content with the given width and height. More...
Result | size (float *w, float *h) const noexcept
| Gets the size of the image. More...
const uint32_t * | data (uint32_t *w, uint32_t *h) const noexcept
| Gets the pixels information of the picture. More...
Result | load (uint32_t *data, uint32_t w, uint32_t h, bool copy) noexcept
| Loads a raw data from a memory block with a given size. More...
Result | viewbox (float *x, float *y, float *w, float *h) const noexcept
| Gets the position and the size of the loaded SVG picture. More...
Public Member Functions inherited from Paint
Result | rotate (float degree) noexcept
| Sets the angle by which the object is rotated. More...
Result | scale (float factor) noexcept
| Sets the scale value of the object. More...
Result | translate (float x, float y) noexcept
| Sets the values by which the object is moved in a two-dimensional space. More...
Result | transform (const Matrix &m) noexcept
| Sets the matrix of the affine transformation for the object. More...
Matrix | transform () noexcept
| Gets the matrix of the affine transformation of the object. More...
Result | opacity (uint8_t o) noexcept
| Sets the opacity of the object. More...
Result | composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
| Sets the composition target object and the composition method. More...
TVG_DEPRECATED Result | bounds (float *x, float *y, float *w, float *h) const noexcept
| Gets the bounding box of the paint object before any transformation. More...
Result | bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
| Gets the axis-aligned bounding box of the paint object. More...
Paint * | duplicate () const noexcept
| Duplicates the object. More...
uint8_t | opacity () const noexcept
| Gets the opacity value of the object. More...
CompositeMethod | composite (const Paint **target) const noexcept
| Gets the composition target object and the composition method. More...

## Static Public Member Functions
static std::unique_ptr< Picture > | gen () noexcept
| Creates a new Picture object. More...

## Detailed Description

A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas.

Note
  Supported formats are depended on the available TVG loaders.

## Member Function Documentation

## ◆ data()

const uint32_t* data | ( | uint32_t * | w,
|  | uint32_t * | h
| ) |  | const
| noexcept

Gets the pixels information of the picture.

Warning
  Please do not use it, this API is not official one. It could be modified in the next version.

@BETA_API

## ◆ gen()

static std::unique_ptr<Picture> gen | ( |  | ) |
| static noexcept

Creates a new Picture object.

Returns
  A new Picture object.

## ◆ load() [1/4]

TVG_DEPRECATED Result load | ( | const char * | data,
|  | uint32_t | size,
|  | bool | copy = `false`
| ) |  |
| noexcept

Loads a picture data from a memory block of a given size.

Parameters

  [in] | data | A pointer to a memory location where the content of the picture file is stored.
  [in] | size | The size in bytes of the memory occupied by the `data`.
  [in] | copy | Decides whether the data should be copied into the engine local buffer.

Return values

  Result::Success | When succeed.
  Result::InvalidArguments | In case no data are provided or the `size` is zero or less.
  Result::NonSupport | When trying to load a file with an unknown extension.
  Result::Unknown | If an error occurs at a later stage.

Warning
  : you have responsibility to release the `data` memory if the `copy` is true

See also
  Result load(const char* data, uint32_t size, const std::string& mimeType, bool copy = false) noexcept

## ◆ load() [2/4]

Result load | ( | const char * | data,
|  | uint32_t | size,
|  | const std::string & | mimeType,
|  | bool | copy = `false`
| ) |  |
| noexcept

Loads a picture data from a memory block of a given size.

Parameters

  [in] | data | A pointer to a memory location where the content of the picture file is stored.
  [in] | size | The size in bytes of the memory occupied by the `data`.
  [in] | mimetype | Mimetype or extension of data such as "jpg", "jpeg", "svg", "svg+xml", "png", etc. If empty string or unknown, loaders will be tried one by one.
  [in] | copy | Decides whether the data should be copied into the engine local buffer.

Return values

  Result::Success | When succeed.
  Result::InvalidArguments | In case no data are provided or the `size` is zero or less.
  Result::NonSupport | When trying to load a file with an unknown extension.
  Result::Unknown | If an error occurs at a later stage.

Warning
  : you have responsibility to release the `data` memory if the `copy` is true

Since
  0.5

## ◆ load() [3/4]

Result load | ( | const std::string & | path | ) |
| noexcept

Loads a picture data directly from a file.

Parameters

  [in] | path | A path to the picture file.

Return values

  Result::Success | When succeed.
  Result::InvalidArguments | In case the `path` is invalid.
  Result::NonSupport | When trying to load a file with an unknown extension.
  Result::Unknown | If an error occurs at a later stage.

Note
  The Load behavior can be asynchronous if the assigned thread number is greater than zero.

See also
  Initializer::init()

## ◆ load() [4/4]

Result load | ( | uint32_t * | data,
|  | uint32_t | w,
|  | uint32_t | h,
|  | bool | copy
| ) |  |
| noexcept

Loads a raw data from a memory block with a given size.

Warning
  Please do not use it, this API is not official one. It could be modified in the next version.

@BETA_API

## ◆ size() [1/2]

Result size | ( | float * | w,
|  | float * | h
| ) |  | const
| noexcept

Gets the size of the image.

Parameters

  [out] | w | The width of the image in pixels.
  [out] | h | The height of the image in pixels.

Returns
  Result::Success when succeed.

## ◆ size() [2/2]

Result size | ( | float | w,
|  | float | h
| ) |  |
| noexcept

Resize the picture content with the given width and height.

Resize the picture content while keeping the default size aspect ratio. The scaling factor is established for each of dimensions and the smaller value is applied to both of them.

Parameters

  [in] | w | A new width of the image in pixels.
  [in] | h | A new height of the image in pixels.

Returns
  Result::Success when succeed, Result::InsufficientCondition otherwise.

## ◆ viewbox()

Result viewbox | ( | float * | x,
|  | float * | y,
|  | float * | w,
|  | float * | h
| ) |  | const
| noexcept

Gets the position and the size of the loaded SVG picture.

Warning
  Please do not use it, this API is not official one. It could be modified in the next version.

@BETA_API