cairo

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2024 License: MPL-2.0 Imports: 12 Imported by: 27

Documentation

Overview

Package cairo implements Go bindings for Cairo. Supports version 1.10 and later.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatStrideForWidth

func FormatStrideForWidth(format Format, width int) int

FormatStrideForWidth is a wrapper for cairo_format_stride_for_width().

Types

type Antialias

type Antialias int

Antialias is a representation of Cairo's cairo_antialias_t.

const (
	AntialiasDefault  Antialias = C.CAIRO_ANTIALIAS_DEFAULT
	AntialiasNone     Antialias = C.CAIRO_ANTIALIAS_NONE
	AntialiasGray     Antialias = C.CAIRO_ANTIALIAS_GRAY
	AntialiasSubpixel Antialias = C.CAIRO_ANTIALIAS_SUBPIXEL
	AntialiasFast     Antialias = C.CAIRO_ANTIALIAS_FAST // (since 1.12)
	AntialiasGood     Antialias = C.CAIRO_ANTIALIAS_GOOD // (since 1.12)
	AntialiasBest     Antialias = C.CAIRO_ANTIALIAS_BEST // (since 1.12)
)

type Content

type Content int

Content is a representation of Cairo's cairo_content_t.

const (
	ContentColor      Content = C.CAIRO_CONTENT_COLOR
	ContentAlpha      Content = C.CAIRO_CONTENT_ALPHA
	ContentColorAlpha Content = C.CAIRO_CONTENT_COLOR_ALPHA
)

type Context

type Context struct {
	// contains filtered or unexported fields
}

Context is a representation of Cairo's cairo_t.

func Create

func Create(target *Surface) *Context

Create is a wrapper around cairo_create().

func WrapContext

func WrapContext(p uintptr) *Context

func (*Context) Antialias

func (v *Context) Antialias() Antialias

GetAntialias is a wrapper around cairo_get_antialias().

func (*Context) Arc

func (v *Context) Arc(xc, yc, radius, angle1, angle2 float64)

Arc is a wrapper around cairo_arc().

func (*Context) ArcNegative

func (v *Context) ArcNegative(xc, yc, radius, angle1, angle2 float64)

ArcNegative is a wrapper around cairo_arc_negative().

func (*Context) Clip

func (v *Context) Clip()

Clip is a wrapper around cairo_clip().

func (*Context) ClipExtents

func (v *Context) ClipExtents() (x1, y1, x2, y2 float64)

ClipExtents is a wrapper around cairo_clip_extents().

func (*Context) ClipPreserve

func (v *Context) ClipPreserve()

ClipPreserve is a wrapper around cairo_clip_preserve().

func (*Context) Close

func (v *Context) Close()

Closes the context. The context must not be used afterwards.

func (*Context) ClosePath

func (v *Context) ClosePath()

ClosePath is a wrapper around cairo_close_path().

func (*Context) CopyPage

func (v *Context) CopyPage()

CopyPage is a wrapper around cairo_copy_page().

func (*Context) CurrentPoint

func (v *Context) CurrentPoint() (x, y float64)

GetCurrentPoint is a wrapper around cairo_get_current_point().

func (*Context) CurveTo

func (v *Context) CurveTo(x1, y1, x2, y2, x3, y3 float64)

CurveTo is a wrapper around cairo_curve_to().

func (*Context) Dash

func (v *Context) Dash() (dashes []float64, offset float64)

GetDash is a wrapper around cairo_get_dash().

func (*Context) DashCount

func (v *Context) DashCount() int

GetDashCount is a wrapper around cairo_get_dash_count().

func (*Context) DeviceToUser

func (v *Context) DeviceToUser(x, y float64) (float64, float64)

DeviceToUser is a wrapper around cairo_device_to_user.

func (*Context) DeviceToUserDistance

func (v *Context) DeviceToUserDistance(x, y float64) (float64, float64)

DeviceToUserDistance is a wrapper around cairo_device_to_user_distance.

func (*Context) Fill

func (v *Context) Fill()

Fill is a wrapper around cairo_fill().

func (*Context) FillExtents

func (v *Context) FillExtents() (x1, y1, x2, y2 float64)

FillExtents is a wrapper around cairo_fill_extents().

func (*Context) FillPreserve

func (v *Context) FillPreserve()

FillPreserve is a wrapper around cairo_fill_preserve().

func (*Context) FillRule

func (v *Context) FillRule() FillRule

GetFillRule is a wrapper around cairo_get_fill_rule().

func (*Context) FontExtents

func (v *Context) FontExtents() FontExtents

func (*Context) GroupTarget

func (v *Context) GroupTarget() *Surface

GetGroupTarget is a wrapper around cairo_get_group_target().

func (*Context) IdentityMatrix

func (v *Context) IdentityMatrix()

IdentityMatrix is a wrapper around cairo_identity_matrix().

Resets the current transformation matrix (CTM) by setting it equal to the identity matrix. That is, the user-space and device-space axes will be aligned and one user-space unit will transform to one device-space unit.

func (*Context) InClip

func (v *Context) InClip(x, y float64) bool

InClip is a wrapper around cairo_in_clip().

