// Code generated by cmd/cgo; DO NOT EDIT. //line /home/josie/.cache/paru/clone/wiiudownloader/src/pkg/mod/github.com/gotk3/gotk3@v0.6.5-0.20240618185848-ff349ae13f56/cairo/canvas.go:1:1 package cairo // #include // #include // #include import _ "unsafe" import ( "reflect" "runtime" "unsafe" "github.com/gotk3/gotk3/glib" ) // Context is a representation of Cairo's cairo_t. type Context struct { context * /*line :18:11*/_Ctype_cairo_t /*line :18:20*/ } // native returns a pointer to the underlying cairo_t. func (v *Context) native() * /*line :22:29*/_Ctype_cairo_t /*line :22:38*/ { if v == nil { return nil } return v.context } func (v *Context) GetCContext() * /*line :29:34*/_Ctype_cairo_t /*line :29:43*/ { return v.native() } // Native returns a pointer to the underlying cairo_t. func (v *Context) Native() uintptr { return uintptr(unsafe.Pointer(v.native())) } func marshalContext(p uintptr) (interface{}, error) { c := ( /*line :39:7*/_Cfunc_g_value_get_boxed /*line :39:25*/)((* /*line :39:29*/_Ctype_GValue /*line :39:37*/)(unsafe.Pointer(p))) context := (* /*line :40:15*/_Ctype_cairo_t /*line :40:24*/)(unsafe.Pointer(c)) return wrapContext(context), nil } func wrapContext(context * /*line :44:27*/_Ctype_cairo_t /*line :44:36*/) *Context { return &Context{context} } func WrapContext(p uintptr) *Context { context := (* /*line :49:15*/_Ctype_cairo_t /*line :49:24*/)(unsafe.Pointer(p)) return wrapContext(context) } // Closes the context. The context must not be used afterwards. func (v *Context) Close() { v.destroy() } // Create is a wrapper around cairo_create(). func Create(target *Surface) *Context { c := func() *_Ctype_struct__cairo{ _cgo0 := /*line :60:22*/target.native(); _cgoCheckPointer(_cgo0, nil); return /*line :60:38*/_Cfunc_cairo_create(_cgo0); }() ctx := wrapContext(c) runtime.SetFinalizer(ctx, func(v *Context) { glib.FinalizerStrategy(v.destroy) }) return ctx } // reference is a wrapper around cairo_reference(). func (v *Context) reference() { v.context = func() *_Ctype_struct__cairo{ _cgo0 := /*line :68:32*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :68:43*/_Cfunc_cairo_reference(_cgo0); }() } // destroy is a wrapper around cairo_destroy(). func (v *Context) destroy() { if v.context != nil { func() { _cgo0 := /*line :74:19*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :74:30*/_Cfunc_cairo_destroy(_cgo0); }() v.context = nil } } // Status is a wrapper around cairo_status(). func (v *Context) Status() Status { c := func() _Ctype_cairo_status_t{ _cgo0 := /*line :81:22*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :81:33*/_Cfunc_cairo_status(_cgo0); }() return Status(c) } // Save is a wrapper around cairo_save(). func (v *Context) Save() { func() { _cgo0 := /*line :87:15*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :87:26*/_Cfunc_cairo_save(_cgo0); }() } // Restore is a wrapper around cairo_restore(). func (v *Context) Restore() { func() { _cgo0 := /*line :92:18*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :92:29*/_Cfunc_cairo_restore(_cgo0); }() } // GetTarget is a wrapper around cairo_get_target(). func (v *Context) GetTarget() *Surface { c := func() *_Ctype_struct__cairo_surface{ _cgo0 := /*line :97:26*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :97:37*/_Cfunc_cairo_get_target(_cgo0); }() s := wrapSurface(c) s.reference() runtime.SetFinalizer(s, func(v *Surface) { glib.FinalizerStrategy(v.destroy) }) return s } // PushGroup is a wrapper around cairo_push_group(). func (v *Context) PushGroup() { func() { _cgo0 := /*line :106:21*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :106:32*/_Cfunc_cairo_push_group(_cgo0); }() } // PushGroupWithContent is a wrapper around cairo_push_group_with_content(). func (v *Context) PushGroupWithContent(content Content) { func() { _cgo0 := /*line :111:34*/v.native(); var _cgo1 _Ctype_cairo_content_t = _Ctype_cairo_content_t /*line :111:63*/(content); _cgoCheckPointer(_cgo0, nil); /*line :111:73*/_Cfunc_cairo_push_group_with_content(_cgo0, _cgo1); }() } // TODO(jrick) PopGroup (depends on Pattern) // cairo_pop_group // PopGroupToSource is a wrapper around cairo_pop_group_to_source(). func (v *Context) PopGroupToSource() { func() { _cgo0 := /*line :119:30*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :119:41*/_Cfunc_cairo_pop_group_to_source(_cgo0); }() } // GetGroupTarget is a wrapper around cairo_get_group_target(). func (v *Context) GetGroupTarget() *Surface { c := func() *_Ctype_struct__cairo_surface{ _cgo0 := /*line :124:32*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :124:43*/_Cfunc_cairo_get_group_target(_cgo0); }() s := wrapSurface(c) s.reference() runtime.SetFinalizer(s, func(v *Surface) { glib.FinalizerStrategy(v.destroy) }) return s } // SetSource is a wrapper around cairo_set_source(). func (v *Context) SetSource(p *Pattern) { func() { _cgo0 := /*line :133:21*/v.native(); _cgo1 := /*line :133:33*/p.native(); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); /*line :133:44*/_Cfunc_cairo_set_source(_cgo0, _cgo1); }() } // SetSourceRGB is a wrapper around cairo_set_source_rgb(). func (v *Context) SetSourceRGB(red, green, blue float64) { func() { _cgo0 := /*line :138:25*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :138:45*/(red); var _cgo2 _Ctype_double = _Ctype_double /*line :138:60*/(green); var _cgo3 _Ctype_double = _Ctype_double /*line :139:11*/(blue); _cgoCheckPointer(_cgo0, nil); /*line :139:18*/_Cfunc_cairo_set_source_rgb(_cgo0, _cgo1, _cgo2, _cgo3); }() } // SetSourceRGBA is a wrapper around cairo_set_source_rgba(). func (v *Context) SetSourceRGBA(red, green, blue, alpha float64) { func() { _cgo0 := /*line :144:26*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :144:46*/(red); var _cgo2 _Ctype_double = _Ctype_double /*line :144:61*/(green); var _cgo3 _Ctype_double = _Ctype_double /*line :145:11*/(blue); var _cgo4 _Ctype_double = _Ctype_double /*line :145:27*/(alpha); _cgoCheckPointer(_cgo0, nil); /*line :145:35*/_Cfunc_cairo_set_source_rgba(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4); }() } // TODO(jrick) SetSource (depends on Pattern) // cairo_set_source // SetSourceSurface is a wrapper around cairo_set_source_surface(). func (v *Context) SetSourceSurface(surface *Surface, x, y float64) { func() { _cgo0 := /*line :153:29*/v.native(); _cgo1 := /*line :153:41*/surface.native(); var _cgo2 _Ctype_double = _Ctype_double /*line :153:67*/(x); var _cgo3 _Ctype_double = _Ctype_double /*line :154:11*/(y); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); /*line :154:15*/_Cfunc_cairo_set_source_surface(_cgo0, _cgo1, _cgo2, _cgo3); }() } // TODO(jrick) GetSource (depends on Pattern) // cairo_get_source // SetAntialias is a wrapper around cairo_set_antialias(). func (v *Context) SetAntialias(antialias Antialias) { func() { _cgo0 := /*line :162:24*/v.native(); var _cgo1 _Ctype_cairo_antialias_t = _Ctype_cairo_antialias_t /*line :162:55*/(antialias); _cgoCheckPointer(_cgo0, nil); /*line :162:67*/_Cfunc_cairo_set_antialias(_cgo0, _cgo1); }() } // GetAntialias is a wrapper around cairo_get_antialias(). func (v *Context) GetAntialias() Antialias { c := func() _Ctype_cairo_antialias_t{ _cgo0 := /*line :167:29*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :167:40*/_Cfunc_cairo_get_antialias(_cgo0); }() return Antialias(c) } // SetDash is a wrapper around cairo_set_dash(). func (v *Context) SetDash(dashes []float64, offset float64) { header := (*reflect.SliceHeader)(unsafe.Pointer(&dashes)) cdashes := (* /*line :174:15*/_Ctype_double /*line :174:23*/)(unsafe.Pointer(header.Data)) func() { _cgo0 := /*line :175:19*/v.native(); var _cgo1 *_Ctype_double = /*line :175:31*/cdashes; var _cgo2 _Ctype_int = _Ctype_int /*line :175:45*/(header.Len); var _cgo3 _Ctype_double = _Ctype_double /*line :176:11*/(offset); _cgoCheckPointer(_cgo0, nil); /*line :176:20*/_Cfunc_cairo_set_dash(_cgo0, _cgo1, _cgo2, _cgo3); }() } // GetDashCount is a wrapper around cairo_get_dash_count(). func (v *Context) GetDashCount() int { c := func() _Ctype_int{ _cgo0 := /*line :181:30*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :181:41*/_Cfunc_cairo_get_dash_count(_cgo0); }() return int(c) } // GetDash is a wrapper around cairo_get_dash(). func (v *Context) GetDash() (dashes []float64, offset float64) { dashCount := v.GetDashCount() cdashes := (* /*line :188:15*/_Ctype_double /*line :188:23*/)(( /*line :188:25*/_Cfunc_calloc /*line :188:32*/)(8, /*line :188:37*/_Ctype_size_t /*line :188:45*/(dashCount))) var coffset /*line :189:14*/_Ctype_double /*line :189:22*/ func() { _cgo0 := /*line :190:19*/v.native(); var _cgo1 *_Ctype_double = /*line :190:31*/cdashes; var _cgo2 *_Ctype_double = /*line :190:40*/&coffset; _cgoCheckPointer(_cgo0, nil); /*line :190:49*/_Cfunc_cairo_get_dash(_cgo0, _cgo1, _cgo2); }() header := (*reflect.SliceHeader)((unsafe.Pointer(&dashes))) header.Data = uintptr(unsafe.Pointer(cdashes)) header.Len = dashCount header.Cap = dashCount return dashes, float64(coffset) } // SetFillRule is a wrapper around cairo_set_fill_rule(). func (v *Context) SetFillRule(fillRule FillRule) { func() { _cgo0 := /*line :200:24*/v.native(); var _cgo1 _Ctype_cairo_fill_rule_t = _Ctype_cairo_fill_rule_t /*line :200:55*/(fillRule); _cgoCheckPointer(_cgo0, nil); /*line :200:66*/_Cfunc_cairo_set_fill_rule(_cgo0, _cgo1); }() } // GetFillRule is a wrapper around cairo_get_fill_rule(). func (v *Context) GetFillRule() FillRule { c := func() _Ctype_cairo_fill_rule_t{ _cgo0 := /*line :205:29*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :205:40*/_Cfunc_cairo_get_fill_rule(_cgo0); }() return FillRule(c) } // SetLineCap is a wrapper around cairo_set_line_cap(). func (v *Context) SetLineCap(lineCap LineCap) { func() { _cgo0 := /*line :211:23*/v.native(); var _cgo1 _Ctype_cairo_line_cap_t = _Ctype_cairo_line_cap_t /*line :211:53*/(lineCap); _cgoCheckPointer(_cgo0, nil); /*line :211:63*/_Cfunc_cairo_set_line_cap(_cgo0, _cgo1); }() } // GetLineCap is a wrapper around cairo_get_line_cap(). func (v *Context) GetLineCap() LineCap { c := func() _Ctype_cairo_line_cap_t{ _cgo0 := /*line :216:28*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :216:39*/_Cfunc_cairo_get_line_cap(_cgo0); }() return LineCap(c) } // SetLineJoin is a wrapper around cairo_set_line_join(). func (v *Context) SetLineJoin(lineJoin LineJoin) { func() { _cgo0 := /*line :222:24*/v.native(); var _cgo1 _Ctype_cairo_line_join_t = _Ctype_cairo_line_join_t /*line :222:55*/(lineJoin); _cgoCheckPointer(_cgo0, nil); /*line :222:66*/_Cfunc_cairo_set_line_join(_cgo0, _cgo1); }() } // GetLineJoin is a wrapper around cairo_get_line_join(). func (v *Context) GetLineJoin() LineJoin { c := func() _Ctype_cairo_line_join_t{ _cgo0 := /*line :227:29*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :227:40*/_Cfunc_cairo_get_line_join(_cgo0); }() return LineJoin(c) } // SetLineWidth is a wrapper around cairo_set_line_width(). func (v *Context) SetLineWidth(width float64) { func() { _cgo0 := /*line :233:25*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :233:45*/(width); _cgoCheckPointer(_cgo0, nil); /*line :233:53*/_Cfunc_cairo_set_line_width(_cgo0, _cgo1); }() } // GetLineWidth is a wrapper cairo_get_line_width(). func (v *Context) GetLineWidth() float64 { c := func() _Ctype_double{ _cgo0 := /*line :238:30*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :238:41*/_Cfunc_cairo_get_line_width(_cgo0); }() return float64(c) } // SetMiterLimit is a wrapper around cairo_set_miter_limit(). func (v *Context) SetMiterLimit(limit float64) { func() { _cgo0 := /*line :244:26*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :244:46*/(limit); _cgoCheckPointer(_cgo0, nil); /*line :244:54*/_Cfunc_cairo_set_miter_limit(_cgo0, _cgo1); }() } // GetMiterLimit is a wrapper around cairo_get_miter_limit(). func (v *Context) GetMiterLimit() float64 { c := func() _Ctype_double{ _cgo0 := /*line :249:31*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :249:42*/_Cfunc_cairo_get_miter_limit(_cgo0); }() return float64(c) } // SetOperator is a wrapper around cairo_set_operator(). func (v *Context) SetOperator(op Operator) { func() { _cgo0 := /*line :255:23*/v.native(); var _cgo1 _Ctype_cairo_operator_t = _Ctype_cairo_operator_t /*line :255:53*/(op); _cgoCheckPointer(_cgo0, nil); /*line :255:58*/_Cfunc_cairo_set_operator(_cgo0, _cgo1); }() } // GetOperator is a wrapper around cairo_get_operator(). func (v *Context) GetOperator() Operator { c := func() _Ctype_cairo_operator_t{ _cgo0 := /*line :260:28*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :260:39*/_Cfunc_cairo_get_operator(_cgo0); }() return Operator(c) } // SetTolerance is a wrapper around cairo_set_tolerance(). func (v *Context) SetTolerance(tolerance float64) { func() { _cgo0 := /*line :266:24*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :266:44*/(tolerance); _cgoCheckPointer(_cgo0, nil); /*line :266:56*/_Cfunc_cairo_set_tolerance(_cgo0, _cgo1); }() } // GetTolerance is a wrapper around cairo_get_tolerance(). func (v *Context) GetTolerance() float64 { c := func() _Ctype_double{ _cgo0 := /*line :271:29*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :271:40*/_Cfunc_cairo_get_tolerance(_cgo0); }() return float64(c) } // Clip is a wrapper around cairo_clip(). func (v *Context) Clip() { func() { _cgo0 := /*line :277:15*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :277:26*/_Cfunc_cairo_clip(_cgo0); }() } // ClipPreserve is a wrapper around cairo_clip_preserve(). func (v *Context) ClipPreserve() { func() { _cgo0 := /*line :282:24*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :282:35*/_Cfunc_cairo_clip_preserve(_cgo0); }() } // ClipExtents is a wrapper around cairo_clip_extents(). func (v *Context) ClipExtents() (x1, y1, x2, y2 float64) { var cx1, cy1, cx2, cy2 /*line :287:25*/_Ctype_double /*line :287:33*/ func() { _cgo0 := /*line :288:23*/v.native(); var _cgo1 *_Ctype_double = /*line :288:35*/&cx1; var _cgo2 *_Ctype_double = /*line :288:41*/&cy1; var _cgo3 *_Ctype_double = /*line :288:47*/&cx2; var _cgo4 *_Ctype_double = /*line :288:53*/&cy2; _cgoCheckPointer(_cgo0, nil); /*line :288:58*/_Cfunc_cairo_clip_extents(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4); }() return float64(cx1), float64(cy1), float64(cx2), float64(cy2) } // InClip is a wrapper around cairo_in_clip(). func (v *Context) InClip(x, y float64) bool { c := func() _Ctype_cairo_bool_t{ _cgo0 := /*line :294:23*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :294:43*/(x); var _cgo2 _Ctype_double = _Ctype_double /*line :294:56*/(y); _cgoCheckPointer(_cgo0, nil); return /*line :294:60*/_Cfunc_cairo_in_clip(_cgo0, _cgo1, _cgo2); }() return gobool(c) } // ResetClip is a wrapper around cairo_reset_clip(). func (v *Context) ResetClip() { func() { _cgo0 := /*line :300:21*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :300:32*/_Cfunc_cairo_reset_clip(_cgo0); }() } // Rectangle is a wrapper around cairo_rectangle(). func (v *Context) Rectangle(x, y, w, h float64) { func() { _cgo0 := /*line :305:20*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :305:40*/(x); var _cgo2 _Ctype_double = _Ctype_double /*line :305:53*/(y); var _cgo3 _Ctype_double = _Ctype_double /*line :305:66*/(w); var _cgo4 _Ctype_double = _Ctype_double /*line :305:79*/(h); _cgoCheckPointer(_cgo0, nil); /*line :305:83*/_Cfunc_cairo_rectangle(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4); }() } // Arc is a wrapper around cairo_arc(). func (v *Context) Arc(xc, yc, radius, angle1, angle2 float64) { func() { _cgo0 := /*line :310:14*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :310:34*/(xc); var _cgo2 _Ctype_double = _Ctype_double /*line :310:48*/(yc); var _cgo3 _Ctype_double = _Ctype_double /*line :310:62*/(radius); var _cgo4 _Ctype_double = _Ctype_double /*line :310:80*/(angle1); var _cgo5 _Ctype_double = _Ctype_double /*line :310:98*/(angle2); _cgoCheckPointer(_cgo0, nil); /*line :310:107*/_Cfunc_cairo_arc(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4, _cgo5); }() } // ArcNegative is a wrapper around cairo_arc_negative(). func (v *Context) ArcNegative(xc, yc, radius, angle1, angle2 float64) { func() { _cgo0 := /*line :315:23*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :315:43*/(xc); var _cgo2 _Ctype_double = _Ctype_double /*line :315:57*/(yc); var _cgo3 _Ctype_double = _Ctype_double /*line :315:71*/(radius); var _cgo4 _Ctype_double = _Ctype_double /*line :315:89*/(angle1); var _cgo5 _Ctype_double = _Ctype_double /*line :315:107*/(angle2); _cgoCheckPointer(_cgo0, nil); /*line :315:116*/_Cfunc_cairo_arc_negative(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4, _cgo5); }() } // LineTo is a wrapper around cairo_line_to(). func (v *Context) LineTo(x, y float64) { func() { _cgo0 := /*line :320:18*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :320:38*/(x); var _cgo2 _Ctype_double = _Ctype_double /*line :320:51*/(y); _cgoCheckPointer(_cgo0, nil); /*line :320:55*/_Cfunc_cairo_line_to(_cgo0, _cgo1, _cgo2); }() } // CurveTo is a wrapper around cairo_curve_to(). func (v *Context) CurveTo(x1, y1, x2, y2, x3, y3 float64) { func() { _cgo0 := /*line :325:19*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :325:39*/(x1); var _cgo2 _Ctype_double = _Ctype_double /*line :325:53*/(y1); var _cgo3 _Ctype_double = _Ctype_double /*line :325:67*/(x2); var _cgo4 _Ctype_double = _Ctype_double /*line :325:81*/(y2); var _cgo5 _Ctype_double = _Ctype_double /*line :325:95*/(x3); var _cgo6 _Ctype_double = _Ctype_double /*line :325:109*/(y3); _cgoCheckPointer(_cgo0, nil); /*line :325:114*/_Cfunc_cairo_curve_to(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4, _cgo5, _cgo6); }() } // MoveTo is a wrapper around cairo_move_to(). func (v *Context) MoveTo(x, y float64) { func() { _cgo0 := /*line :330:18*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :330:38*/(x); var _cgo2 _Ctype_double = _Ctype_double /*line :330:51*/(y); _cgoCheckPointer(_cgo0, nil); /*line :330:55*/_Cfunc_cairo_move_to(_cgo0, _cgo1, _cgo2); }() } // TODO(jrick) CopyClipRectangleList (depends on RectangleList) // cairo_copy_clip_rectangle_list // Fill is a wrapper around cairo_fill(). func (v *Context) Fill() { func() { _cgo0 := /*line :338:15*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :338:26*/_Cfunc_cairo_fill(_cgo0); }() } // ClosePath is a wrapper around cairo_close_path(). func (v *Context) ClosePath() { func() { _cgo0 := /*line :343:21*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :343:32*/_Cfunc_cairo_close_path(_cgo0); }() } // NewPath is a wrapper around cairo_new_path(). func (v *Context) NewPath() { func() { _cgo0 := /*line :348:19*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :348:30*/_Cfunc_cairo_new_path(_cgo0); }() } // GetCurrentPoint is a wrapper around cairo_get_current_point(). func (v *Context) GetCurrentPoint() (x, y float64) { func() { _cgo0 := /*line :353:28*/v.native(); var _cgo1 *_Ctype_double = /*line :353:40*/(*_Ctype_double /*line :353:50*/)(&x); var _cgo2 *_Ctype_double = /*line :353:57*/(*_Ctype_double /*line :353:67*/)(&y); _cgoCheckPointer(_cgo0, nil); /*line :353:73*/_Cfunc_cairo_get_current_point(_cgo0, _cgo1, _cgo2); }() return } // FillPreserve is a wrapper around cairo_fill_preserve(). func (v *Context) FillPreserve() { func() { _cgo0 := /*line :359:24*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :359:35*/_Cfunc_cairo_fill_preserve(_cgo0); }() } // FillExtents is a wrapper around cairo_fill_extents(). func (v *Context) FillExtents() (x1, y1, x2, y2 float64) { var cx1, cy1, cx2, cy2 /*line :364:25*/_Ctype_double /*line :364:33*/ func() { _cgo0 := /*line :365:23*/v.native(); var _cgo1 *_Ctype_double = /*line :365:35*/&cx1; var _cgo2 *_Ctype_double = /*line :365:41*/&cy1; var _cgo3 *_Ctype_double = /*line :365:47*/&cx2; var _cgo4 *_Ctype_double = /*line :365:53*/&cy2; _cgoCheckPointer(_cgo0, nil); /*line :365:58*/_Cfunc_cairo_fill_extents(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4); }() return float64(cx1), float64(cy1), float64(cx2), float64(cy2) } // InFill is a wrapper around cairo_in_fill(). func (v *Context) InFill(x, y float64) bool { c := func() _Ctype_cairo_bool_t{ _cgo0 := /*line :371:23*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :371:43*/(x); var _cgo2 _Ctype_double = _Ctype_double /*line :371:56*/(y); _cgoCheckPointer(_cgo0, nil); return /*line :371:60*/_Cfunc_cairo_in_fill(_cgo0, _cgo1, _cgo2); }() return gobool(c) } // TODO(jrick) Mask (depends on Pattern) // cairo_mask_surface // MaskSurface is a wrapper around cairo_mask_surface(). func (v *Context) MaskSurface(surface *Surface, surfaceX, surfaceY float64) { func() { _cgo0 := /*line :380:23*/v.native(); _cgo1 := /*line :380:35*/surface.native(); var _cgo2 _Ctype_double = _Ctype_double /*line :380:61*/(surfaceX); var _cgo3 _Ctype_double = _Ctype_double /*line :381:11*/(surfaceY); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); /*line :381:22*/_Cfunc_cairo_mask_surface(_cgo0, _cgo1, _cgo2, _cgo3); }() } // Paint is a wrapper around cairo_paint(). func (v *Context) Paint() { func() { _cgo0 := /*line :386:16*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :386:27*/_Cfunc_cairo_paint(_cgo0); }() } // PaintWithAlpha is a wrapper around cairo_paint_with_alpha(). func (v *Context) PaintWithAlpha(alpha float64) { func() { _cgo0 := /*line :391:27*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :391:47*/(alpha); _cgoCheckPointer(_cgo0, nil); /*line :391:55*/_Cfunc_cairo_paint_with_alpha(_cgo0, _cgo1); }() } // Stroke is a wrapper around cairo_stroke(). func (v *Context) Stroke() { func() { _cgo0 := /*line :396:17*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :396:28*/_Cfunc_cairo_stroke(_cgo0); }() } // StrokePreserve is a wrapper around cairo_stroke_preserve(). func (v *Context) StrokePreserve() { func() { _cgo0 := /*line :401:26*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :401:37*/_Cfunc_cairo_stroke_preserve(_cgo0); }() } // StrokeExtents is a wrapper around cairo_stroke_extents(). func (v *Context) StrokeExtents() (x1, y1, x2, y2 float64) { var cx1, cy1, cx2, cy2 /*line :406:25*/_Ctype_double /*line :406:33*/ func() { _cgo0 := /*line :407:25*/v.native(); var _cgo1 *_Ctype_double = /*line :407:37*/&cx1; var _cgo2 *_Ctype_double = /*line :407:43*/&cy1; var _cgo3 *_Ctype_double = /*line :407:49*/&cx2; var _cgo4 *_Ctype_double = /*line :407:55*/&cy2; _cgoCheckPointer(_cgo0, nil); /*line :407:60*/_Cfunc_cairo_stroke_extents(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4); }() return float64(cx1), float64(cy1), float64(cx2), float64(cy2) } // InStroke is a wrapper around cairo_in_stroke(). func (v *Context) InStroke(x, y float64) bool { c := func() _Ctype_cairo_bool_t{ _cgo0 := /*line :413:25*/v.native(); var _cgo1 _Ctype_double = _Ctype_double /*line :413:45*/(x); var _cgo2 _Ctype_double = _Ctype_double /*line :413:58*/(y); _cgoCheckPointer(_cgo0, nil); return /*line :413:62*/_Cfunc_cairo_in_stroke(_cgo0, _cgo1, _cgo2); }() return gobool(c) } // CopyPage is a wrapper around cairo_copy_page(). func (v *Context) CopyPage() { func() { _cgo0 := /*line :419:20*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :419:31*/_Cfunc_cairo_copy_page(_cgo0); }() } // ShowPage is a wrapper around cairo_show_page(). func (v *Context) ShowPage() { func() { _cgo0 := /*line :424:20*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :424:31*/_Cfunc_cairo_show_page(_cgo0); }() }