![]() |
![]() |
![]() |
Goffice Reference Manual | ![]() |
---|---|---|---|---|
GOPattern; enum GOPatternType; GOPatternType go_pattern_from_str (char const *name); charconst * go_pattern_as_str (GOPatternType pattern); gboolean go_pattern_is_solid (GOPattern const *pat, GOColor *color); void go_pattern_set_solid (GOPattern *pat, GOColor fore); void go_pattern_render_svp (GOPattern const *pat, ArtSVP const *svp, int x0, int y0, int x1, int y1, art_u8 *buf, int rowstride); guint8const * go_pattern_get_pattern (GOPattern const *pat); char* go_pattern_get_svg_path (GOPattern const *pattern, double *width, double *height);
typedef enum { GO_PATTERN_SOLID, GO_PATTERN_GREY75, GO_PATTERN_GREY50, GO_PATTERN_GREY25, GO_PATTERN_GREY125, GO_PATTERN_GREY625, GO_PATTERN_HORIZ, GO_PATTERN_VERT, GO_PATTERN_REV_DIAG, GO_PATTERN_DIAG, GO_PATTERN_DIAG_CROSS, GO_PATTERN_THICK_DIAG_CROSS, GO_PATTERN_THIN_HORIZ, GO_PATTERN_THIN_VERT, GO_PATTERN_THIN_REV_DIAG, GO_PATTERN_THIN_DIAG, GO_PATTERN_THIN_HORIZ_CROSS, GO_PATTERN_THIN_DIAG_CROSS, GO_PATTERN_FOREGROUND_SOLID, GO_PATTERN_SMALL_CIRCLES, GO_PATTERN_SEMI_CIRCLES, GO_PATTERN_THATCH, GO_PATTERN_LARGE_CIRCLES, GO_PATTERN_BRICKS, GO_PATTERN_MAX } GOPatternType;
gboolean go_pattern_is_solid (GOPattern const *pat, GOColor *color);
pat : |
GOPattern |
color : |
GOColor |
Returns : | if pat is solid, and stores the color in color .
If pat is not solid color is not touched.
|
void go_pattern_set_solid (GOPattern *pat, GOColor fore);
Makes pat
a solid pattern with colour fore
.
pat : |
a GOPattern |
fore : |
a GOColor |
void go_pattern_render_svp (GOPattern const *pat, ArtSVP const *svp, int x0, int y0, int x1, int y1, art_u8 *buf, int rowstride);
Renders the shape specified with svp
over the buf
RGB buffer.
x1
- x0
specifies the width, and y1
- y0
specifies the height,
of the rectangle rendered. The new pixels are stored starting at
the first byte of buf
. Thus, the x0
and y0
parameters specify
an offset within svp
, and may be tweaked as a way of doing
integer-pixel translations without fiddling with svp
itself.
The pat
argument specifies the pattern for the rendering. Pixels of
entirely 0 winding number are left untouched. Pixels of entirely
1 winding number have the pattern pat
composited over them (ie,
are replaced by the red, green, blue components of pat->fore
or pat->back
depending on the stipple associated with pat->pattern
. if the alpha
component is 0xff). Pixels of intermediate coverage are linearly
interpolated.
pat : |
GOPattern |
svp : |
The source sorted vector path. |
x0 : |
Left coordinate of destination rectangle. |
y0 : |
Top coordinate of destination rectangle. |
x1 : |
Right coordinate of destination rectangle. |
y1 : |
Bottom coordinate of destination rectangle. |
buf : |
Destination RGBA buffer. |
rowstride : |
Rowstride of buf buffer.
|
guint8const * go_pattern_get_pattern (GOPattern const *pat);
pat : |
|
Returns : |
char* go_pattern_get_svg_path (GOPattern const *pattern, double *width, double *height);
Retrieves an SVG path as string, which represents pattern shape. Caller is responsible for freeing the resulting string.
If width != NULL, returns pattern width. If height != NULL, returns pattern height.
pattern : |
a GOPattern |
width : |
pattern width |
height : |
pattern height |
Returns : | a char buffer. |