// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/class.Renderer.html).
pub type Renderer
///|
pub(open) trait IRenderer {
fn as_renderer(Self) -> Renderer
fn activate(Self) -> Unit = _
fn deactivate(Self) -> Unit = _
fn draw_error_underline(Self, Int, Int, Int, Int) -> Unit = _
fn draw_glyph(Self, &IFont, Glyph, Double, Double) -> Unit = _
fn draw_glyph_item(Self, String?, GlyphItem, Int, Int) -> Unit = _
fn draw_glyphs(Self, &IFont, GlyphString, Int, Int) -> Unit = _
fn draw_layout(Self, &ILayout, Int, Int) -> Unit = _
fn draw_layout_line(Self, LayoutLine, Int, Int) -> Unit = _
fn draw_rectangle(Self, RenderPart, Int, Int, Int, Int) -> Unit = _
fn draw_trapezoid(
Self,
RenderPart,
Double,
Double,
Double,
Double,
Double,
Double,
) -> Unit = _
fn get_alpha(Self, RenderPart) -> UInt = _
fn get_color(Self, RenderPart) -> Color? = _
fn get_layout(Self) -> Layout? = _
fn get_layout_line(Self) -> LayoutLine? = _
fn get_matrix(Self) -> Matrix? = _
fn part_changed(Self, RenderPart) -> Unit = _
fn set_alpha(Self, RenderPart, UInt) -> Unit = _
fn set_color(Self, RenderPart, Color?) -> Unit = _
fn set_matrix(Self, Matrix?) -> Unit = _
}
///|
pub impl IRenderer for Renderer with fn as_renderer(self) {
self
}
///|
/// Implementation contract for Renderer.begin. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererBegin {
fn begin(Self, Renderer) -> Unit
}
///|
/// Implementation contract for Renderer.draw_error_underline. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererDrawErrorUnderline {
fn draw_error_underline(Self, Renderer, Int, Int, Int, Int) -> Unit
}
///|
/// Implementation contract for Renderer.draw_glyph. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererDrawGlyph {
fn draw_glyph(Self, Renderer, &IFont, Glyph, Double, Double) -> Unit
}
///|
/// Implementation contract for Renderer.draw_glyph_item. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererDrawGlyphItem {
fn draw_glyph_item(Self, Renderer, String?, GlyphItem, Int, Int) -> Unit
}
///|
/// Implementation contract for Renderer.draw_glyphs. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererDrawGlyphs {
fn draw_glyphs(Self, Renderer, &IFont, GlyphString, Int, Int) -> Unit
}
///|
/// Implementation contract for Renderer.draw_rectangle. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererDrawRectangle {
fn draw_rectangle(Self, Renderer, RenderPart, Int, Int, Int, Int) -> Unit
}
///|
/// Implementation contract for Renderer.draw_shape. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererDrawShape {
fn draw_shape(Self, Renderer, AttrShape, Int, Int) -> Unit
}
///|
/// Implementation contract for Renderer.draw_trapezoid. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererDrawTrapezoid {
fn draw_trapezoid(
Self,
Renderer,
RenderPart,
Double,
Double,
Double,
Double,
Double,
Double,
) -> Unit
}
///|
/// Implementation contract for Renderer.end. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererEnd {
fn end(Self, Renderer) -> Unit
}
///|
/// Implementation contract for Renderer.part_changed. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererPartChanged {
fn part_changed(Self, Renderer, RenderPart) -> Unit
}
///|
/// Implementation contract for Renderer.prepare_run. Self is the retained MoonBit state; the second parameter is the invoked Renderer object.
pub(open) trait VRendererPrepareRun {
fn prepare_run(Self, Renderer, LayoutRun) -> Unit
}
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.activate.html).
#borrow(self)
pub extern "c" fn Renderer::activate(self : Renderer) = "moonbit_pango_renderer_activate"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.deactivate.html).
#borrow(self)
pub extern "c" fn Renderer::deactivate(self : Renderer) = "moonbit_pango_renderer_deactivate"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.draw_error_underline.html).
#borrow(self)
pub extern "c" fn Renderer::draw_error_underline(
self : Renderer,
x : Int,
y : Int,
width : Int,
height : Int,
) = "moonbit_pango_renderer_draw_error_underline"
///|
#borrow(self_, font)
extern "c" fn moonbit_pango_renderer_draw_glyph(
self_ : Renderer,
font : Font,
glyph : UInt,
x : Double,
y : Double,
) = "moonbit_pango_renderer_draw_glyph"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.draw_glyph.html).
pub fn Renderer::draw_glyph(
self : Renderer,
font : &IFont,
glyph : Glyph,
x : Double,
y : Double,
) -> Unit {
moonbit_pango_renderer_draw_glyph(self, font.as_font(), glyph, x, y)
}
///|
#borrow(self_, text, glyph_item)
extern "c" fn moonbit_pango_renderer_draw_glyph_item(
self_ : Renderer,
text : @glib.Nullable[Bytes],
glyph_item : GlyphItem,
x : Int,
y : Int,
) = "moonbit_pango_renderer_draw_glyph_item"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.draw_glyph_item.html).
pub fn Renderer::draw_glyph_item(
self : Renderer,
text : String?,
glyph_item : GlyphItem,
x : Int,
y : Int,
) -> Unit {
moonbit_pango_renderer_draw_glyph_item(
self,
match text {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
glyph_item,
x,
y,
)
}
///|
#borrow(self_, font, glyphs)
extern "c" fn moonbit_pango_renderer_draw_glyphs(
self_ : Renderer,
font : Font,
glyphs : GlyphString,
x : Int,
y : Int,
) = "moonbit_pango_renderer_draw_glyphs"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.draw_glyphs.html).
pub fn Renderer::draw_glyphs(
self : Renderer,
font : &IFont,
glyphs : GlyphString,
x : Int,
y : Int,
) -> Unit {
moonbit_pango_renderer_draw_glyphs(self, font.as_font(), glyphs, x, y)
}
///|
#borrow(self_, layout)
extern "c" fn moonbit_pango_renderer_draw_layout(
self_ : Renderer,
layout : Layout,
x : Int,
y : Int,
) = "moonbit_pango_renderer_draw_layout"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.draw_layout.html).
pub fn Renderer::draw_layout(
self : Renderer,
layout : &ILayout,
x : Int,
y : Int,
) -> Unit {
moonbit_pango_renderer_draw_layout(self, layout.as_layout(), x, y)
}
///|
#borrow(self_, line)
extern "c" fn moonbit_pango_renderer_draw_layout_line(
self_ : Renderer,
line : LayoutLine,
x : Int,
y : Int,
) = "moonbit_pango_renderer_draw_layout_line"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.draw_layout_line.html).
pub fn Renderer::draw_layout_line(
self : Renderer,
line : LayoutLine,
x : Int,
y : Int,
) -> Unit {
moonbit_pango_renderer_draw_layout_line(self, line, x, y)
}
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.draw_rectangle.html).
#borrow(self)
pub extern "c" fn Renderer::draw_rectangle(
self : Renderer,
part : RenderPart,
x : Int,
y : Int,
width : Int,
height : Int,
) = "moonbit_pango_renderer_draw_rectangle"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.draw_trapezoid.html).
#borrow(self)
pub extern "c" fn Renderer::draw_trapezoid(
self : Renderer,
part : RenderPart,
y1_ : Double,
x11 : Double,
x21 : Double,
y2 : Double,
x12 : Double,
x22 : Double,
) = "moonbit_pango_renderer_draw_trapezoid"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.get_alpha.html).
#borrow(self)
pub extern "c" fn Renderer::get_alpha(
self : Renderer,
part : RenderPart,
) -> UInt = "moonbit_pango_renderer_get_alpha"
///|
#borrow(self_)
extern "c" fn moonbit_pango_renderer_get_color(
self_ : Renderer,
part : RenderPart,
) -> @glib.Nullable[Color] = "moonbit_pango_renderer_get_color"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.get_color.html).
pub fn Renderer::get_color(self : Renderer, part : RenderPart) -> Color? {
let raw_result = moonbit_pango_renderer_get_color(self, part)
raw_result.to_option()
}
///|
#borrow(self_)
extern "c" fn moonbit_pango_renderer_get_layout(
self_ : Renderer,
) -> @glib.Nullable[Layout] = "moonbit_pango_renderer_get_layout"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.get_layout.html).
pub fn Renderer::get_layout(self : Renderer) -> Layout? {
let raw_result = moonbit_pango_renderer_get_layout(self)
raw_result.to_option()
}
///|
#borrow(self_)
extern "c" fn moonbit_pango_renderer_get_layout_line(
self_ : Renderer,
) -> @glib.Nullable[LayoutLine] = "moonbit_pango_renderer_get_layout_line"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.get_layout_line.html).
pub fn Renderer::get_layout_line(self : Renderer) -> LayoutLine? {
let raw_result = moonbit_pango_renderer_get_layout_line(self)
raw_result.to_option()
}
///|
#borrow(self_)
extern "c" fn moonbit_pango_renderer_get_matrix(
self_ : Renderer,
) -> @glib.Nullable[Matrix] = "moonbit_pango_renderer_get_matrix"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.get_matrix.html).
pub fn Renderer::get_matrix(self : Renderer) -> Matrix? {
let raw_result = moonbit_pango_renderer_get_matrix(self)
raw_result.to_option()
}
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.part_changed.html).
#borrow(self)
pub extern "c" fn Renderer::part_changed(self : Renderer, part : RenderPart) = "moonbit_pango_renderer_part_changed"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.set_alpha.html).
#borrow(self)
pub extern "c" fn Renderer::set_alpha(
self : Renderer,
part : RenderPart,
alpha : UInt,
) = "moonbit_pango_renderer_set_alpha"
///|
#borrow(self_, color)
extern "c" fn moonbit_pango_renderer_set_color(
self_ : Renderer,
part : RenderPart,
color : @glib.Nullable[Color],
) = "moonbit_pango_renderer_set_color"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.set_color.html).
pub fn Renderer::set_color(
self : Renderer,
part : RenderPart,
color : Color?,
) -> Unit {
moonbit_pango_renderer_set_color(
self,
part,
match color {
Some(v) => @glib.Nullable::some(v)
None => @glib.Nullable::null()
},
)
}
///|
#borrow(self_, matrix)
extern "c" fn moonbit_pango_renderer_set_matrix(
self_ : Renderer,
matrix : @glib.Nullable[Matrix],
) = "moonbit_pango_renderer_set_matrix"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Renderer.set_matrix.html).
pub fn Renderer::set_matrix(self : Renderer, matrix : Matrix?) -> Unit {
moonbit_pango_renderer_set_matrix(
self,
match matrix {
Some(v) => @glib.Nullable::some(v)
None => @glib.Nullable::null()
},
)
}
///|
impl IRenderer with fn activate(self) -> Unit {
self.as_renderer().activate()
}
///|
impl IRenderer with fn deactivate(self) -> Unit {
self.as_renderer().deactivate()
}
///|
impl IRenderer with fn draw_error_underline(self, x, y, width, height) -> Unit {
self.as_renderer().draw_error_underline(x, y, width, height)
}
///|
impl IRenderer with fn draw_glyph(self, font, glyph, x, y) -> Unit {
self.as_renderer().draw_glyph(font, glyph, x, y)
}
///|
impl IRenderer with fn draw_glyph_item(self, text, glyph_item, x, y) -> Unit {
self.as_renderer().draw_glyph_item(text, glyph_item, x, y)
}
///|
impl IRenderer with fn draw_glyphs(self, font, glyphs, x, y) -> Unit {
self.as_renderer().draw_glyphs(font, glyphs, x, y)
}
///|
impl IRenderer with fn draw_layout(self, layout, x, y) -> Unit {
self.as_renderer().draw_layout(layout, x, y)
}
///|
impl IRenderer with fn draw_layout_line(self, line, x, y) -> Unit {
self.as_renderer().draw_layout_line(line, x, y)
}
///|
impl IRenderer with fn draw_rectangle(self, part, x, y, width, height) -> Unit {
self.as_renderer().draw_rectangle(part, x, y, width, height)
}
///|
impl IRenderer with fn draw_trapezoid(self, part, y1_, x11, x21, y2, x12, x22) -> Unit {
self.as_renderer().draw_trapezoid(part, y1_, x11, x21, y2, x12, x22)
}
///|
impl IRenderer with fn get_alpha(self, part) -> UInt {
self.as_renderer().get_alpha(part)
}
///|
impl IRenderer with fn get_color(self, part) -> Color? {
self.as_renderer().get_color(part)
}
///|
impl IRenderer with fn get_layout(self) -> Layout? {
self.as_renderer().get_layout()
}
///|
impl IRenderer with fn get_layout_line(self) -> LayoutLine? {
self.as_renderer().get_layout_line()
}
///|
impl IRenderer with fn get_matrix(self) -> Matrix? {
self.as_renderer().get_matrix()
}
///|
impl IRenderer with fn part_changed(self, part) -> Unit {
self.as_renderer().part_changed(part)
}
///|
impl IRenderer with fn set_alpha(self, part, alpha) -> Unit {
self.as_renderer().set_alpha(part, alpha)
}
///|
impl IRenderer with fn set_color(self, part, color) -> Unit {
self.as_renderer().set_color(part, color)
}
///|
impl IRenderer with fn set_matrix(self, matrix) -> Unit {
self.as_renderer().set_matrix(matrix)
}
///|
pub fn Renderer::as_gobject_object(self : Renderer) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for Renderer with fn as_object(self) {
self.as_gobject_object()
}