func (*Context) InFill

func (v *Context) InFill(x, y float64) bool

InFill is a wrapper around cairo_in_fill().

func (*Context) InStroke

func (v *Context) InStroke(x, y float64) bool

InStroke is a wrapper around cairo_in_stroke().

func (*Context) LineCap

func (v *Context) LineCap() LineCap

GetLineCap is a wrapper around cairo_get_line_cap().

func (*Context) LineJoin

func (v *Context) LineJoin() LineJoin

GetLineJoin is a wrapper around cairo_get_line_join().

func (*Context) LineTo

func (v *Context) LineTo(x, y float64)

LineTo is a wrapper around cairo_line_to().

func (*Context) LineWidth

func (v *Context) LineWidth() float64

GetLineWidth is a wrapper cairo_get_line_width().

func (*Context) MaskSurface

func (v *Context) MaskSurface(surface *Surface, surfaceX, surfaceY float64)

MaskSurface is a wrapper around cairo_mask_surface().

func (*Context) Matrix

func (v *Context) Matrix() *Matrix

GetMatrix is a wrapper around cairo_get_matrix.

func (*Context) MiterLimit

func (v *Context) MiterLimit() float64

GetMiterLimit is a wrapper around cairo_get_miter_limit().

func (*Context) MoveTo

func (v *Context) MoveTo(x, y float64)

MoveTo is a wrapper around cairo_move_to().

func (*Context) Native

func (v *Context) Native() uintptr

Native returns a pointer to the underlying cairo_t.

func (*Context) NewPath

func (v *Context) NewPath()

NewPath is a wrapper around cairo_new_path().

func (*Context) NewSubPath

func (v *Context) NewSubPath()

NewSubPath is a wrapper around cairo_new_sub_path().

func (*Context) Operator

func (v *Context) Operator() Operator

GetOperator is a wrapper around cairo_get_operator().

func (*Context) Paint

func (v *Context) Paint()

Paint is a wrapper around cairo_paint().

func (*Context) PaintWithAlpha

func (v *Context) PaintWithAlpha(alpha float64)

PaintWithAlpha is a wrapper around cairo_paint_with_alpha().

func (*Context) PopGroupToSource

func (v *Context) PopGroupToSource()

PopGroupToSource is a wrapper around cairo_pop_group_to_source().

func (*Context) PushGroup

func (v *Context) PushGroup()

PushGroup is a wrapper around cairo_push_group().

func (*Context) PushGroupWithContent

func (v *Context) PushGroupWithContent(content Content)

PushGroupWithContent is a wrapper around cairo_push_group_with_content().

func (*Context) Rectangle

func (v *Context) Rectangle(x, y, w, h float64)

Rectangle is a wrapper around cairo_rectangle().

func (*Context) ResetClip

func (v *Context) ResetClip()

ResetClip is a wrapper around cairo_reset_clip().

func (*Context) Restore

func (v *Context) Restore()

Restore is a wrapper around cairo_restore().

func (*Context) Rotate

func (v *Context) Rotate(angle float64)

Rotate is a wrapper around cairo_rotate.

func (*Context) Save

func (v *Context) Save()

Save is a wrapper around cairo_save().

func (*Context) Scale

func (v *Context) Scale(sx, sy float64)

Scale is a wrapper around cairo_scale.

func (*Context) SelectFontFace

func (v *Context) SelectFontFace(family string, slant FontSlant, weight FontWeight)

func (*Context) SetAntialias

func (v *Context) SetAntialias(antialias Antialias)

SetAntialias is a wrapper around cairo_set_antialias().

func (*Context) SetDash

func (v *Context) SetDash(dashes []float64, offset float64)

SetDash is a wrapper around cairo_set_dash().

func (*Context) SetFillRule

func (v *Context) SetFillRule(fillRule FillRule)

SetFillRule is a wrapper around cairo_set_fill_rule().

func (*Context) SetFontSize

func (v *Context) SetFontSize(size float64)

func (*Context) SetLineCap

func (v *Context) SetLineCap(lineCap LineCap)

SetLineCap is a wrapper around cairo_set_line_cap().

func (*Context) SetLineJoin

func (v *Context) SetLineJoin(lineJoin LineJoin)

SetLineJoin is a wrapper around cairo_set_line_join().

func (*Context) SetLineWidth

func (v *Context) SetLineWidth(width float64)

SetLineWidth is a wrapper around cairo_set_line_width().

func (*Context) SetMatrix

func (v *Context) SetMatrix(matrix *Matrix)

SetMatrix is a wrapper around cairo_set_matrix.

func (*Context) SetMiterLimit

func (v *Context) SetMiterLimit(limit float64)

SetMiterLimit is a wrapper around cairo_set_miter_limit().

func (*Context) SetOperator

func (v *Context) SetOperator(op Operator)

SetOperator is a wrapper around cairo_set_operator().

func (*Context) SetSource

func (v *Context) SetSource(p *Pattern)

SetSource is a wrapper around cairo_set_source().

func (*Context) SetSourceRGB

func (v *Context) SetSourceRGB(red, green, blue float64)

