Go to the documentation of this file.
23 #if defined(WIN32) || defined(WINCE)
26 #define PEXPORT __declspec(dllexport)
29 #define PEXPORT __declspec(dllimport)
33 #if (defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))) || (defined(__clang__))
34 #define PEXPORT __attribute__((visibility("default")))
471 int width,
int height,
int pitch);
492 int width,
int height);
696 int width,
int height,
int pitch);
717 int width,
int height,
int pitch);
1015 const ps_point* origin,
float sangle);
1068 float offset,
const ps_color* color);
1445 const float* dashes,
unsigned int num_dashes);
1970 float size,
int weight,
ps_bool italic);
2283 const char* text,
unsigned int length);
2298 const ps_uchar16* text,
unsigned int length);
2387 ps_glyph* glyphs,
unsigned int length);
2580 float sy,
float tx,
float ty);
2639 float shx,
float sy,
float tx,
float ty);
3029 float sangle,
float eangle,
ps_bool clockwise);
3077 float lty,
float rtx,
float rty,
float lbx,
float lby,
float rbx,
float rby);
3344 unsigned int index,
ps_point* point);
3389 const ps_point* point,
float width);
3418 float sangle,
float eangle,
ps_bool clockwise);
3461 float lty,
float rtx,
float rty,
float lbx,
float lby,
float rbx,
float rby);
A structure that contains a point in a two-dimensional coordinate system.
PEXPORT void PICAPI ps_image_unref(ps_image *img)
Decrements the reference count for the image object. If the reference count on the image falls to 0,...
PEXPORT void PICAPI ps_stroke(ps_context *ctx)
Stroke the current path according to the line attributes. After called, the current path will be clea...
PEXPORT ps_composite PICAPI ps_set_composite_operator(ps_context *ctx, ps_composite composite)
Set composites opertaions for graphics context.
PEXPORT ps_canvas *PICAPI ps_context_get_canvas(ps_context *ctx)
Get the canvas from the context.
PEXPORT ps_bool PICAPI ps_path_contains(const ps_path *path, const ps_point *point, ps_fill_rule rule)
Check whether a point is contained in the path by fill method.
PEXPORT void PICAPI ps_line_to(ps_context *ctx, const ps_point *point)
Add a line to the current path from the current point to given point.
PEXPORT void PICAPI ps_close_path(ps_context *ctx)
Close the current path in the graphic context.
PEXPORT void PICAPI ps_set_source_gradient(ps_context *ctx, const ps_gradient *gradient)
Set a gradient to the context, it is used to fill a graphic object.
PEXPORT void PICAPI ps_font_set_flip(ps_font *font, ps_bool flip)
Set flip for a font object.
struct _ps_path ps_path
An opaque type represents a graphic path.
PEXPORT ps_filter PICAPI ps_set_filter(ps_context *ctx, ps_filter filter)
Set interpolation filter for graphic context.
PEXPORT void PICAPI ps_set_line_dash(ps_context *ctx, float start, const float *dashes, unsigned int num_dashes)
Set the pattern for dashed lines in the context.
PEXPORT ps_image *PICAPI ps_image_create_with_data(ps_byte *data, ps_color_format fmt, int width, int height, int pitch)
Create a new image using a given address in memory.
PEXPORT void PICAPI ps_context_unref(ps_context *ctx)
Decrements the reference count for the context object. If the reference count on the context falls to...
PEXPORT ps_image *PICAPI ps_image_create_from_canvas(ps_canvas *canvas, const ps_rect *rect)
Create a new image using part of an existing canvas in same pixel buffer.
PEXPORT void PICAPI ps_font_set_weight(ps_font *font, int weight)
Set weight for a font object.
PEXPORT ps_bool PICAPI ps_get_text_extent(ps_context *ctx, const void *text, unsigned int length, ps_size *rsize)
Get extent for text using current font which selected to graphic context.
enum _ps_text_type ps_text_type
Text rendering type.
enum _ps_fill_rule ps_fill_rule
Fill rules for graphics.
struct _ps_canvas ps_canvas
An opaque type represents a pixel buffer.
struct _ps_image ps_image
An opaque type represents an image.
PEXPORT void PICAPI ps_paint(ps_context *ctx)
Fill and stroke the current path according to the source and line attributes. After called,...
PEXPORT void PICAPI ps_path_unref(ps_path *path)
Decrements the reference count for the path object. If the reference count on the path falls to 0,...
PEXPORT void PICAPI ps_path_quad_to(ps_path *path, const ps_point *cp, const ps_point *ep)
Add a quadratic bezier spline to the path from current point to end point.
PEXPORT float PICAPI ps_set_miter_limit(ps_context *ctx, float limit)
Set the miter limit for the joins of connected lines in a graphics context.
PEXPORT float PICAPI ps_set_alpha(ps_context *ctx, float alpha)
Set the opacity level for objects drawn in graphic context.
PEXPORT void PICAPI ps_set_line_join(ps_context *ctx, ps_line_join line_join)
Set the style for the joins of connected lines in a graphics context.
PEXPORT ps_canvas *PICAPI ps_canvas_create_compatible(const ps_canvas *canvas, int width, int height)
Create a new canvas to compatible with an existing canvas.
enum _ps_charset ps_charset
Charset for a font.
PEXPORT void PICAPI ps_image_set_allow_transparent(ps_image *img, ps_bool allow)
Set whether the image allowed be transparent, False is default.
_ps_text_align
Text align mode for drawing text.
PEXPORT ps_canvas *PICAPI ps_context_set_canvas(ps_context *ctx, ps_canvas *canvas)
Set a new canvas into a context, and return the old one.
PEXPORT ps_bool PICAPI ps_image_get_size(const ps_image *img, ps_size *rsize)
Return the size of the image.
PEXPORT void PICAPI ps_set_source_color(ps_context *ctx, const ps_color *color)
Set a Color to the context, it is used to fill a graphic object.
PEXPORT ps_font *PICAPI ps_font_create_copy(const ps_font *font)
Create a copy from an existing font object.
PEXPORT void PICAPI ps_set_line_inner_join(ps_context *ctx, ps_line_inner_join line_inner_join)
Set the style for the inner joins of connected lines in a graphics context.
PEXPORT void PICAPI ps_reset_line_dash(ps_context *ctx)
Clear the dashs from the context, and set to solid.
PEXPORT void PICAPI ps_gradient_clear_color_stops(ps_gradient *gradient)
Clear color stops from gradient's control vector.
PEXPORT ps_bool PICAPI ps_matrix_get_translate_factor(ps_matrix *matrix, float *tx, float *ty)
Get the translate factors from the matrix.
PEXPORT void PICAPI ps_matrix_transform_point(const ps_matrix *matrix, ps_point *point)
Transform an existing point using the matrix.
PEXPORT ps_mask *PICAPI ps_mask_ref(ps_mask *mask)
Increases the reference count of the mask by 1.
PEXPORT void PICAPI ps_set_path(ps_context *ctx, const ps_path *path)
Replace the current path in the graphic context.
_ps_composite
Compositing operations for graphics context.
PEXPORT void PICAPI ps_clip_path(ps_context *ctx, const ps_path *path, ps_fill_rule rule)
Clipping specified path, using the given fill rule.
PEXPORT ps_canvas *PICAPI ps_canvas_create_with_data(ps_byte *data, ps_color_format fmt, int width, int height, int pitch)
Create a new canvas using a given address in memory.
PEXPORT void PICAPI ps_mask_add_color_filter(ps_mask *mask, const ps_color *color)
Add a color filter to a mask.
A character glyph of a font.
enum _ps_line_inner_join ps_line_inner_join
Inner junction types for stroked lines.
PEXPORT void PICAPI ps_path_sub_close(ps_path *path)
Close the sub path, and begin a new one.
enum _ps_font_weight ps_font_weight
Font weight.
_ps_filter
Graphics quality for rendering an image.
PEXPORT void PICAPI ps_font_set_hint(ps_font *font, ps_bool hint)
Set hiting for a font object.
PEXPORT void PICAPI ps_rounded_rect(ps_context *ctx, const ps_rect *rect, float ltx, float lty, float rtx, float rty, float lbx, float lby, float rbx, float rby)
Add a rounded rectangle to the current path.
PEXPORT ps_bool PICAPI ps_matrix_get_scale_factor(ps_matrix *matrix, float *sx, float *sy)
Get the scale factors from the matrix.
_ps_status
Status code return by call ps_last_status function.
PEXPORT void PICAPI ps_matrix_translate(ps_matrix *matrix, float tx, float ty)
Modify a matrix by translating.
PEXPORT int PICAPI ps_version(void)
Return current version of picasso.
PEXPORT ps_bool PICAPI ps_initialize(void)
Initialize the picasso drawing environment.
struct _ps_font_info ps_font_info
A structure that contains font information.
PEXPORT void PICAPI ps_path_add_line(ps_path *path, const ps_point *p1, const ps_point *p2)
Add a line to the path.
_ps_wrap_type
Fill type of pattern.
PEXPORT void PICAPI ps_path_bezier_to(ps_path *path, const ps_point *fcp, const ps_point *scp, const ps_point *ep)
Add a cubic bezier spline to the path from current point to end point.
_ps_draw_text_type
Draw mode for rending text.
PEXPORT float PICAPI ps_set_line_width(ps_context *ctx, float width)
Set the line width for a graphics context.
PEXPORT void PICAPI ps_matrix_scale(ps_matrix *matrix, float sx, float sy)
Modify a matrix by scaling.
PEXPORT ps_matrix *PICAPI ps_matrix_create(void)
Create a identity matrix object.
struct _ps_rect ps_rect
A structure that contains location and dimensions of a rectangle.
@ STATUS_INVALID_ARGUMENT
_ps_path_op
Path clipping operations.
PEXPORT void PICAPI ps_matrix_shear(ps_matrix *matrix, float shx, float shy)
Modify a matrix by shearing.
struct _ps_glyph ps_glyph
A character glyph of a font.
PEXPORT void PICAPI ps_wide_text_out_length(ps_context *ctx, float x, float y, const ps_uchar16 *text, unsigned int length)
Draw unicode characters (ucs-2) at location in user space.
uint16_t ps_uchar16
16 bit unsigned unicode character
enum _ps_text_align ps_text_align
Text align mode for drawing text.
PEXPORT float PICAPI ps_set_gamma(ps_context *ctx, float gamma)
Set the gamma value for the graphic context.
PEXPORT ps_bool PICAPI ps_path_bounding_rect(const ps_path *path, ps_rect *rect)
Get the bounding rectangle of the path.
PEXPORT void PICAPI ps_matrix_transform_rect(const ps_matrix *matrix, ps_rect *rect)
Transform an existing rectangle using the matrix.
PEXPORT ps_gradient *PICAPI ps_gradient_ref(ps_gradient *gradient)
Increases the reference count of the gradient by 1.
PEXPORT void PICAPI ps_draw_text(ps_context *ctx, const ps_rect *area, const void *text, unsigned int length, ps_draw_text_type type, ps_text_align align)
Draw text in a rectangle area, using font object which is selected in graphic context.
A structure that contains rgba values for a color.
PEXPORT ps_matrix *PICAPI ps_matrix_create_init(float sx, float shy, float shx, float sy, float tx, float ty)
Create a matrix with given parameters.
PEXPORT void PICAPI ps_matrix_flip_y(ps_matrix *matrix)
Flip a matrix in the vertical direction.
PEXPORT void PICAPI ps_text_out_length(ps_context *ctx, float x, float y, const char *text, unsigned int length)
Draw single byte characters (latin-1) at location in user space.
PEXPORT void PICAPI ps_scissor_rect(ps_context *ctx, const ps_rect *rect)
The fast way to clipping specified rectangle, the clip rect can not be transformed by world matrix.
PEXPORT void PICAPI ps_set_line_cap(ps_context *ctx, ps_line_cap line_cap)
Set the style for the endpoint of lines in a graphics context.
_ps_fill_rule
Fill rules for graphics.
PEXPORT void PICAPI ps_matrix_invert(ps_matrix *matrix)
Modify a matrix by inverting.
_ps_font_weight
Font weight.
PEXPORT void PICAPI ps_fill(ps_context *ctx)
Fill the current path according to the source attributes. After called, the current path will be clea...
enum _ps_wrap_type ps_wrap_type
Fill type of pattern.
PEXPORT ps_context *PICAPI ps_context_ref(ps_context *ctx)
Increases the reference count of the context by 1.
PEXPORT void PICAPI ps_mask_unref(ps_mask *mask)
Decrements the reference count for the mask object. If the reference count on the mask falls to 0,...
PEXPORT void PICAPI ps_set_source_image(ps_context *ctx, const ps_image *image)
Set a image to the context, it is used to fill a graphic object.
PEXPORT ps_bool PICAPI ps_matrix_get_shear_factor(ps_matrix *matrix, float *shx, float *shy)
Get the shear factors from the matrix.
PEXPORT void PICAPI ps_set_stroke_canvas(ps_context *ctx, const ps_canvas *canvas)
Set a canvas to the context, it is used to stroke a graphic object.
PEXPORT void PICAPI ps_path_add_rounded_rect(ps_path *path, const ps_rect *rect, float ltx, float lty, float rtx, float rty, float lbx, float lby, float rbx, float rby)
Add a rounded rectangle to the path.
PEXPORT ps_canvas *PICAPI ps_canvas_create_from_image(ps_image *img, const ps_rect *rect)
Create a new canvas using part of an existing ps_image object in same pixel buffer.
PEXPORT void PICAPI ps_matrix_rotate(ps_matrix *matrix, float angle)
Modify a matrix by rotating.
PEXPORT void PICAPI ps_text_transform(ps_context *ctx, const ps_matrix *matrix)
Transform text matrix for the graphic context. The text matrix is not a part of graphic state – savin...
PEXPORT ps_fill_rule PICAPI ps_set_fill_rule(ps_context *ctx, ps_fill_rule rule)
Set fill rule for graphic context.
PEXPORT void PICAPI ps_set_stroke_gradient(ps_context *ctx, const ps_gradient *gradient)
Set a gradient to the context, it is used to stroke a graphic object.
PEXPORT void PICAPI ps_set_source_canvas(ps_context *ctx, const ps_canvas *canvas)
Set a canvas to the context, it is used to fill a graphic object.
_ps_charset
Charset for a font.
PEXPORT void PICAPI ps_path_arc_to(ps_path *path, float radiusX, float radiusY, float angle, ps_bool large_arc, ps_bool clockwise, const ps_point *ep)
Add an arc to the path, using radius, angle and end point.
PEXPORT void PICAPI ps_new_sub_path(ps_context *ctx)
Close the current path, and add a new empty sub path in the graphic context.
PEXPORT void PICAPI ps_add_sub_path(ps_context *ctx, const ps_path *path)
Add a new sub path to current path in the graphic context.
PEXPORT void PICAPI ps_matrix_set_translate_factor(ps_matrix *matrix, float tx, float ty)
Set the translate factors to the matrix.
PEXPORT void PICAPI ps_set_text_color(ps_context *ctx, const ps_color *color)
Set the text fill color for the graphic context.
struct _ps_matrix ps_matrix
An opaque type represents a transform matrix.
PEXPORT void PICAPI ps_tangent_arc(ps_context *ctx, const ps_rect *rect, float sangle, float sweep)
Add a circular arc which is inner tangent from a rectangle.
PEXPORT ps_gradient *PICAPI ps_gradient_create_linear(ps_gradient_spread spread, const ps_point *start, const ps_point *end)
Create a new gradient that varies along the line defined by provided starting and ending points.
enum _ps_path_op ps_path_operation
Path clipping operations.
PEXPORT void PICAPI ps_clear(ps_context *ctx)
Clear the current context with source color.
PEXPORT void PICAPI ps_matrix_unref(ps_matrix *matrix)
Decrements the reference count for the matrix object. If the reference count on the matrix falls to 0...
PEXPORT ps_matrix *PICAPI ps_matrix_create_copy(const ps_matrix *matrix)
Create a matrix copy from an exist one.
_ps_line_join
Junction types for stroked lines.
PEXPORT void PICAPI ps_path_add_rect(ps_path *path, const ps_rect *rect)
Add a rectangle to the path.
PEXPORT void PICAPI ps_clip_rect(ps_context *ctx, const ps_rect *rect)
Clipping specified rectangle.
PEXPORT ps_bool PICAPI ps_get_path(ps_context *ctx, ps_path *path)
Get the current path in the graphic context.
PEXPORT void PICAPI ps_path_add_ellipse(ps_path *path, const ps_rect *rect)
Add an ellipse to the path.
PEXPORT void PICAPI ps_path_tangent_arc_to(ps_path *path, float radius, const ps_point *tp, const ps_point *ep)
Add an arc to the path which tangent at two line.
struct _ps_pattern ps_pattern
An opaque type represents a pattern.
PEXPORT ps_image *PICAPI ps_image_ref(ps_image *img)
Increases the reference count of the image by 1.
PEXPORT ps_canvas *PICAPI ps_canvas_ref(ps_canvas *canvas)
Increases the reference count of the canvas by 1.
PEXPORT void PICAPI ps_set_shadow(ps_context *ctx, float x_offset, float y_offset, float blur)
Enables shadowing in a context.
A structure that contains font information.
PEXPORT ps_gradient *PICAPI ps_gradient_create_radial(ps_gradient_spread spread, const ps_point *start, float sradius, const ps_point *end, float eradius)
Create a new gradient that varies along the area defined by provided starting and ending circles.
PEXPORT ps_bool PICAPI ps_glyph_get_extent(const ps_glyph *glyph, ps_size *rsize)
Get extent for a glyph object.
_ps_line_cap
Styles for rendering the endpoint of a stroked line.
_ps_line_inner_join
Inner junction types for stroked lines.
PEXPORT ps_matrix *PICAPI ps_matrix_ref(ps_matrix *matrix)
Increases the reference count of the matrix by 1.
PEXPORT void PICAPI ps_path_move_to(ps_path *path, const ps_point *point)
Begin a new sub path, and set the current point in the path.
struct _ps_color ps_color
A structure that contains rgba values for a color.
PEXPORT void PICAPI ps_reset_clip(ps_context *ctx)
Clear the clipping area from the context.
PEXPORT void PICAPI ps_matrix_set_shear_factor(ps_matrix *matrix, float shx, float shy)
Set the shear factors to the matrix.
PEXPORT void PICAPI ps_pattern_unref(ps_pattern *pattern)
Decrements the reference count for the pattern object. If the reference count on the pattern falls to...
PEXPORT float PICAPI ps_path_get_length(const ps_path *path)
Return The length of the path.
struct _ps_font ps_font
An opaque type represents a font.
PEXPORT float PICAPI ps_matrix_get_determinant(const ps_matrix *matrix)
Return the determinant from a matrix.
PEXPORT ps_image *PICAPI ps_image_create_from_image(ps_image *img, const ps_rect *rect)
Create a new image using part of an existing ps_image object in same pixel buffer.
PEXPORT ps_mask *PICAPI ps_mask_create_with_data(ps_byte *data, int width, int height)
Create a new mask using a given data block.
PEXPORT void PICAPI ps_font_set_italic(ps_font *font, ps_bool italic)
Set italic for a font object.
PEXPORT ps_canvas *PICAPI ps_canvas_create(ps_color_format fmt, int width, int height)
Create a new canvas using the given parameters.
struct _ps_mask ps_mask
An opaque type represents an alpha mask.
struct _ps_point ps_point
A structure that contains a point in a two-dimensional coordinate system.
PEXPORT float PICAPI ps_set_blur(ps_context *ctx, float blur)
Set the blur level for the graphic context.
PEXPORT void PICAPI ps_canvas_set_mask(ps_canvas *canvas, const ps_mask *mask)
Set a new mask into an existing canvas object.
PEXPORT void PICAPI ps_path_clipping(ps_path *result, ps_path_operation op, const ps_path *a, const ps_path *b)
Clipping two path with the operation and get the result path.
PEXPORT void PICAPI ps_set_text_stroke_color(ps_context *ctx, const ps_color *color)
Set the text stroke color for the graphic context.
A structure that contains location and dimensions of a rectangle.
PEXPORT ps_path *PICAPI ps_path_create(void)
Create a new empty path object.
PEXPORT void PICAPI ps_canvas_unref(ps_canvas *canvas)
Decrements the reference count for the canvas object. If the reference count on the canvas falls to 0...
PEXPORT void PICAPI ps_path_add_sub_path(ps_path *path, const ps_path *spath)
Add an sub path to the path.
@ GRADIENT_SPREAD_REFLECT
PEXPORT ps_image *PICAPI ps_image_create_compatible(const ps_canvas *canvas, int width, int height)
Create a new image to compatible with an existing canvas.
PEXPORT void PICAPI ps_matrix_transform_path(const ps_matrix *matrix, ps_path *path)
Transform an existing path using the matrix.
PEXPORT void PICAPI ps_set_text_render_type(ps_context *ctx, ps_text_type type)
Set rendering type for text.
PEXPORT void PICAPI ps_gradient_transform(ps_gradient *gradient, const ps_matrix *matrix)
Transform the gradient object.
PEXPORT void PICAPI ps_new_path(ps_context *ctx)
Create a new empty path in the graphic context, clear the old one.
PEXPORT void PICAPI ps_set_stroke_color(ps_context *ctx, const ps_color *color)
Set a color to the context, it is used to stroke a graphic object.
enum _ps_status ps_status
Status code return by call ps_last_status function.
PEXPORT ps_color_format PICAPI ps_canvas_get_format(const ps_canvas *canvas)
Return the pixel format of the canvas.
PEXPORT void PICAPI ps_set_text_matrix(ps_context *ctx, const ps_matrix *matrix)
Set text matrix for the graphic context. The text matrix is not a part of graphic state – saving and ...
PEXPORT ps_pattern *PICAPI ps_pattern_create_image(const ps_image *img, ps_wrap_type x_wrap, ps_wrap_type y_wrap, const ps_matrix *transform)
Create a new pattern with an existing image.
PEXPORT ps_canvas *PICAPI ps_canvas_replace_data(ps_canvas *canvas, ps_byte *data, ps_color_format fmt, int width, int height, int pitch)
Replace a canvas target rendering buffer address in memory, which is only use for canvas create by ps...
PEXPORT void PICAPI ps_move_to(ps_context *ctx, const ps_point *point)
Begin a new sub path, and set the current point.
PEXPORT void PICAPI ps_matrix_identity(ps_matrix *matrix)
Reset a matrix to identity matrix.
PEXPORT void PICAPI ps_set_antialias(ps_context *ctx, ps_bool antialias)
Set whether the Anti-aliasing should be turn on.
PEXPORT void PICAPI ps_set_shadow_color(ps_context *ctx, const ps_color *color)
Set the color of shadow. Default is a black color with 1/3 alpha.
enum _ps_line_join ps_line_join
Junction types for stroked lines.
PEXPORT ps_path *PICAPI ps_path_create_copy(const ps_path *path)
Create a copy from an existing path object.
struct _ps_gradient ps_gradient
An opaque type represents a gradient.
PEXPORT ps_context *PICAPI ps_context_create(ps_canvas *canvas, ps_context *shared_context)
Create a new graphic context for a canvas.
PEXPORT void PICAPI ps_image_set_transparent_color(ps_image *img, const ps_color *color)
Set the transparent color for the image.
PEXPORT void PICAPI ps_shutdown(void)
Shutdown the picasso drawing environment.
_ps_gradient_spread
Fill type of outside the gradient area.
PEXPORT ps_bool PICAPI ps_get_font_info(ps_context *ctx, ps_font_info *info)
Return the font information from the graphics context.
PEXPORT ps_bool PICAPI ps_matrix_is_identity(const ps_matrix *matrix)
Checks whether the matrix is the identity transform matrix.
PEXPORT void PICAPI ps_set_stroke_pattern(ps_context *ctx, const ps_pattern *pattern)
Set a pattern to the context, it is used to stroke a graphic object.
PEXPORT void PICAPI ps_set_source_pattern(ps_context *ctx, const ps_pattern *pattern)
Set a pattern to the context, it is used to fill a graphic object.
enum _ps_draw_text_type ps_draw_text_type
Draw mode for rending text.
PEXPORT void PICAPI ps_show_glyphs(ps_context *ctx, float x, float y, ps_glyph *glyphs, unsigned int length)
Draw an array of glyphs at location in user space.
PEXPORT void PICAPI ps_arc(ps_context *ctx, const ps_point *cp, float radius, float sangle, float eangle, ps_bool clockwise)
Add a circular arc to the current path.
@ STATUS_MISMATCHING_FORMAT
_ps_text_type
Text rendering type.
PEXPORT ps_bool PICAPI ps_matrix_is_equal(const ps_matrix *a, const ps_matrix *b)
Checks whether two matrix are equal.
uint8_t ps_byte
byte data type
PEXPORT ps_pattern *PICAPI ps_pattern_ref(ps_pattern *pattern)
Increases the reference count of the pattern by 1.
PEXPORT void PICAPI ps_reset_shadow(ps_context *ctx)
Disables shadowing in a context.
PEXPORT ps_font *PICAPI ps_font_ref(ps_font *font)
Increases the reference count of the font by 1.
PEXPORT void PICAPI ps_canvas_bitblt(ps_canvas *src, const ps_rect *rect, ps_canvas *dst, const ps_point *location)
Copy raster data between two canvas objects.
PEXPORT void PICAPI ps_mask_clear_color_filters(ps_mask *mask)
Clear all colors from mask's filter.
PEXPORT void PICAPI ps_set_stroke_image(ps_context *ctx, const ps_image *image)
Set a image to the context, it is used to stroke a graphic object.
PEXPORT void PICAPI ps_clip_rects(ps_context *ctx, const ps_rect *rects, unsigned int num_rects)
Clipping specified area defined by an array of rectangles.
PEXPORT void PICAPI ps_matrix_init(ps_matrix *matrix, float sx, float shy, float shx, float sy, float tx, float ty)
Initialize an existing matrix object with given parameters.
PEXPORT ps_status PICAPI ps_last_status(void)
Return the last status code of picasso.
PEXPORT void PICAPI ps_gradient_add_color_stop(ps_gradient *gradient, float offset, const ps_color *color)
Add a color stop to a gradient. The offset specifies the location along the gradient's control vector...
PEXPORT ps_path_cmd PICAPI ps_path_get_vertex(const ps_path *path, unsigned int index, ps_point *point)
Get a vertex from the path by index, and return the vertex command.
PEXPORT void PICAPI ps_quad_curve_to(ps_context *ctx, const ps_point *cp, const ps_point *ep)
Add a quadratic bezier spline to the current path from current point to end point.
_ps_path_cmd
Path command for vertices.
PEXPORT ps_font *PICAPI ps_font_create(const char *name, ps_charset charset, float size, int weight, ps_bool italic)
Create a font object using the given parameters.
struct _ps_context ps_context
An opaque type represents a Picasso drawing environment.
PEXPORT void PICAPI ps_ellipse(ps_context *ctx, const ps_rect *rect)
Adds an ellipse to the current path which fits inside the specified rectangle.
PEXPORT ps_image *PICAPI ps_image_create_from_data(ps_byte *data, ps_color_format fmt, int width, int height, int pitch)
Create a new image using a copy of given address in memory.
PEXPORT void PICAPI ps_save(ps_context *ctx)
Pushes a copy of the current graphics state on to stack for context.
PEXPORT void PICAPI ps_path_add_arc(ps_path *path, const ps_point *cp, float radius, float sangle, float eangle, ps_bool clockwise)
Add a arc to the path.
PEXPORT void PICAPI ps_clip(ps_context *ctx)
Clipping the current path, using the current fill rule. After called, the current path will be cleare...
PEXPORT ps_bool PICAPI ps_get_path_from_glyph(ps_context *ctx, const ps_glyph *glyph, ps_path *path)
Get the path from a given glyph object.
PEXPORT void PICAPI ps_gradient_unref(ps_gradient *gradient)
Decrements the reference count for the gradient object. If the reference count on the gradient falls ...
PEXPORT ps_path *PICAPI ps_path_ref(ps_path *path)
Increases the reference count of the path by 1.
enum _ps_path_cmd ps_path_cmd
Path command for vertices.
PEXPORT ps_image *PICAPI ps_image_create(ps_color_format fmt, int width, int height)
Create a new image using the given parameters.
struct _ps_size ps_size
A structure that contains width and height values.
PEXPORT void PICAPI ps_rectangle(ps_context *ctx, const ps_rect *rect)
Add a rectangle to the current path.
PEXPORT void PICAPI ps_set_text_antialias(ps_context *ctx, ps_bool antialias)
Set whether the font allowed be anti-aliasing.
PEXPORT void PICAPI ps_font_set_charset(ps_font *font, ps_charset charset)
Set charset for a font object.
PEXPORT ps_bool PICAPI ps_path_stroke_contains(const ps_path *path, const ps_point *point, float width)
Check whether a point is contained in the path by stroke method.
PEXPORT ps_font *PICAPI ps_set_font(ps_context *ctx, const ps_font *font)
Set a new font to graphics context.
int16_t ps_schar16
16 bit signed unicode character
enum _ps_line_cap ps_line_cap
Styles for rendering the endpoint of a stroked line.
PEXPORT ps_bool PICAPI ps_canvas_get_size(const ps_canvas *canvas, ps_size *rsize)
Return the size of the canvas.
enum _ps_composite ps_composite
Compositing operations for graphics context.
A structure that contains width and height values.
PEXPORT unsigned int PICAPI ps_path_get_vertex_count(const ps_path *path)
Return the count of vertices in the path.
PEXPORT ps_gradient *PICAPI ps_gradient_create_conic(ps_gradient_spread spread, const ps_point *origin, float sangle)
Create a new gradient that varies along the area defined by provided concentric circles.
PEXPORT void PICAPI ps_matrix_multiply(ps_matrix *result, const ps_matrix *a, const ps_matrix *b)
Multiplies the matrix in a and b together and stores the result in result.
PEXPORT void PICAPI ps_font_set_size(ps_font *font, float size)
Set size for a font object.
PEXPORT ps_canvas *PICAPI ps_canvas_create_from_canvas(ps_canvas *canvas, const ps_rect *rect)
Create a new canvas using part of an existing canvas in same pixel buffer.
PEXPORT void PICAPI ps_font_unref(ps_font *font)
Decrements the reference count for the font object. If the reference count on the font falls to 0,...
PEXPORT ps_color_format PICAPI ps_image_get_format(const ps_image *img)
Return the pixel format of the image.
_ps_color_format
Pixel formats of canvas or image.
enum _ps_filter ps_filter
Graphics quality for rendering an image.
PEXPORT void PICAPI ps_matrix_flip_x(ps_matrix *matrix)
Flip a matrix in the horizontal direction.
PEXPORT void PICAPI ps_matrix_set_scale_factor(ps_matrix *matrix, float sx, float sy)
Set the scale factors to the matrix.
PEXPORT void PICAPI ps_set_text_kerning(ps_context *ctx, ps_bool kerning)
Set whether the font auto kerning is allowed.
enum _ps_gradient_spread ps_gradient_spread
Fill type of outside the gradient area.
PEXPORT void PICAPI ps_restore(ps_context *ctx)
Set the current graphics state to the state most recently saved.
PEXPORT void PICAPI ps_canvas_reset_mask(ps_canvas *canvas)
Clear the mask from the canvas object.
PEXPORT void PICAPI ps_bezier_curve_to(ps_context *ctx, const ps_point *fcp, const ps_point *scp, const ps_point *ep)
Add a cubic bezier spline to the current path from current point to end point.
PEXPORT ps_bool PICAPI ps_get_glyph(ps_context *ctx, int ch, ps_glyph *glyph)
Get the glyph from a given character, using font object which is selected in graphic context.
PEXPORT ps_bool PICAPI ps_path_is_empty(const ps_path *path)
Checks whether the path is empty.
PEXPORT void PICAPI ps_path_line_to(ps_path *path, const ps_point *point)
Add a line to the path from the current point to given point.
enum _ps_color_format ps_color_format
Pixel formats of canvas or image.
PEXPORT void PICAPI ps_path_clear(ps_path *path)
Clear the path to empty.
PEXPORT void PICAPI ps_pattern_transform(ps_pattern *pattern, const ps_matrix *matrix)
Transform the pattern object.