// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.TabArray.html).
pub type TabArray
///|
pub(open) trait ITabArray {
fn as_tab_array(Self) -> TabArray
fn get_decimal_point(Self, Int) -> UInt = _
fn get_positions_in_pixels(Self) -> Bool = _
fn get_size(Self) -> Int = _
fn get_tab(Self, Int) -> (TabAlign, Int) = _
fn get_tabs(Self) -> (Array[TabAlign], Array[Int]) = _
fn resize(Self, Int) -> Unit = _
fn set_decimal_point(Self, Int, UInt) -> Unit = _
fn set_positions_in_pixels(Self, Bool) -> Unit = _
fn set_tab(Self, Int, TabAlign, Int) -> Unit = _
fn sort(Self) -> Unit = _
fn to_string(Self) -> String = _
}
///|
pub impl ITabArray for TabArray with fn as_tab_array(self) {
self
}
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/ctor.TabArray.new.html).
pub extern "c" fn TabArray::new(
initial_size : Int,
positions_in_pixels : Bool,
) -> TabArray = "moonbit_pango_tab_array_new"
///|
#borrow(text)
extern "c" fn moonbit_pango_tab_array_from_string(
text : Bytes,
) -> @glib.Nullable[TabArray] = "moonbit_pango_tab_array_from_string"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/type_func.TabArray.from_string.html).
pub fn TabArray::from_string(text : String) -> TabArray? {
let raw_result = moonbit_pango_tab_array_from_string(
@encoding/utf8.encode(text),
)
raw_result.to_option()
}
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.TabArray.get_decimal_point.html).
#borrow(self)
pub extern "c" fn TabArray::get_decimal_point(
self : TabArray,
tab_index : Int,
) -> UInt = "moonbit_pango_tab_array_get_decimal_point"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.TabArray.get_positions_in_pixels.html).
#borrow(self)
pub extern "c" fn TabArray::get_positions_in_pixels(self : TabArray) -> Bool = "moonbit_pango_tab_array_get_positions_in_pixels"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.TabArray.get_size.html).
#borrow(self)
pub extern "c" fn TabArray::get_size(self : TabArray) -> Int = "moonbit_pango_tab_array_get_size"
///|
#borrow(self_, alignment, location)
extern "c" fn moonbit_pango_tab_array_get_tab(
self_ : TabArray,
tab_index : Int,
alignment : Ref[TabAlign],
location : Ref[Int],
) = "moonbit_pango_tab_array_get_tab"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.TabArray.get_tab.html).
pub fn TabArray::get_tab(self : TabArray, tab_index : Int) -> (TabAlign, Int) {
let alignment = Ref(TabAlign::Left)
let location = Ref(0)
moonbit_pango_tab_array_get_tab(self, tab_index, alignment, location)
(alignment.val, location.val)
}
///|
#borrow(self_, alignments, locations)
extern "c" fn moonbit_pango_tab_array_get_tabs(
self_ : TabArray,
alignments : Ref[FixedArray[TabAlign]],
locations : Ref[FixedArray[Int]],
) = "moonbit_pango_tab_array_get_tabs"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.TabArray.get_tabs.html).
pub fn TabArray::get_tabs(self : TabArray) -> (Array[TabAlign], Array[Int]) {
let alignments : Ref[FixedArray[TabAlign]] = Ref([])
let locations : Ref[FixedArray[Int]] = Ref([])
moonbit_pango_tab_array_get_tabs(self, alignments, locations)
let result : Array[TabAlign] = Array::new(capacity=alignments.val.length())
for i in 0.. Bytes = "moonbit_pango_tab_array_to_string"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.TabArray.to_string.html).
pub fn TabArray::to_string(self : TabArray) -> String {
@encoding/utf8.decode_lossy(moonbit_pango_tab_array_to_string(self))
}
///|
impl ITabArray with fn get_decimal_point(self, tab_index) -> UInt {
self.as_tab_array().get_decimal_point(tab_index)
}
///|
impl ITabArray with fn get_positions_in_pixels(self) -> Bool {
self.as_tab_array().get_positions_in_pixels()
}
///|
impl ITabArray with fn get_size(self) -> Int {
self.as_tab_array().get_size()
}
///|
impl ITabArray with fn get_tab(self, tab_index) -> (TabAlign, Int) {
self.as_tab_array().get_tab(tab_index)
}
///|
impl ITabArray with fn get_tabs(self) -> (Array[TabAlign], Array[Int]) {
self.as_tab_array().get_tabs()
}
///|
impl ITabArray with fn resize(self, new_size) -> Unit {
self.as_tab_array().resize(new_size)
}
///|
impl ITabArray with fn set_decimal_point(self, tab_index, decimal_point) -> Unit {
self.as_tab_array().set_decimal_point(tab_index, decimal_point)
}
///|
impl ITabArray with fn set_positions_in_pixels(self, positions_in_pixels) -> Unit {
self.as_tab_array().set_positions_in_pixels(positions_in_pixels)
}
///|
impl ITabArray with fn set_tab(self, tab_index, alignment, location) -> Unit {
self.as_tab_array().set_tab(tab_index, alignment, location)
}
///|
impl ITabArray with fn sort(self) -> Unit {
self.as_tab_array().sort()
}
///|
impl ITabArray with fn to_string(self) -> String {
self.as_tab_array().to_string()
}