SetSourceRGB is a wrapper around cairo_set_source_rgb().

func (*Context) SetSourceRGBA

func (v *Context) SetSourceRGBA(red, green, blue, alpha float64)

SetSourceRGBA is a wrapper around cairo_set_source_rgba().

func (*Context) SetSourceSurface

func (v *Context) SetSourceSurface(surface *Surface, x, y float64)

SetSourceSurface is a wrapper around cairo_set_source_surface().

func (*Context) SetTolerance

func (v *Context) SetTolerance(tolerance float64)

SetTolerance is a wrapper around cairo_set_tolerance().

func (*Context) ShowPage

func (v *Context) ShowPage()

ShowPage is a wrapper around cairo_show_page().

func (*Context) ShowText

func (v *Context) ShowText(utf8 string)

func (*Context) Status

func (v *Context) Status() Status

Status is a wrapper around cairo_status().

func (*Context) Stroke

func (v *Context) Stroke()

Stroke is a wrapper around cairo_stroke().

func (*Context) StrokeExtents

func (v *Context) StrokeExtents() (x1, y1, x2, y2 float64)

StrokeExtents is a wrapper around cairo_stroke_extents().

func (*Context) StrokePreserve

func (v *Context) StrokePreserve()

StrokePreserve is a wrapper around cairo_stroke_preserve().

func (*Context) Target

func (v *Context) Target() *Surface

GetTarget is a wrapper around cairo_get_target().

func (*Context) TextExtents

func (v *Context) TextExtents(utf8 string) TextExtents

func (*Context) Tolerance

func (v *Context) Tolerance() float64

GetTolerance is a wrapper around cairo_get_tolerance().

func (*Context) Transform

func (v *Context) Transform(matrix *Matrix)

Transform is a wrapper around cairo_transform.

func (*Context) Translate

func (v *Context) Translate(tx, ty float64)

Translate is a wrapper around cairo_translate.

func (*Context) UserToDevice

func (v *Context) UserToDevice(x, y float64) (float64, float64)

UserToDevice is a wrapper around cairo_user_to_device.

func (*Context) UserToDeviceDistance

func (v *Context) UserToDeviceDistance(dx, dy float64) (float64, float64)

UserToDeviceDistance is a wrapper around cairo_user_to_device_distance.

type FillRule

type FillRule int

FillRule is a representation of Cairo's cairo_fill_rule_t.

const (
	FillRuleWinding FillRule = C.CAIRO_FILL_RULE_WINDING
	FillRuleEvenOdd FillRule = C.CAIRO_FILL_RULE_EVEN_ODD
)

type Filter

type Filter int

Filter is a representation of Cairo's cairo_filter_t.

const (
	FilterFast     Filter = C.CAIRO_FILTER_FAST
	FilterGood     Filter = C.CAIRO_FILTER_GOOD
	FilterBest     Filter = C.CAIRO_FILTER_BEST
	FilterNearest  Filter = C.CAIRO_FILTER_NEAREST
	FilterBilinear Filter = C.CAIRO_FILTER_BILINEAR
	FilterGaussian Filter = C.CAIRO_FILTER_GAUSSIAN
)

type FontExtents

type FontExtents struct {
	Ascent      float64
	Descent     float64
	Height      float64
	MaxXAdvance float64
	MaxYAdvance float64
}

type FontOptions

type FontOptions struct {
	// contains filtered or unexported fields
}

FontOptions is a representation of Cairo's cairo_font_options_t.

func CreateFontOptions

func CreateFontOptions() *FontOptions

CreatFontOptions is a wrapper around cairo_font_options_create().

func (*FontOptions) Antialias

func (o *FontOptions) Antialias() Antialias

GetAntialias is a wrapper around cairo_font_options_get_antialias().

func (*FontOptions) Copy

func (o *FontOptions) Copy() *FontOptions

Copy is a wrapper around cairo_font_options_copy().

func (*FontOptions) Equal

func (o *FontOptions) Equal(other *FontOptions) bool

Equal is a wrapper around cairo_font_options_equal().

func (*FontOptions) Hash

func (o *FontOptions) Hash() uint32

Hash is a wrapper around cairo_font_options_hash().

func (*FontOptions) HintMetrics

func (o *FontOptions) HintMetrics() HintMetrics

GetHintMetrics is a wrapper around cairo_font_options_get_hint_metrics().

func (*FontOptions) HintStyle

func (o *FontOptions) HintStyle() HintStyle

GetHintStyle is a wrapper around cairo_font_options_get_hint_style().

func (*FontOptions) Merge

func (o *FontOptions) Merge(other *FontOptions)

Merge is a wrapper around cairo_font_options_merge().

func (*FontOptions) SetAntialias

func (o *FontOptions) SetAntialias(antialias Antialias)

SetAntialias is a wrapper around cairo_font_options_set_antialias().

func (*FontOptions) SetHintMetrics

func (o *FontOptions) SetHintMetrics(hintMetrics HintMetrics)

SetHintMetrics is a wrapper around cairo_font_options_set_hint_metrics().

func (*FontOptions) SetHintStyle

func (o *FontOptions) SetHintStyle(hintStyle HintStyle)

