// 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/pango/pango-layout.go:1:1 /* * Copyright (c) 2015- terrak * * This file originated from: http://www.terrak.net/ * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ package pango // #include // #include "pango.go.h" import _ "unsafe" import ( "runtime" "unsafe" "github.com/gotk3/gotk3/glib" ) func init() { tm := []glib.TypeMarshaler{ // Enums {glib.Type(( /*line :34:14*/_Cfunc_pango_alignment_get_type /*line :34:39*/)()), marshalAlignment}, {glib.Type(( /*line :35:14*/_Cfunc_pango_ellipsize_mode_get_type /*line :35:44*/)()), marshalEllipsizeMode}, {glib.Type(( /*line :36:14*/_Cfunc_pango_wrap_mode_get_type /*line :36:39*/)()), marshalWrapMode}, {glib.Type(( /*line :37:14*/_Cfunc_pango_tab_align_get_type /*line :37:39*/)()), marshalTabAlign}, // Objects/Interfaces // {glib.Type(C.pango_layout_get_type()), marshalLayout}, } glib.RegisterGValueMarshalers(tm) } // Layout is a representation of PangoLayout. type Layout struct { pangoLayout * /*line :47:15*/_Ctype_PangoLayout /*line :47:28*/ } // Native returns a pointer to the underlying PangoLayout. func (v *Layout) Native() uintptr { return uintptr(unsafe.Pointer(v.native())) } func (v *Layout) native() * /*line :55:28*/_Ctype_PangoLayout /*line :55:41*/ { if v == nil { return nil } return (* /*line :59:11*/_Ctype_PangoLayout /*line :59:24*/)(unsafe.Pointer(v.pangoLayout)) } func WrapLayout(p uintptr) *Layout { layout := new(Layout) layout.pangoLayout = (* /*line :64:25*/_Ctype_PangoLayout /*line :64:38*/)(unsafe.Pointer(p)) return layout } // LayoutLine is a representation of PangoLayoutLine. type LayoutLine struct { pangoLayoutLine * /*line :70:19*/_Ctype_PangoLayout /*line :70:32*/ } // Native returns a pointer to the underlying PangoLayoutLine. func (v *LayoutLine) Native() uintptr { return uintptr(unsafe.Pointer(v.native())) } func (v *LayoutLine) native() * /*line :78:32*/_Ctype_PangoLayoutLine /*line :78:49*/ { if v == nil { return nil } return (* /*line :82:11*/_Ctype_PangoLayoutLine /*line :82:28*/)(unsafe.Pointer(v.pangoLayoutLine)) } /* * Constants */ // Alignment is a representation of Pango's PangoAlignment. type Alignment int const ( ALIGN_LEFT Alignment = ( /*line :93:27*/_Ciconst_PANGO_ALIGN_LEFT /*line :93:44*/) ALIGN_CENTER Alignment = ( /*line :94:27*/_Ciconst_PANGO_ALIGN_CENTER /*line :94:46*/) ALIGN_RIGHT Alignment = ( /*line :95:27*/_Ciconst_PANGO_ALIGN_RIGHT /*line :95:45*/) ) func marshalAlignment(p uintptr) (interface{}, error) { c := ( /*line :99:7*/_Cfunc_g_value_get_enum /*line :99:24*/)((* /*line :99:28*/_Ctype_GValue /*line :99:36*/)(unsafe.Pointer(p))) return Alignment(c), nil } // WrapMode is a representation of Pango's PangoWrapMode. type WrapMode int const ( WRAP_WORD WrapMode = ( /*line :107:28*/_Ciconst_PANGO_WRAP_WORD /*line :107:44*/) WRAP_CHAR WrapMode = ( /*line :108:28*/_Ciconst_PANGO_WRAP_CHAR /*line :108:44*/) WRAP_WORD_CHAR WrapMode = ( /*line :109:28*/_Ciconst_PANGO_WRAP_WORD_CHAR /*line :109:49*/) ) func marshalWrapMode(p uintptr) (interface{}, error) { c := ( /*line :113:7*/_Cfunc_g_value_get_enum /*line :113:24*/)((* /*line :113:28*/_Ctype_GValue /*line :113:36*/)(unsafe.Pointer(p))) return WrapMode(c), nil } // EllipsizeMode is a representation of Pango's PangoEllipsizeMode. type EllipsizeMode int const ( ELLIPSIZE_NONE EllipsizeMode = ( /*line :121:35*/_Ciconst_PANGO_ELLIPSIZE_NONE /*line :121:56*/) ELLIPSIZE_START EllipsizeMode = ( /*line :122:35*/_Ciconst_PANGO_ELLIPSIZE_START /*line :122:57*/) ELLIPSIZE_MIDDLE EllipsizeMode = ( /*line :123:35*/_Ciconst_PANGO_ELLIPSIZE_MIDDLE /*line :123:58*/) ELLIPSIZE_END EllipsizeMode = ( /*line :124:35*/_Ciconst_PANGO_ELLIPSIZE_END /*line :124:55*/) ) func marshalEllipsizeMode(p uintptr) (interface{}, error) { c := ( /*line :128:7*/_Cfunc_g_value_get_enum /*line :128:24*/)((* /*line :128:28*/_Ctype_GValue /*line :128:36*/)(unsafe.Pointer(p))) return EllipsizeMode(c), nil } type TabAlign int const ( TAB_LEFT TabAlign = ( /*line :135:22*/_Ciconst_PANGO_TAB_LEFT /*line :135:37*/) ) func marshalTabAlign(p uintptr) (interface{}, error) { c := ( /*line :139:7*/_Cfunc_g_value_get_enum /*line :139:24*/)((* /*line :139:28*/_Ctype_GValue /*line :139:36*/)(unsafe.Pointer(p))) return TabAlign(c), nil } /* func marshalLayout(p uintptr) (interface{}, error) { c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p))) obj := wrapObject(unsafe.Pointer(c)) return wrapLayout(obj), nil } func wrapLayout(obj *glib.Object) *Layout { return &Layout{obj} } */ // LayoutNew is a wrapper around pango_layout_new(). func LayoutNew(context *Context) *Layout { c := func() *_Ctype_struct__PangoLayout{ _cgo0 := /*line :157:26*/context.native(); _cgoCheckPointer(_cgo0, nil); return /*line :157:43*/_Cfunc_pango_layout_new(_cgo0); }() layout := new(Layout) layout.pangoLayout = (* /*line :160:25*/_Ctype_PangoLayout /*line :160:38*/)(c) return layout } // Copy is a wrapper around pango_layout_copy(). func (v *Layout) Copy() *Layout { c := func() *_Ctype_struct__PangoLayout{ _cgo0 := /*line :166:27*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :166:38*/_Cfunc_pango_layout_copy(_cgo0); }() layout := new(Layout) layout.pangoLayout = (* /*line :169:25*/_Ctype_PangoLayout /*line :169:38*/)(c) return layout } // GetContext is a wrapper around pango_layout_get_context(). func (v *Layout) GetContext() *Context { c := func() *_Ctype_struct__PangoContext{ _cgo0 := /*line :175:34*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :175:45*/_Cfunc_pango_layout_get_context(_cgo0); }() context := new(Context) context.pangoContext = (* /*line :178:27*/_Ctype_PangoContext /*line :178:41*/)(c) return context } // SetAttributes is a wrapper around pango_layout_set_attributes(). func (v *Layout) SetAttributes(attrs *AttrList) { func() { _cgo0 := /*line :185:32*/v.native(); _cgo1 := /*line :185:44*/attrs.native(); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); /*line :185:59*/_Cfunc_pango_layout_set_attributes(_cgo0, _cgo1); }() } // GetAttributes is a wrapper around pango_layout_get_attributes(). func (v *Layout) GetAttributes() *AttrList { c := func() *_Ctype_struct__PangoAttrList{ _cgo0 := /*line :190:37*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :190:48*/_Cfunc_pango_layout_get_attributes(_cgo0); }() return wrapAttrList(c) } // SetText is a wrapper around pango_layout_set_text(). func (v *Layout) SetText(text string, length int) { cstr := ( /*line :196:10*/_Cfunc_CString /*line :196:18*/)(text) defer func() func() { _cgo0 := /*line :197:15*/unsafe.Pointer(cstr); return func() { _cgoCheckPointer(_cgo0, nil); /*line :197:36*/_Cfunc_free(_cgo0); }}()() func() { _cgo0 := /*line :198:26*/v.native(); var _cgo1 *_Ctype_char = /*line :198:38*/(*_Ctype_char /*line :198:46*/)(cstr); var _cgo2 _Ctype_int = /*line :198:55*/(_Ctype_int /*line :198:61*/)(length); _cgoCheckPointer(_cgo0, nil); /*line :198:71*/_Cfunc_pango_layout_set_text(_cgo0, _cgo1, _cgo2); }() } // GetText is a wrapper around pango_layout_get_text(). func (v *Layout) GetText() string { c := func() *_Ctype_char{ _cgo0 := /*line :203:31*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :203:42*/_Cfunc_pango_layout_get_text(_cgo0); }() return ( /*line :204:9*/_Cfunc_GoString /*line :204:18*/)((* /*line :204:22*/_Ctype_char /*line :204:28*/)(c)) } // GetCharacterCount is a wrapper around pango_layout_get_character_count(). func (v *Layout) GetCharacterCount() int { c := func() _Ctype_gint{ _cgo0 := /*line :209:42*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :209:53*/_Cfunc_pango_layout_get_character_count(_cgo0); }() return int(c) } // SetMarkup is a wrapper around pango_layout_set_markup(). func (v *Layout) SetMarkup(text string, length int) { cstr := ( /*line :215:10*/_Cfunc_CString /*line :215:18*/)(text) defer func() func() { _cgo0 := /*line :216:15*/unsafe.Pointer(cstr); return func() { _cgoCheckPointer(_cgo0, nil); /*line :216:36*/_Cfunc_free(_cgo0); }}()() func() { _cgo0 := /*line :217:28*/v.native(); var _cgo1 *_Ctype_char = /*line :217:40*/(*_Ctype_char /*line :217:48*/)(cstr); var _cgo2 _Ctype_int = /*line :217:57*/(_Ctype_int /*line :217:63*/)(length); _cgoCheckPointer(_cgo0, nil); /*line :217:73*/_Cfunc_pango_layout_set_markup(_cgo0, _cgo1, _cgo2); }() } //void pango_layout_set_markup_with_accel (PangoLayout *layout, // const char *markup, // int length, // gunichar accel_marker, // gunichar *accel_char); /* func (v *Layout) SetMarkupWithAccel (text string, length int, accel_marker, accel_char rune){ cstr := C.CString(text) defer C.free(unsafe.Pointer(cstr)) C.pango_layout_set_markup_with_accel (v.native(), (*C.char)(cstr), (C.int)(length), (C.gunichar)(accel_marker), (C.gunichar)(accel_char) ) } */ // SetFontDescription is a wrapper around pango_layout_set_font_description(). func (v *Layout) SetFontDescription(desc *FontDescription) { func() { _cgo0 := /*line :236:38*/v.native(); _cgo1 := /*line :236:50*/desc.native(); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); /*line :236:64*/_Cfunc_pango_layout_set_font_description(_cgo0, _cgo1); }() } // GetFontDescription is a wrapper around pango_layout_get_font_description(). func (v *Layout) GetFontDescription() *FontDescription { c := func() *_Ctype_struct__PangoFontDescription{ _cgo0 := /*line :241:43*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :241:54*/_Cfunc_pango_layout_get_font_description(_cgo0); }() desc := new(FontDescription) desc.pangoFontDescription = (* /*line :244:32*/_Ctype_PangoFontDescription /*line :244:54*/)(c) return desc } // SetWidth is a wrapper around pango_layout_set_width(). func (v *Layout) SetWidth(width int) { func() { _cgo0 := /*line :251:27*/v.native(); var _cgo1 _Ctype_int = _Ctype_int /*line :251:44*/(width); _cgoCheckPointer(_cgo0, nil); /*line :251:52*/_Cfunc_pango_layout_set_width(_cgo0, _cgo1); }() } // GetWidth is a wrapper around pango_layout_get_width(). func (v *Layout) GetWidth() int { c := func() _Ctype_int{ _cgo0 := /*line :256:32*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :256:43*/_Cfunc_pango_layout_get_width(_cgo0); }() return int(c) } // SetHeight is a wrapper around pango_layout_set_height(). func (v *Layout) SetHeight(width int) { func() { _cgo0 := /*line :262:28*/v.native(); var _cgo1 _Ctype_int = _Ctype_int /*line :262:45*/(width); _cgoCheckPointer(_cgo0, nil); /*line :262:53*/_Cfunc_pango_layout_set_height(_cgo0, _cgo1); }() } // GetHeight is a wrapper around pango_layout_get_height(). func (v *Layout) GetHeight() int { c := func() _Ctype_int{ _cgo0 := /*line :267:33*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :267:44*/_Cfunc_pango_layout_get_height(_cgo0); }() return int(c) } // SetWrap is a wrapper around pango_layout_set_wrap(). func (v *Layout) SetWrap(wrap WrapMode) { func() { _cgo0 := /*line :273:26*/v.native(); var _cgo1 _Ctype_PangoWrapMode = _Ctype_PangoWrapMode /*line :273:53*/(wrap); _cgoCheckPointer(_cgo0, nil); /*line :273:60*/_Cfunc_pango_layout_set_wrap(_cgo0, _cgo1); }() } // WrapMode is a wrapper around pango_layout_get_wrap(). func (v *Layout) GetWrap() WrapMode { c := func() _Ctype_PangoWrapMode{ _cgo0 := /*line :278:31*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :278:42*/_Cfunc_pango_layout_get_wrap(_cgo0); }() return WrapMode(c) } // IsWrapped is a wrapper around pango_layout_is_wrapped(). func (v *Layout) IsWrapped() bool { c := func() _Ctype_gboolean{ _cgo0 := /*line :284:33*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :284:44*/_Cfunc_pango_layout_is_wrapped(_cgo0); }() return gobool(c) } // SetIndent is a wrapper around pango_layout_set_indent(). func (v *Layout) SetIndent(indent int) { func() { _cgo0 := /*line :290:28*/v.native(); var _cgo1 _Ctype_int = _Ctype_int /*line :290:45*/(indent); _cgoCheckPointer(_cgo0, nil); /*line :290:54*/_Cfunc_pango_layout_set_indent(_cgo0, _cgo1); }() } // GetIndent is a wrapper around pango_layout_get_indent(). func (v *Layout) GetIndent() int { c := func() _Ctype_int{ _cgo0 := /*line :295:33*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :295:44*/_Cfunc_pango_layout_get_indent(_cgo0); }() return int(c) } // SetTabs is a wrapper around pango_layout_set_tabs(). func (v *Layout) SetTabs(tabs *TabArray) { func() { _cgo0 := /*line :301:26*/v.native(); _cgo1 := /*line :301:38*/tabs.native(); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); /*line :301:52*/_Cfunc_pango_layout_set_tabs(_cgo0, _cgo1); }() } // GetTabs is a wrapper around pango_layout_get_tabs(). func (v *Layout) GetTabs() (*TabArray, error) { c := func() *_Ctype_struct__PangoTabArray{ _cgo0 := /*line :306:31*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :306:42*/_Cfunc_pango_layout_get_tabs(_cgo0); }() if c == nil { return nil, nilPtrErr } ta := wrapTabArray(c) runtime.SetFinalizer(ta, func(v *TabArray) { glib.FinalizerStrategy(v.free) }) return ta, nil } // GetSize is a wrapper around pango_layout_get_size(). func (v *Layout) GetSize() (int, int) { var w, h /*line :317:11*/_Ctype_int /*line :317:16*/ func() { _cgo0 := /*line :318:26*/v.native(); var _cgo1 *_Ctype_int = /*line :318:38*/&w; var _cgo2 *_Ctype_int = /*line :318:42*/&h; _cgoCheckPointer(_cgo0, nil); /*line :318:45*/_Cfunc_pango_layout_get_size(_cgo0, _cgo1, _cgo2); }() return int(w), int(h) } /* * TabArray */ // TabArray is a representation of PangoTabArray. type TabArray struct { pangoTabArray * /*line :328:17*/_Ctype_PangoTabArray /*line :328:32*/ } // Native returns a pointer to the underlying PangoTabArray. func (v *TabArray) Native() uintptr { return uintptr(unsafe.Pointer(v.native())) } func (v *TabArray) native() * /*line :336:30*/_Ctype_PangoTabArray /*line :336:45*/ { if v == nil { return nil } return (* /*line :340:11*/_Ctype_PangoTabArray /*line :340:26*/)(unsafe.Pointer(v.pangoTabArray)) } func wrapTabArray(tabArray * /*line :343:29*/_Ctype_PangoTabArray /*line :343:44*/) *TabArray { return &TabArray{tabArray} } func WrapTabArray(p uintptr) *TabArray { tabArray := new(TabArray) tabArray.pangoTabArray = (* /*line :349:29*/_Ctype_PangoTabArray /*line :349:44*/)(unsafe.Pointer(p)) return tabArray } // TabArrayNew is a wrapper around pango_tab_array_new(). func TabArrayNew(initialSize int, positionsInPixels bool) *TabArray { c := ( /*line :355:7*/_Cfunc_pango_tab_array_new /*line :355:27*/)( /*line :355:29*/_Ctype_gint /*line :355:35*/(initialSize), gbool(positionsInPixels)) tabArray := new(TabArray) runtime.SetFinalizer(tabArray, func(v *TabArray) { glib.FinalizerStrategy(v.free) }) tabArray.pangoTabArray = (* /*line :359:29*/_Ctype_PangoTabArray /*line :359:44*/)(c) return tabArray } // TabArrayNewWithPositions is a wrapper around pango_tab_array_new_with_positions(). // func TabArrayNewWithPositions(size int, positionsInPixels bool, ...) *TabArray { // c := C.pango_tab_array_new_with_positions(C.gint(size), gbool(positionsInPixels), ...) // tabArray := new(TabArray) // runtime.SetFinalizer(e, func(v *TabArray) { glib.FinalizerStrategy(v.free) }) // tabArray.pangoTabArray = (*C.PangoTabArray)(c) // return tabArray // } // Copy is a wrapper around pango_tab_array_copy(). func (v *TabArray) Copy() (*TabArray, error) { c := func() *_Ctype_struct__PangoTabArray{ _cgo0 := /*line :375:30*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :375:41*/_Cfunc_pango_tab_array_copy(_cgo0); }() if c == nil { return nil, nilPtrErr } ta := wrapTabArray(c) runtime.SetFinalizer(ta, func(v *TabArray) { glib.FinalizerStrategy(v.free) }) return ta, nil } // free is a wrapper around pango_tab_array_free(). func (v *TabArray) free() { func() { _cgo0 := /*line :386:25*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :386:36*/_Cfunc_pango_tab_array_free(_cgo0); }() } // free is a wrapper around pango_tab_array_free(). // This is only to enable other packages within gotk. Should not be used outside the gotk library. func (v *TabArray) Free() { func() { _cgo0 := /*line :392:25*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :392:36*/_Cfunc_pango_tab_array_free(_cgo0); }() } // GetSize is a wrapper around pango_tab_array_get_size(). func (v *TabArray) GetSize() int { return int(func() _Ctype_gint{ _cgo0 := /*line :397:40*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :397:51*/_Cfunc_pango_tab_array_get_size(_cgo0); }()) } // Resize is a wrapper around pango_tab_array_resize(). func (v *TabArray) Resize(newSize int) { func() { _cgo0 := /*line :402:27*/v.native(); var _cgo1 _Ctype_gint = _Ctype_gint /*line :402:45*/(newSize); _cgoCheckPointer(_cgo0, nil); /*line :402:55*/_Cfunc_pango_tab_array_resize(_cgo0, _cgo1); }() } // SetTab is a wrapper around pango_tab_array_set_tab(). func (v *TabArray) SetTab(tabIndex int, alignment TabAlign, location int) { func() { _cgo0 := /*line :407:28*/v.native(); var _cgo1 _Ctype_gint = _Ctype_gint /*line :407:46*/(tabIndex); var _cgo2 _Ctype_PangoTabAlign = _Ctype_PangoTabAlign /*line :407:73*/(alignment); var _cgo3 _Ctype_gint = _Ctype_gint /*line :407:92*/(location); _cgoCheckPointer(_cgo0, nil); /*line :407:103*/_Cfunc_pango_tab_array_set_tab(_cgo0, _cgo1, _cgo2, _cgo3); }() } // GetTab is a wrapper around pango_tab_array_get_tab(). func (v *TabArray) GetTab(tabIndex int) (TabAlign, int) { var alignment /*line :412:16*/_Ctype_PangoTabAlign /*line :412:31*/ var location /*line :413:15*/_Ctype_gint /*line :413:21*/ func() { _cgo0 := /*line :414:28*/v.native(); var _cgo1 _Ctype_gint = _Ctype_gint /*line :414:46*/(tabIndex); var _cgo2 *_Ctype_PangoTabAlign = /*line :414:58*/&alignment; var _cgo3 *_Ctype_gint = /*line :414:70*/&location; _cgoCheckPointer(_cgo0, nil); /*line :414:80*/_Cfunc_pango_tab_array_get_tab(_cgo0, _cgo1, _cgo2, _cgo3); }() return TabAlign(alignment), int(location) } // GetTabs is a wrapper around pango_tab_array_get_tabs(). // func (v *TabArray) GetTabs() ([]TabAlign, []int) { // var alignment *C.PangoTabAlign // var location *C.gint // C.pango_tab_array_get_tabs(v.native(), &alignment, &location) // size := v.GetSize() // var goAlignments []TabAlign // var goLocations []int // if &alignment != nil { // var ginthelp C.gint // sizeOf := unsafe.Sizeof(ginthelp) // for i := 0; i < int(size); i++ { // goAlignmentElement := TabAlign(*((*C.gint)(unsafe.Pointer(location)))) // goAlignments = append(goAlignments, goAlignmentElement) // location += sizeOf // } // } // if &location != nil { // var ginthelp C.gint // sizeOf := unsafe.Sizeof(ginthelp) // for i := 0; i < int(size); i++ { // goLocationElement := int(*((*C.gint)(unsafe.Pointer(location)))) // goLocations = append(goLocations, goLocationElement) // location += sizeOf // } // // TODO: free locations // } // return goAlignments, goLocations // } // GetPositionsInPixels is a wrapper around pango_tab_array_get_positions_in_pixels(). func (v *TabArray) GetPositionsInPixels() bool { return gobool(func() _Ctype_gboolean{ _cgo0 := /*line :457:58*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :457:69*/_Cfunc_pango_tab_array_get_positions_in_pixels(_cgo0); }()) } //void pango_layout_set_spacing (PangoLayout *layout, // int spacing); //int pango_layout_get_spacing (PangoLayout *layout); //void pango_layout_set_justify (PangoLayout *layout, // gboolean justify); //gboolean pango_layout_get_justify (PangoLayout *layout); //void pango_layout_set_auto_dir (PangoLayout *layout, // gboolean auto_dir); //gboolean pango_layout_get_auto_dir (PangoLayout *layout); //void pango_layout_set_alignment (PangoLayout *layout, // PangoAlignment alignment); //PangoAlignment pango_layout_get_alignment (PangoLayout *layout); // //void pango_layout_set_single_paragraph_mode (PangoLayout *layout, // gboolean setting); //gboolean pango_layout_get_single_paragraph_mode (PangoLayout *layout); // //void pango_layout_set_ellipsize (PangoLayout *layout, // PangoEllipsizeMode ellipsize); //PangoEllipsizeMode pango_layout_get_ellipsize (PangoLayout *layout); //gboolean pango_layout_is_ellipsized (PangoLayout *layout); // //int pango_layout_get_unknown_glyphs_count (PangoLayout *layout); // //void pango_layout_context_changed (PangoLayout *layout); //guint pango_layout_get_serial (PangoLayout *layout); // //void pango_layout_get_log_attrs (PangoLayout *layout, // PangoLogAttr **attrs, // gint *n_attrs); // //const PangoLogAttr *pango_layout_get_log_attrs_readonly (PangoLayout *layout, // gint *n_attrs); // //void pango_layout_index_to_pos (PangoLayout *layout, // int index_, // PangoRectangle *pos); //void pango_layout_index_to_line_x (PangoLayout *layout, // int index_, // gboolean trailing, // int *line, // int *x_pos); //void pango_layout_get_cursor_pos (PangoLayout *layout, // int index_, // PangoRectangle *strong_pos, // PangoRectangle *weak_pos); //void pango_layout_move_cursor_visually (PangoLayout *layout, // gboolean strong, // int old_index, // int old_trailing, // int direction, // int *new_index, // int *new_trailing); //gboolean pango_layout_xy_to_index (PangoLayout *layout, // int x, // int y, // int *index_, // int *trailing); //void pango_layout_get_extents (PangoLayout *layout, // PangoRectangle *ink_rect, // PangoRectangle *logical_rect); //void pango_layout_get_pixel_extents (PangoLayout *layout, // PangoRectangle *ink_rect, // PangoRectangle *logical_rect); //void pango_layout_get_pixel_size (PangoLayout *layout, // int *width, // int *height); //int pango_layout_get_baseline (PangoLayout *layout); // //int pango_layout_get_line_count (PangoLayout *layout); //PangoLayoutLine *pango_layout_get_line (PangoLayout *layout, // int line); //PangoLayoutLine *pango_layout_get_line_readonly (PangoLayout *layout, // int line); //GSList * pango_layout_get_lines (PangoLayout *layout); //GSList * pango_layout_get_lines_readonly (PangoLayout *layout); // // //#define PANGO_TYPE_LAYOUT_LINE (pango_layout_line_get_type ()) // //GType pango_layout_line_get_type (void) G_GNUC_CONST; // //PangoLayoutLine *pango_layout_line_ref (PangoLayoutLine *line); //void pango_layout_line_unref (PangoLayoutLine *line); // //gboolean pango_layout_line_x_to_index (PangoLayoutLine *line, // int x_pos, // int *index_, // int *trailing); //void pango_layout_line_index_to_x (PangoLayoutLine *line, // int index_, // gboolean trailing, // int *x_pos); //void pango_layout_line_get_x_ranges (PangoLayoutLine *line, // int start_index, // int end_index, // int **ranges, // int *n_ranges); //void pango_layout_line_get_extents (PangoLayoutLine *line, // PangoRectangle *ink_rect, // PangoRectangle *logical_rect); //void pango_layout_line_get_pixel_extents (PangoLayoutLine *layout_line, // PangoRectangle *ink_rect, // PangoRectangle *logical_rect); // //typedef struct _PangoLayoutIter PangoLayoutIter; // //#define PANGO_TYPE_LAYOUT_ITER (pango_layout_iter_get_type ()) // //GType pango_layout_iter_get_type (void) G_GNUC_CONST; // //PangoLayoutIter *pango_layout_get_iter (PangoLayout *layout); //PangoLayoutIter *pango_layout_iter_copy (PangoLayoutIter *iter); //void pango_layout_iter_free (PangoLayoutIter *iter); // //int pango_layout_iter_get_index (PangoLayoutIter *iter); //PangoLayoutRun *pango_layout_iter_get_run (PangoLayoutIter *iter); //PangoLayoutRun *pango_layout_iter_get_run_readonly (PangoLayoutIter *iter); //PangoLayoutLine *pango_layout_iter_get_line (PangoLayoutIter *iter); //PangoLayoutLine *pango_layout_iter_get_line_readonly (PangoLayoutIter *iter); //gboolean pango_layout_iter_at_last_line (PangoLayoutIter *iter); //PangoLayout *pango_layout_iter_get_layout (PangoLayoutIter *iter); // //gboolean pango_layout_iter_next_char (PangoLayoutIter *iter); //gboolean pango_layout_iter_next_cluster (PangoLayoutIter *iter); //gboolean pango_layout_iter_next_run (PangoLayoutIter *iter); //gboolean pango_layout_iter_next_line (PangoLayoutIter *iter); // //void pango_layout_iter_get_char_extents (PangoLayoutIter *iter, // PangoRectangle *logical_rect); //void pango_layout_iter_get_cluster_extents (PangoLayoutIter *iter, // PangoRectangle *ink_rect, // PangoRectangle *logical_rect); //void pango_layout_iter_get_run_extents (PangoLayoutIter *iter, // PangoRectangle *ink_rect, // PangoRectangle *logical_rect); //void pango_layout_iter_get_line_extents (PangoLayoutIter *iter, // PangoRectangle *ink_rect, // PangoRectangle *logical_rect); /* All the yranges meet, unlike the logical_rect's (i.e. the yranges * assign between-line spacing to the nearest line) */ //void pango_layout_iter_get_line_yrange (PangoLayoutIter *iter, // int *y0_, // int *y1_); //void pango_layout_iter_get_layout_extents (PangoLayoutIter *iter, // PangoRectangle *ink_rect, // PangoRectangle *logical_rect); //int pango_layout_iter_get_baseline (PangoLayoutIter *iter); //