Picasso API
2.2
|
#include "pconfig.h"
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | _ps_glyph |
A character glyph of a font. More... | |
struct | _ps_size |
A structure that contains width and height values. More... | |
struct | _ps_rect |
A structure that contains location and dimensions of a rectangle. More... | |
struct | _ps_point |
A structure that contains a point in a two-dimensional coordinate system. More... | |
struct | _ps_color |
A structure that contains rgba values for a color. More... | |
struct | _ps_font_info |
A structure that contains font information. More... | |
Defines | |
#define | True 1 |
define true value | |
#define | False 0 |
define false value | |
Typedefs | |
typedef int | ps_bool |
boolean type | |
typedef uint16_t | ps_uchar16 |
16 bit unsigned unicode character | |
typedef int16_t | ps_schar16 |
16 bit signed unicode character | |
typedef uint8_t | ps_byte |
byte data type | |
typedef struct _ps_context | ps_context |
An opaque type represents a Picasso drawing environment. | |
typedef struct _ps_canvas | ps_canvas |
An opaque type represents a pixel buffer. | |
typedef struct _ps_image | ps_image |
An opaque type represents an image. | |
typedef struct _ps_pattern | ps_pattern |
An opaque type represents a pattern. | |
typedef struct _ps_gradient | ps_gradient |
An opaque type represents a gradient. | |
typedef struct _ps_matrix | ps_matrix |
An opaque type represents a transform matrix. | |
typedef struct _ps_path | ps_path |
An opaque type represents a graphic path. | |
typedef struct _ps_mask | ps_mask |
An opaque type represents an alpha mask. | |
typedef struct _ps_font | ps_font |
An opaque type represents a font. | |
typedef struct _ps_glyph | ps_glyph |
A character glyph of a font. | |
typedef struct _ps_size | ps_size |
A structure that contains width and height values. | |
typedef struct _ps_rect | ps_rect |
A structure that contains location and dimensions of a rectangle. | |
typedef struct _ps_point | ps_point |
A structure that contains a point in a two-dimensional coordinate system. | |
typedef struct _ps_color | ps_color |
A structure that contains rgba values for a color. | |
typedef enum _ps_status | ps_status |
Status code return by call ps_last_status function. | |
typedef enum _ps_color_format | ps_color_format |
Pixel formats of canvas or image. | |
typedef enum _ps_wrap_type | ps_wrap_type |
Fill type of pattern. | |
typedef enum _ps_gradient_spread | ps_gradient_spread |
Fill type of outside the gradient area. | |
typedef enum _ps_line_cap | ps_line_cap |
Styles for rendering the endpoint of a stroked line. | |
typedef enum _ps_line_join | ps_line_join |
Junction types for stroked lines. | |
typedef enum _ps_line_inner_join | ps_line_inner_join |
Inner junction types for stroked lines. | |
typedef enum _ps_composite | ps_composite |
Compositing operations for graphics context. | |
typedef enum _ps_filter | ps_filter |
Graphics quality for rendering an image. | |
typedef enum _ps_fill_rule | ps_fill_rule |
Fill rules for graphics. | |
typedef enum _ps_charset | ps_charset |
Charset for a font. | |
typedef enum _ps_font_weight | ps_font_weight |
Font weight. | |
typedef struct _ps_font_info | ps_font_info |
A structure that contains font information. | |
typedef enum _ps_text_type | ps_text_type |
Text rendering type. | |
typedef enum _ps_draw_text_type | ps_draw_text_type |
Draw mode for rending text. | |
typedef enum _ps_text_align | ps_text_align |
Text align mode for drawing text. | |
typedef enum _ps_path_cmd | ps_path_cmd |
Path command for vertices. | |
typedef enum _ps_path_op | ps_path_operation |
Path clipping operations. | |
Enumerations | |
enum | _ps_status { STATUS_SUCCEED, STATUS_OUT_OF_MEMORY, STATUS_INVALID_ARGUMENT, STATUS_NOT_SUPPORT, STATUS_DEVICE_ERROR, STATUS_MISMATCHING_FORMAT, STATUS_UNKNOWN_ERROR } |
Status code return by call ps_last_status function. More... | |
enum | _ps_color_format { COLOR_FORMAT_RGBA, COLOR_FORMAT_ARGB, COLOR_FORMAT_ABGR, COLOR_FORMAT_BGRA, COLOR_FORMAT_RGB, COLOR_FORMAT_BGR, COLOR_FORMAT_RGB565, COLOR_FORMAT_RGB555, COLOR_FORMAT_UNKNOWN } |
Pixel formats of canvas or image. More... | |
enum | _ps_wrap_type { WRAP_TYPE_REPEAT, WRAP_TYPE_REFLECT } |
Fill type of pattern. More... | |
enum | _ps_gradient_spread { GRADIENT_SPREAD_PAD, GRADIENT_SPREAD_REPEAT, GRADIENT_SPREAD_REFLECT } |
Fill type of outside the gradient area. More... | |
enum | _ps_line_cap { LINE_CAP_BUTT, LINE_CAP_ROUND, LINE_CAP_SQUARE } |
Styles for rendering the endpoint of a stroked line. More... | |
enum | _ps_line_join { LINE_JOIN_MITER, LINE_JOIN_MITER_REVERT, LINE_JOIN_MITER_ROUND, LINE_JOIN_ROUND, LINE_JOIN_BEVEL } |
Junction types for stroked lines. More... | |
enum | _ps_line_inner_join { LINE_INNER_MITER, LINE_INNER_BEVEL, LINE_INNER_JAG, LINE_INNER_ROUND } |
Inner junction types for stroked lines. More... | |
enum | _ps_composite { COMPOSITE_CLEAR, COMPOSITE_SRC, COMPOSITE_SRC_OVER, COMPOSITE_SRC_IN, COMPOSITE_SRC_OUT, COMPOSITE_SRC_ATOP, COMPOSITE_DST, COMPOSITE_DST_OVER, COMPOSITE_DST_IN, COMPOSITE_DST_OUT, COMPOSITE_DST_ATOP, COMPOSITE_XOR, COMPOSITE_DARKEN, COMPOSITE_LIGHTEN, COMPOSITE_OVERLAY, COMPOSITE_SCREEN, COMPOSITE_MULTIPLY, COMPOSITE_PLUS, COMPOSITE_MINUS, COMPOSITE_EXCLUSION, COMPOSITE_DIFFERENCE, COMPOSITE_SOFTLIGHT, COMPOSITE_HARDLIGHT, COMPOSITE_BURN, COMPOSITE_DODGE, COMPOSITE_CONTRAST, COMPOSITE_INVERT, COMPOSITE_INVERT_BLEND, COMPOSITE_HUE, COMPOSITE_SATURATION, COMPOSITE_COLOR, COMPOSITE_LUMINOSITY, COMPOSITE_ERROR } |
Compositing operations for graphics context. More... | |
enum | _ps_filter { FILTER_NEAREST, FILTER_BILINEAR, FILTER_GAUSSIAN, FILTER_UNKNOWN } |
Graphics quality for rendering an image. More... | |
enum | _ps_fill_rule { FILL_RULE_WINDING, FILL_RULE_EVEN_ODD, FILL_RULE_ERROR } |
Fill rules for graphics. More... | |
enum | _ps_charset { CHARSET_ANSI, CHARSET_UNICODE } |
Charset for a font. More... | |
enum | _ps_font_weight { FONT_WEIGHT_REGULAR = 400, FONT_WEIGHT_MEDIUM = 500, FONT_WEIGHT_BOLD = 700, FONT_WEIGHT_HEAVY = 900 } |
Font weight. More... | |
enum | _ps_text_type { TEXT_TYPE_SMOOTH, TEXT_TYPE_MONO, TEXT_TYPE_STROKE } |
Text rendering type. More... | |
enum | _ps_draw_text_type { DRAW_TEXT_FILL, DRAW_TEXT_STROKE, DRAW_TEXT_BOTH } |
Draw mode for rending text. More... | |
enum | _ps_text_align { TEXT_ALIGN_CENTER = 0, TEXT_ALIGN_TOP = 1, TEXT_ALIGN_BOTTOM = 2, TEXT_ALIGN_LEFT = 4, TEXT_ALIGN_RIGHT = 8 } |
Text align mode for drawing text. More... | |
enum | _ps_path_cmd { PATH_CMD_STOP = 0, PATH_CMD_MOVE_TO = 1, PATH_CMD_LINE_TO = 2, PATH_CMD_CURVE3 = 3, PATH_CMD_CURVE4 = 4, PATH_CMD_END_POLY = 0x0F } |
Path command for vertices. More... | |
enum | _ps_path_op { PATH_OP_UNION, PATH_OP_INTERSECT, PATH_OP_XOR, PATH_OP_DIFF } |
Path clipping operations. More... | |
Functions | |
PEXPORT int PICAPI | ps_version (void) |
Return current version of picasso. | |
PEXPORT ps_bool PICAPI | ps_initialize (void) |
Initialize the picasso drawing environment. | |
PEXPORT void PICAPI | ps_shutdown (void) |
Shutdown the picasso drawing environment. | |
PEXPORT ps_status PICAPI | ps_last_status (void) |
Return the last status code of picasso. | |
PEXPORT ps_context *PICAPI | ps_context_create (ps_canvas *canvas, ps_context *shared_context) |
Create a new graphic context for a canvas. | |
PEXPORT ps_context *PICAPI | ps_context_ref (ps_context *ctx) |
Increases the reference count of the context by 1. | |
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 0, the context is freed. | |
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_canvas *PICAPI | ps_context_get_canvas (ps_context *ctx) |
Get the canvas from the context. | |
PEXPORT ps_canvas *PICAPI | ps_canvas_create (ps_color_format fmt, int width, int height) |
Create a new canvas using the given parameters. | |
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 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. | |
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 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 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_canvas_create_with_data. | |
PEXPORT ps_canvas *PICAPI | ps_canvas_ref (ps_canvas *canvas) |
Increases the reference count of the canvas by 1. | |
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, the canvas is freed. | |
PEXPORT ps_bool PICAPI | ps_canvas_get_size (const ps_canvas *canvas, ps_size *rsize) |
Return the size of the canvas. | |
PEXPORT ps_color_format PICAPI | ps_canvas_get_format (const ps_canvas *canvas) |
Return the pixel format of the canvas. | |
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_canvas_reset_mask (ps_canvas *canvas) |
Clear the mask from the canvas object. | |
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 ps_image *PICAPI | ps_image_create (ps_color_format fmt, int width, int height) |
Create a new image using the given parameters. | |
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 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 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 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 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_image *PICAPI | ps_image_ref (ps_image *img) |
Increases the reference count of the image by 1. | |
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, the image is freed. | |
PEXPORT void PICAPI | ps_image_set_allow_transparent (ps_image *img, ps_bool allow) |
Set whether the image allowed be transparent, False is default. | |
PEXPORT void PICAPI | ps_image_set_transparent_color (ps_image *img, const ps_color *color) |
Set the transparent color for the image. | |
PEXPORT ps_bool PICAPI | ps_image_get_size (const ps_image *img, ps_size *rsize) |
Return the size of the image. | |
PEXPORT ps_color_format PICAPI | ps_image_get_format (const ps_image *img) |
Return the pixel format of the image. | |
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 void PICAPI | ps_pattern_transform (ps_pattern *pattern, const ps_matrix *matrix) |
Transform the pattern object. | |
PEXPORT ps_pattern *PICAPI | ps_pattern_ref (ps_pattern *pattern) |
Increases the reference count of the pattern by 1. | |
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 0, the pattern is freed. | |
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. | |
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_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_gradient_transform (ps_gradient *gradient, const ps_matrix *matrix) |
Transform the gradient object. | |
PEXPORT ps_gradient *PICAPI | ps_gradient_ref (ps_gradient *gradient) |
Increases the reference count of the gradient by 1. | |
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 to 0, the gradient is freed. | |
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 void PICAPI | ps_gradient_clear_color_stops (ps_gradient *gradient) |
Clear color stops from gradient's control vector. | |
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 ps_mask *PICAPI | ps_mask_ref (ps_mask *mask) |
Increases the reference count of the mask 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, the mask is freed. | |
PEXPORT void PICAPI | ps_mask_add_color_filter (ps_mask *mask, const ps_color *color) |
Add a color filter to a mask. | |
PEXPORT void PICAPI | ps_mask_clear_color_filters (ps_mask *mask) |
Clear all colors from mask's filter. | |
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 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 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. | |
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_set_source_canvas (ps_context *ctx, const ps_canvas *canvas) |
Set a canvas to the context, it is used to fill a graphic object. | |
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. | |
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 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 float PICAPI | ps_set_line_width (ps_context *ctx, float width) |
Set the line width for a graphics context. | |
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 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. | |
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_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_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_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_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 void PICAPI | ps_reset_line_dash (ps_context *ctx) |
Clear the dashs from the context, and set to solid. | |
PEXPORT void PICAPI | ps_set_shadow (ps_context *ctx, float x_offset, float y_offset, float blur) |
Enables shadowing in a context. | |
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. | |
PEXPORT void PICAPI | ps_reset_shadow (ps_context *ctx) |
Disables shadowing in a context. | |
PEXPORT ps_composite PICAPI | ps_set_composite_operator (ps_context *ctx, ps_composite composite) |
Set composites opertaions for graphics context. | |
PEXPORT ps_filter PICAPI | ps_set_filter (ps_context *ctx, ps_filter filter) |
Set interpolation filter for graphic context. | |
PEXPORT ps_fill_rule PICAPI | ps_set_fill_rule (ps_context *ctx, ps_fill_rule rule) |
Set fill rule for graphic context. | |
PEXPORT float PICAPI | ps_set_alpha (ps_context *ctx, float alpha) |
Set the opacity level for objects drawn in graphic context. | |
PEXPORT float PICAPI | ps_set_gamma (ps_context *ctx, float gamma) |
Set the gamma value for the graphic context. | |
PEXPORT void PICAPI | ps_set_antialias (ps_context *ctx, ps_bool antialias) |
Set whether the Anti-aliasing should be turn on. | |
PEXPORT float PICAPI | ps_set_blur (ps_context *ctx, float blur) |
Set the blur level for the graphic context. | |
PEXPORT void PICAPI | ps_stroke (ps_context *ctx) |
Stroke the current path according to the line attributes. After called, the current path will be cleared from the context. | |
PEXPORT void PICAPI | ps_fill (ps_context *ctx) |
Fill the current path according to the source attributes. After called, the current path will be cleared from the context. | |
PEXPORT void PICAPI | ps_paint (ps_context *ctx) |
Fill and stroke the current path according to the source and line attributes. After called, the current path will be cleared from the context. | |
PEXPORT void PICAPI | ps_clear (ps_context *ctx) |
Clear the current context with source color. | |
PEXPORT void PICAPI | ps_clip (ps_context *ctx) |
Clipping the current path, using the current fill rule. After called, the current path will be cleared from the 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 void PICAPI | ps_clip_rect (ps_context *ctx, const ps_rect *rect) |
Clipping specified rectangle. | |
PEXPORT void PICAPI | ps_clip_device_rect (ps_context *ctx, const ps_rect *rect) |
The fast way to clipping specified rectangle, the clip rect can not be rotated by world matrix. (Deprecated) | |
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_reset_clip (ps_context *ctx) |
Clear the clipping area from the context. | |
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_restore (ps_context *ctx) |
Set the current graphics state to the state most recently saved. | |
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. | |
PEXPORT ps_font *PICAPI | ps_font_create_copy (const ps_font *font) |
Create a copy from an existing font object. | |
PEXPORT ps_font *PICAPI | ps_font_ref (ps_font *font) |
Increases the reference count of the font by 1. | |
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, the font is freed. | |
PEXPORT void PICAPI | ps_font_set_size (ps_font *font, float size) |
Set size for a font object. | |
PEXPORT void PICAPI | ps_font_set_weight (ps_font *font, int weight) |
Set weight for a font object. | |
PEXPORT void PICAPI | ps_font_set_italic (ps_font *font, ps_bool italic) |
Set italic for a font object. | |
PEXPORT void PICAPI | ps_font_set_charset (ps_font *font, ps_charset charset) |
Set charset for a font object. | |
PEXPORT void PICAPI | ps_font_set_hint (ps_font *font, ps_bool hint) |
Set hiting for a font object. | |
PEXPORT void PICAPI | ps_font_set_flip (ps_font *font, ps_bool flip) |
Set flip for a font object. | |
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_font *PICAPI | ps_set_font (ps_context *ctx, const ps_font *font) |
Set a new font to graphics context. | |
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. | |
PEXPORT void PICAPI | ps_set_text_color (ps_context *ctx, const ps_color *color) |
Set the text fill color for the graphic context. | |
PEXPORT void PICAPI | ps_set_text_stroke_color (ps_context *ctx, const ps_color *color) |
Set the text stroke color for the graphic context. | |
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 -- saving and restoring has no effect on the text matrix. The text matrix is an attribute of graphic context. | |
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 restoring has no effect on the text matrix. The text matrix is an attribute of graphic context. | |
PEXPORT void PICAPI | ps_set_text_render_type (ps_context *ctx, ps_text_type type) |
Set rendering type for text. | |
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_set_text_kerning (ps_context *ctx, ps_bool kerning) |
Set whether the font auto kerning is allowed. | |
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_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. | |
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. | |
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 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 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 ps_bool PICAPI | ps_glyph_get_extent (const ps_glyph *glyph, ps_size *rsize) |
Get extent for a glyph object. | |
PEXPORT void PICAPI | ps_translate (ps_context *ctx, float tx, float ty) |
Changes the origin of the user coordinate system in graphic context. | |
PEXPORT void PICAPI | ps_scale (ps_context *ctx, float sx, float sy) |
Changes the scale of the user coordinate system in graphic context. | |
PEXPORT void PICAPI | ps_shear (ps_context *ctx, float shx, float shy) |
Changes the shear of the user coordinate system in graphic context. | |
PEXPORT void PICAPI | ps_rotate (ps_context *ctx, float angle) |
Rotates the user coordinate system in graphic context. | |
PEXPORT void PICAPI | ps_identity (ps_context *ctx) |
Reset the current transformation matrix to identity matrix. | |
PEXPORT void PICAPI | ps_transform (ps_context *ctx, const ps_matrix *matrix) |
Transforms the user coordinate system in graphic context using a specified matrix. | |
PEXPORT void PICAPI | ps_set_matrix (ps_context *ctx, const ps_matrix *matrix) |
Modifies the current transformation matrix to the given matrix. | |
PEXPORT ps_bool PICAPI | ps_get_matrix (ps_context *ctx, ps_matrix *matrix) |
Get the current transformation matrix from graphic context. | |
PEXPORT void PICAPI | ps_world_to_viewport (ps_context *ctx, ps_point *point) |
Transform a coordinate from device space to user space. | |
PEXPORT void PICAPI | ps_viewport_to_world (ps_context *ctx, ps_point *point) |
Transform a coordinate from user space to device space. | |
PEXPORT ps_matrix *PICAPI | ps_matrix_create (void) |
Create a identity matrix object. | |
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 ps_matrix *PICAPI | ps_matrix_create_copy (const ps_matrix *matrix) |
Create a matrix copy from an exist one. | |
PEXPORT ps_matrix *PICAPI | ps_matrix_ref (ps_matrix *matrix) |
Increases the reference count of the matrix by 1. | |
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, the matrix is freed. | |
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 void PICAPI | ps_matrix_translate (ps_matrix *matrix, float tx, float ty) |
Modify a matrix by translating. | |
PEXPORT void PICAPI | ps_matrix_scale (ps_matrix *matrix, float sx, float sy) |
Modify a matrix by scaling. | |
PEXPORT void PICAPI | ps_matrix_rotate (ps_matrix *matrix, float angle) |
Modify a matrix by rotating. | |
PEXPORT void PICAPI | ps_matrix_shear (ps_matrix *matrix, float shx, float shy) |
Modify a matrix by shearing. | |
PEXPORT void PICAPI | ps_matrix_invert (ps_matrix *matrix) |
Modify a matrix by inverting. | |
PEXPORT void PICAPI | ps_matrix_reset (ps_matrix *matrix) |
Reset a matrix to identity matrix. | |
PEXPORT void PICAPI | ps_matrix_flip_x (ps_matrix *matrix) |
Flip a matrix in the horizontal direction. | |
PEXPORT void PICAPI | ps_matrix_flip_y (ps_matrix *matrix) |
Flip a matrix in the vertical direction. | |
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 ps_bool PICAPI | ps_matrix_is_identity (const ps_matrix *matrix) |
Checks whether the matrix is the identity transform matrix. | |
PEXPORT ps_bool PICAPI | ps_matrix_is_equal (const ps_matrix *a, const ps_matrix *b) |
Checks whether two matrix are equal. | |
PEXPORT float PICAPI | ps_matrix_get_determinant (const ps_matrix *matrix) |
Return the determinant from a matrix. | |
PEXPORT void PICAPI | ps_matrix_set_translate_factor (ps_matrix *matrix, float tx, float ty) |
Set the translate factors to the matrix. | |
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_set_scale_factor (ps_matrix *matrix, float sx, float sy) |
Set the scale factors to the matrix. | |
PEXPORT ps_bool PICAPI | ps_matrix_get_scale_factor (ps_matrix *matrix, float *sx, float *sy) |
Get the scale factors from the matrix. | |
PEXPORT void PICAPI | ps_matrix_set_shear_factor (ps_matrix *matrix, float shx, float shy) |
Set the shear factors to the matrix. | |
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_matrix_transform_point (const ps_matrix *matrix, ps_point *point) |
Transform an existing point using the matrix. | |
PEXPORT void PICAPI | ps_matrix_transform_rect (const ps_matrix *matrix, ps_rect *rect) |
Transform an existing rectangle using the matrix. | |
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_new_path (ps_context *ctx) |
Create a new empty path in the graphic context, clear the old one. | |
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_set_path (ps_context *ctx, const ps_path *path) |
Replace the current path in the graphic context. | |
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_close_path (ps_context *ctx) |
Close the current path in the graphic context. | |
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_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_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 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. | |
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. | |
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 void PICAPI | ps_rectangle (ps_context *ctx, const ps_rect *rect) |
Add a rectangle to the current path. | |
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 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_path *PICAPI | ps_path_create (void) |
Create a new empty path object. | |
PEXPORT ps_path *PICAPI | ps_path_create_copy (const ps_path *path) |
Create a copy from an existing path object. | |
PEXPORT ps_path *PICAPI | ps_path_ref (ps_path *path) |
Increases the reference count of the path by 1. | |
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, the path is freed. | |
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. | |
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. | |
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. | |
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_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. | |
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 void PICAPI | ps_path_sub_close (ps_path *path) |
Close the sub path, and begin a new one. | |
PEXPORT float PICAPI | ps_path_get_length (const ps_path *path) |
Return The length of the path. | |
PEXPORT void PICAPI | ps_path_clear (ps_path *path) |
Clear the path to empty. | |
PEXPORT ps_bool PICAPI | ps_path_is_empty (const ps_path *path) |
Checks whether the path is empty. | |
PEXPORT unsigned int PICAPI | ps_path_get_vertex_count (const ps_path *path) |
Return the count of vertices in the path. | |
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 ps_bool PICAPI | ps_path_bounding_rect (const ps_path *path, ps_rect *rect) |
Get the bounding rectangle of the path. | |
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 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 void PICAPI | ps_path_add_line (ps_path *path, const ps_point *p1, const ps_point *p2) |
Add a line to the path. | |
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_path_add_rect (ps_path *path, const ps_rect *rect) |
Add a rectangle to the path. | |
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_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 void PICAPI | ps_path_add_sub_path (ps_path *path, const ps_path *spath) |
Add an sub path to the path. | |
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. |
This file includes all interfaces of Picasso
Copyright (C) 2008 ~ 2016 Zhang Ji Peng All rights reserved. Picasso is a vector graphic library.
Definition in file picasso.h.