SetHintStyle is a wrapper around cairo_font_options_set_hint_style().

func (*FontOptions) SetSubpixelOrder

func (o *FontOptions) SetSubpixelOrder(subpixelOrder SubpixelOrder)

SetSubpixelOrder is a wrapper around cairo_font_options_set_subpixel_order().

func (*FontOptions) SetVariations

func (o *FontOptions) SetVariations(variations string)

SetVariations is a wrapper around cairo_font_options_set_variations().

func (*FontOptions) Status

func (o *FontOptions) Status() Status

Status is a wrapper around cairo_font_options_status().

func (*FontOptions) SubpixelOrder

func (o *FontOptions) SubpixelOrder() SubpixelOrder

GetSubpixelOrder is a wrapper around cairo_font_options_get_subpixel_order().

func (*FontOptions) Variations

func (o *FontOptions) Variations() string

GetVariations is a wrapper around cairo_font_options_get_variations().

type FontSlant

type FontSlant int

FontSlant is a representation of Cairo's cairo_font_slant_t

const (
	FontSlantNormal  FontSlant = C.CAIRO_FONT_SLANT_NORMAL
	FontSlantItalic  FontSlant = C.CAIRO_FONT_SLANT_ITALIC
	FontSlantOblique FontSlant = C.CAIRO_FONT_SLANT_OBLIQUE
)

type FontWeight

type FontWeight int

FontWeight is a representation of Cairo's cairo_font_weight_t

const (
	FontWeightNormal FontWeight = C.CAIRO_FONT_WEIGHT_NORMAL
	FontWeightBold   FontWeight = C.CAIRO_FONT_WEIGHT_BOLD
)

type Format

type Format int

Format is a representation of Cairo's cairo_format_t.

const (
	FormatInvalid   Format = C.CAIRO_FORMAT_INVALID
	FormatARGB32    Format = C.CAIRO_FORMAT_ARGB32
	FormatRGB24     Format = C.CAIRO_FORMAT_RGB24
	FormatA8        Format = C.CAIRO_FORMAT_A8
	FormatA1        Format = C.CAIRO_FORMAT_A1
	FormatRGB16_565 Format = C.CAIRO_FORMAT_RGB16_565
	FormatRGB30     Format = C.CAIRO_FORMAT_RGB30
)

type HintMetrics

type HintMetrics int

HintMetrics is a representation of Cairo's cairo_hint_metrics_t.

const (
	HintMetricsDefault HintMetrics = C.CAIRO_HINT_METRICS_DEFAULT
	HintMetricsOff     HintMetrics = C.CAIRO_HINT_METRICS_OFF
	HintMetricsOn      HintMetrics = C.CAIRO_HINT_METRICS_ON
)

type HintStyle

type HintStyle int

HintStyle is a representation of Cairo's cairo_hint_style_t.

const (
	HintStyleDefault HintStyle = C.CAIRO_HINT_STYLE_DEFAULT
	HintStyleNone    HintStyle = C.CAIRO_HINT_STYLE_NONE
	HintStyleSlight  HintStyle = C.CAIRO_HINT_STYLE_SLIGHT
	HintStyleMedium  HintStyle = C.CAIRO_HINT_STYLE_MEDIUM
	HintStyleFull    HintStyle = C.CAIRO_HINT_STYLE_FULL
)

type LineCap

type LineCap int

LineCap is a representation of Cairo's cairo_line_cap_t.

const (
	LineCapButt   LineCap = C.CAIRO_LINE_CAP_BUTT
	LineCapRound  LineCap = C.CAIRO_LINE_CAP_ROUND
	LineCapSquare LineCap = C.CAIRO_LINE_CAP_SQUARE
)

type LineJoin

type LineJoin int

LineJoin is a representation of Cairo's cairo_line_join_t.

const (
	LineJoinMiter LineJoin = C.CAIRO_LINE_JOIN_MITER
	LineJoinRound LineJoin = C.CAIRO_LINE_JOIN_ROUND
	LineJoinBevel LineJoin = C.CAIRO_LINE_JOIN_BEVEL
)

type Matrix

type Matrix struct {
	Xx, Yx float64
	Xy, Yy float64
	X0, Y0 float64
}

Matrix struct

func NewMatrix

func NewMatrix(xx, yx, xy, yy, x0, y0 float64) *Matrix

NewMatrix creates a new identiy matrix

func (*Matrix) InitIdentity

func (m *Matrix) InitIdentity()

InitIdentity initializes this matrix to identity matrix

func (*Matrix) InitRotate

func (m *Matrix) InitRotate(radians float64)

InitRotate initializes a matrix with the given rotation

func (*Matrix) InitScale

func (m *Matrix) InitScale(sx, sy float64)

InitScale initializes a matrix with the give scale

func (*Matrix) InitTranslate

func (m *Matrix) InitTranslate(tx, ty float64)

InitTranslate initializes a matrix with the given translation

func (*Matrix) Invert

func (m *Matrix) Invert()

Invert inverts the matrix

func (*Matrix) Multiply

func (m *Matrix) Multiply(a, b Matrix)

Multiply multiplies the matrix by another matrix

func (*Matrix) Native

func (m *Matrix) Native() uintptr

Native returns native c pointer to a matrix

func (*Matrix) Rotate

func (m *Matrix) Rotate(radians float64)

Rotate rotates the matrix by the given amount

func (*Matrix) Scale

func (m *Matrix) Scale(sx, sy float64)

Scale scales the matrix by the given amounts

func (*Matrix) TransformDistance

func (m *Matrix) TransformDistance(dx, dy float64) (float64, float64)

TransformDistance ...

func (*Matrix) TransformPoint

func (m *Matrix) TransformPoint(x, y float64) (float64, float64)

TransformPoint ...

func (*Matrix) Translate

func (m *Matrix) Translate(tx, ty float64)

Translate translates a matrix by the given amount

type MimeType

type MimeType string

MimeType is a representation of Cairo's CAIRO_MIME_TYPE_* preprocessor constants.

const (
	MIMETypeJP2      MimeType = "image/jp2"
	MIMETypeJPEG     MimeType = "image/jpeg"
	MIMETypePNG      MimeType = "image/png"
	MIMETypeURI      MimeType = "image/x-uri"
	MIMETypeUniqueID MimeType = "application/x-cairo.uuid"
)

type Operator

type Operator int

Operator is a representation of Cairo's cairo_operator_t.

const (
	OperatorClear         Operator = C.CAIRO_OPERATOR_CLEAR
	OperatorSource        Operator = C.CAIRO_OPERATOR_SOURCE
	OperatorOver          Operator = C.CAIRO_OPERATOR_OVER
	OperatorIn            Operator = C.CAIRO_OPERATOR_IN
	OperatorOut           Operator = C.CAIRO_OPERATOR_OUT
	OperatorAtop          Operator = C.CAIRO_OPERATOR_ATOP
	OperatorDest          Operator = C.CAIRO_OPERATOR_DEST
	OperatorDestOver      Operator = C.CAIRO_OPERATOR_DEST_OVER
	OperatorDestIn        Operator = C.CAIRO_OPERATOR_DEST_IN
	OperatorDestOut       Operator = C.CAIRO_OPERATOR_DEST_OUT
	OperatorDestAtop      Operator = C.CAIRO_OPERATOR_DEST_ATOP
	OperatorXOR           Operator = C.CAIRO_OPERATOR_XOR
	OperatorAdd           Operator = C.CAIRO_OPERATOR_ADD
	OperatorSaturate      Operator = C.CAIRO_OPERATOR_SATURATE
	OperatorMultiply      Operator = C.CAIRO_OPERATOR_MULTIPLY
	OperatorScreen        Operator = C.CAIRO_OPERATOR_SCREEN
	OperatorOverlay       Operator = C.CAIRO_OPERATOR_OVERLAY
	OperatorDarken        Operator = C.CAIRO_OPERATOR_DARKEN
	OperatorLighten       Operator = C.CAIRO_OPERATOR_LIGHTEN
	OperatorColorDodge    Operator = C.CAIRO_OPERATOR_COLOR_DODGE
	OperatorColorBurn     Operator = C.CAIRO_OPERATOR_COLOR_BURN
	OperatorHardLight     Operator = C.CAIRO_OPERATOR_HARD_LIGHT
	OperatorSoftLight     Operator = C.CAIRO_OPERATOR_SOFT_LIGHT
	OperatorDifference    Operator = C.CAIRO_OPERATOR_DIFFERENCE
	OperatorExclusion     Operator = C.CAIRO_OPERATOR_EXCLUSION
	OperatorHSLHue        Operator = C.CAIRO_OPERATOR_HSL_HUE
	OperatorHSLSaturation Operator = C.CAIRO_OPERATOR_HSL_SATURATION
	OperatorHSLColor      Operator = C.CAIRO_OPERATOR_HSL_COLOR
	OperatorHSLLuminosity Operator = C.CAIRO_OPERATOR_HSL_LUMINOSITY
)

type Pattern

type Pattern struct {
	// contains filtered or unexported fields
}

Pattern is a representation of Cairo's cairo_pattern_t.

func NewPatternForSurface

func NewPatternForSurface(s *Surface) (*Pattern, error)

NewPatternForSurface is a wrapper around cairo_pattern_create_for_surface().

func NewPatternFromRGB

func NewPatternFromRGB(red, green, blue float64) (*Pattern, error)

NewPatternFromRGB is a wrapper around cairo_pattern_create_rgb().

func NewPatternFromRGBA

func NewPatternFromRGBA(red, green, blue, alpha float64) (*Pattern, error)

NewPatternFromRGBA is a wrapper around cairo_pattern_create_rgba().

func NewPatternLinear

func NewPatternLinear(x0, y0, x1, y1 float64) (*Pattern, error)

NewPatternLinear is a wrapper around cairo_pattern_create_linear().

func NewPatternRadial

func NewPatternRadial(x0, y0, r0, x1, y1, r1 float64) (*Pattern, error)

NewPatternRadial is a wrapper around cairo_pattern_create_radial().

func (*Pattern) AddColorStopRGB

func (v *Pattern) AddColorStopRGB(offset, red, green, blue float64) error

AddColorStopRGB is a wrapper around cairo_pattern_add_color_stop_rgb().

func (*Pattern) AddColorStopRGBA

func (v *Pattern) AddColorStopRGBA(offset, red, green, blue, alpha float64) error

AddColorStopRGBA is a wrapper around cairo_pattern_add_color_stop_rgba().

func (*Pattern) Native

func (v *Pattern) Native() uintptr

Native returns a pointer to the underlying cairo_pattern_t.

func (*Pattern) PatternGetFilter

func (v *Pattern) PatternGetFilter() Filter

PatternGetFilter is a wrapper around cairo_pattern_get_filter().

func (*Pattern) PatternSetFilter

func (v *Pattern) PatternSetFilter(filter Filter)

PatternSetFilter is a wrapper around cairo_pattern_set_filter().

func (*Pattern) Status

func (v *Pattern) Status() Status

Status is a wrapper around cairo_pattern_status().

type Rectangle

type Rectangle struct {
	X, Y          int
	Width, Height int
}

Rectangle is a representation of Cairo's cairo_rectangle_int_t.

func RectangleNew

func RectangleNew(x, y, width, height int) *Rectangle

commodity function to ceate Rectangle cairo object.

type Region

type Region struct {
	// contains filtered or unexported fields
}

Region is a representation of Cairo's cairo_region_t.

func RegionCreate

func RegionCreate() (*Region, error)

RegionCreate is a wrapper around cairo_region_create().

func (*Region) ContainsPoint

func (v *Region) ContainsPoint(x, y int) bool

ContainsPoint is a wrapper around cairo_region_contains_point().

func (*Region) ContainsRectangle

func (v *Region) ContainsRectangle(rectangle *Rectangle) RegionOverlap

ContainsRectangle is a wrapper around cairo_region_contains_rectangle().

func (*Region) Copy

func (v *Region) Copy() (*Region, error)

Copy is a wrapper around cairo_region_copy().

func (*Region) CreateRectangle

func (v *Region) CreateRectangle(rectangle *Rectangle) (*Region, error)

CreateRectangle is a wrapper around cairo_region_create_rectangle().

func (*Region) CreateRectangles

func (v *Region) CreateRectangles(rectangles ...*Rectangle) (*Region, error)

CreateRectangles is a wrapper around cairo_region_create_rectangles().

func (*Region) Equal

func (v *Region) Equal(region *Region) bool

Equal is a wrapper around cairo_region_equal().

func (*Region) Extents

func (v *Region) Extents(extents *Rectangle)

GetExtents is a wrapper around cairo_region_get_extents().

func (*Region) Intersect

func (v *Region) Intersect(other *Region) (*Region, error)

Intersect is a wrapper around cairo_region_intersect(). Note: contrary to the original statement, the source 'Region' remains preserved.

func (*Region) IntersectRectangle

func (v *Region) IntersectRectangle(rectangle *Rectangle) (*Region, error)

IntersectRectangle is a wrapper around cairo_region_intersect_rectangle(). Note: contrary to the original statement, the source 'Region' remains preserved.

func (*Region) IsEmpty

func (v *Region) IsEmpty() bool

IsEmpty is a wrapper around cairo_region_is_empty().

func (*Region) Native

func (v *Region) Native() uintptr

Native returns a pointer to the underlying cairo_region_t.

func (*Region) NumRectangles

func (v *Region) NumRectangles() int

NumRectangles is a wrapper around cairo_region_num_rectangles().

func (*Region) Rectangle

func (v *Region) Rectangle(nth int) *Rectangle

GetRectangle is a wrapper around cairo_region_get_rectangle().

func (*Region) Status

func (v *Region) Status() Status

Status is a wrapper around cairo_region_status().

func (*Region) Substract

func (v *Region) Substract(other *Region) (*Region, error)

Substract is a wrapper around cairo_region_subtract(). Note: contrary to the original statement, the source 'Region' remains preserved.

func (*Region) SubstractRectangle

func (v *Region) SubstractRectangle(rectangle *Rectangle) (*Region, error)

SubstractRectangle is a wrapper around cairo_region_subtract_rectangle(). Note: contrary to the original statement, the source 'Region' remains preserved.

func (*Region) Translate

func (v *Region) Translate(dx, dy int)

Translate is a wrapper around cairo_region_translate().

func (*Region) Union

func (v *Region) Union(other *Region) (*Region, error)

Union is a wrapper around cairo_region_union(). Note: contrary to the original statement, the source 'Region' remains preserved.

func (*Region) UnionRectangle

func (v *Region) UnionRectangle(rectangle *Rectangle) (*Region, error)

UnionRectangle is a wrapper around cairo_region_union_rectangle(). Note: contrary to the original statement, the source 'Region' remains preserved.

func (*Region) Xor

func (v *Region) Xor(other *Region) (*Region, error)

Xor is a wrapper around cairo_region_xor(). Note: contrary to the original statement, the source 'Region' remains preserved.

func (*Region) XorRectangle

func (v *Region) XorRectangle(rectangle *Rectangle) (*Region, error)

XorRectangle is a wrapper around cairo_region_xor_rectangle(). Note: contrary to the original statement, the source 'Region' remains preserved.

type RegionOverlap

type RegionOverlap int

RegionOverlap is a representation of Cairo's cairo_region_overlap_t.

const (
	RegionOverlapIn   RegionOverlap = C.CAIRO_REGION_OVERLAP_IN
	RegionOverlapOut  RegionOverlap = C.CAIRO_REGION_OVERLAP_OUT
	RegionOverlapPart RegionOverlap = C.CAIRO_REGION_OVERLAP_PART
)

type Status

type Status int

Status is a representation of Cairo's cairo_status_t.

const (
	StatusSuccess                Status = C.CAIRO_STATUS_SUCCESS
	StatusNoMemory               Status = C.CAIRO_STATUS_NO_MEMORY
	StatusInvalidRestore         Status = C.CAIRO_STATUS_INVALID_RESTORE
	StatusInvalidPopGroup        Status = C.CAIRO_STATUS_INVALID_POP_GROUP
	StatusNoCurrentPoint         Status = C.CAIRO_STATUS_NO_CURRENT_POINT
	StatusInvalidMatrix          Status = C.CAIRO_STATUS_INVALID_MATRIX
	StatusInvalidStatus          Status = C.CAIRO_STATUS_INVALID_STATUS
	StatusNullPointer            Status = C.CAIRO_STATUS_NULL_POINTER
	StatusInvalidString          Status = C.CAIRO_STATUS_INVALID_STRING
	StatusInvalidPathData        Status = C.CAIRO_STATUS_INVALID_PATH_DATA
	StatusReadError              Status = C.CAIRO_STATUS_READ_ERROR
	StatusWriteError             Status = C.CAIRO_STATUS_WRITE_ERROR
	StatusSurfaceFinished        Status = C.CAIRO_STATUS_SURFACE_FINISHED
	StatusSurfaceTypeMismatch    Status = C.CAIRO_STATUS_SURFACE_TYPE_MISMATCH
	StatusPatternTypeMismatch    Status = C.CAIRO_STATUS_PATTERN_TYPE_MISMATCH
	StatusInvalidContent         Status = C.CAIRO_STATUS_INVALID_CONTENT
	StatusInvalidFormat          Status = C.CAIRO_STATUS_INVALID_FORMAT
	StatusInvalidVisual          Status = C.CAIRO_STATUS_INVALID_VISUAL
	StatusFileNotFound           Status = C.CAIRO_STATUS_FILE_NOT_FOUND
	StatusInvalidDash            Status = C.CAIRO_STATUS_INVALID_DASH
	StatusInvalidDSCComment      Status = C.CAIRO_STATUS_INVALID_DSC_COMMENT
	StatusInvalidIndex           Status = C.CAIRO_STATUS_INVALID_INDEX
	StatusClipNotRepresentable   Status = C.CAIRO_STATUS_CLIP_NOT_REPRESENTABLE
	StatusTempFileError          Status = C.CAIRO_STATUS_TEMP_FILE_ERROR
	StatusInvalidStride          Status = C.CAIRO_STATUS_INVALID_STRIDE
	StatusFontTypeMismatch       Status = C.CAIRO_STATUS_FONT_TYPE_MISMATCH
	StatusUserFontImmutable      Status = C.CAIRO_STATUS_USER_FONT_IMMUTABLE
	StatusUserFontError          Status = C.CAIRO_STATUS_USER_FONT_ERROR
	StatusNegativeCount          Status = C.CAIRO_STATUS_NEGATIVE_COUNT
	StatusInvalidClusters        Status = C.CAIRO_STATUS_INVALID_CLUSTERS
	StatusInvalidSlant           Status = C.CAIRO_STATUS_INVALID_SLANT
	StatusInvalidWeight          Status = C.CAIRO_STATUS_INVALID_WEIGHT
	StatusInvalidSize            Status = C.CAIRO_STATUS_INVALID_SIZE
	StatusUserFontNotImplemented Status = C.CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED
	StatusDeviceTypeMismatch     Status = C.CAIRO_STATUS_DEVICE_TYPE_MISMATCH
	StatusDeviceError            Status = C.CAIRO_STATUS_DEVICE_ERROR
)

func (Status) Error

func (s Status) Error() string

Error implements error. It calls String() unless s is StatusSuccess.

func (Status) String

func (s Status) String() string

String returns a readable status messsage usable in texts.

func (Status) ToError

func (s Status) ToError() error

ToError returns the error for the status. Returns nil if success.

type SubpixelOrder

type SubpixelOrder int

SubpixelOrder is a representation of Cairo's cairo_subpixel_order_t.

type Surface

type Surface struct {
	// contains filtered or unexported fields
}

Surface is a representation of Cairo's cairo_surface_t.

func CreateImageSurface

func CreateImageSurface(format Format, width, height int) *Surface

CreateImageSurface is a wrapper around cairo_image_surface_create().

func CreateImageSurfaceForData

func CreateImageSurfaceForData(data []byte, format Format, width, height, stride int) *Surface

CreateImageSurfaceForData is a wrapper around cairo_image_surface_create_for_data().

func CreatePDFSurface

func CreatePDFSurface(fileName string, width float64, height float64) (*Surface, error)

CreatePDFSurface is a wrapper around cairo_pdf_surface_create().

func CreatePNGSurfaceFromPNG

func CreatePNGSurfaceFromPNG(fileName string) (*Surface, error)

CreatePNGSurface is a wrapper around cairo_image_surface_create_from_png().

func CreateSurfaceFromImage

func CreateSurfaceFromImage(img image.Image) *Surface

CreateSurfaceFromImage is a better wrapper around cairo_image_surface_create_for_data().

func NewSurface

func NewSurface(s uintptr, needsRef bool) *Surface

NewSurface creates a gotk3 cairo Surface from a pointer to a C cairo_surface_t. This is primarily designed for use with other gotk3 packages and should be avoided by applications.

func WrapSurface

func WrapSurface(s uintptr) *Surface

func (*Surface) Close

func (v *Surface) Close()

Closes the surface. The surface must not be used afterwards.

func (*Surface) CopyPage

func (v *Surface) CopyPage()

CopyPage is a wrapper around cairo_surface_copy_page().

func (*Surface) CreateForRectangle

func (v *Surface) CreateForRectangle(x, y, width, height float64) *Surface

CreateForRectangle is a wrapper around cairo_surface_create_for_rectangle().

func (*Surface) CreateSimilar

func (v *Surface) CreateSimilar(content Content, width, height int) *Surface

CreateSimilar is a wrapper around cairo_surface_create_similar().

func (*Surface) Data

func (v *Surface) Data() []byte

GetData is a wrapper around cairo_image_surface_get_data().

func (*Surface) DeviceOffset

func (v *Surface) DeviceOffset() (x, y float64)

GetDeviceOffset is a wrapper around cairo_surface_get_device_offset().

func (*Surface) FallbackResolution

func (v *Surface) FallbackResolution() (xPPI, yPPI float64)

GetFallbackResolution is a wrapper around cairo_surface_get_fallback_resolution().

func (*Surface) Flush

func (v *Surface) Flush()

Flush is a wrapper around cairo_surface_flush().

func (*Surface) HasShowTextGlyphs

func (v *Surface) HasShowTextGlyphs() bool

HasShowTextGlyphs is a wrapper around cairo_surface_has_show_text_glyphs().

func (*Surface) Height

func (v *Surface) Height() int

GetHeight is a wrapper around cairo_image_surface_get_height().

func (*Surface) MarkDirty

func (v *Surface) MarkDirty()

MarkDirty is a wrapper around cairo_surface_mark_dirty().

func (*Surface) MarkDirtyRectangle

func (v *Surface) MarkDirtyRectangle(x, y, width, height int)

MarkDirtyRectangle is a wrapper around cairo_surface_mark_dirty_rectangle().

func (*Surface) MimeData

func (v *Surface) MimeData(mimeType MimeType) []byte

GetMimeData is a wrapper around cairo_surface_get_mime_data(). The returned mimetype data is returned as a Go byte slice.

func (*Surface) Native

func (v *Surface) Native() uintptr

Native returns a pointer to the underlying cairo_surface_t.

func (*Surface) SetDeviceOffset

func (v *Surface) SetDeviceOffset(x, y float64)

SetDeviceOffset is a wrapper around cairo_surface_set_device_offset().

func (*Surface) SetFallbackResolution

func (v *Surface) SetFallbackResolution(xPPI, yPPI float64)

SetFallbackResolution is a wrapper around cairo_surface_set_fallback_resolution().

func (*Surface) ShowPage

func (v *Surface) ShowPage()

ShowPage is a wrapper around cairo_surface_show_page().

func (*Surface) Status

func (v *Surface) Status() Status

Status is a wrapper around cairo_surface_status().

func (*Surface) Stride

func (v *Surface) Stride() int

GetStride is a wrapper around cairo_image_surface_get_stride().

func (*Surface) Type

func (v *Surface) Type() SurfaceType

GetType is a wrapper around cairo_surface_get_type().

func (*Surface) Width

func (v *Surface) Width() int

GetWidth is a wrapper around cairo_image_surface_get_width().

func (*Surface) WriteToPNG

func (v *Surface) WriteToPNG(fileName string) error

WriteToPNG is a wrapper around cairo_surface_write_png(). It writes the Cairo surface to the given file in PNG format.

func (*Surface) WriteToPNGWriter

func (v *Surface) WriteToPNGWriter(w io.Writer) error

WriteToPNGWriter is a wrapper around cairo_surface_write_png_stream(). It writes the Cairo surface to the given io.Writer in PNG format.

type SurfaceType

type SurfaceType int

SurfaceType is a representation of Cairo's cairo_surface_type_t.

type TextExtents

type TextExtents struct {
	XBearing float64
	YBearing float64
	Width    float64
	Height   float64
	XAdvance float64
	YAdvance float64
}

Directories

Path Synopsis
Package swizzle provides functions for converting between RGBA pixel formats.
Package swizzle provides functions for converting between RGBA pixel formats.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL