// Generated by gmmproc 2.49.5 -- DO NOT MODIFY! #include #include #include /* * Copyright 2002 The gtkmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include namespace Pango { } /* namespace Pango */ namespace { } // anonymous namespace namespace Glib { Pango::LayoutRun wrap(PangoGlyphItem* object, bool take_copy) { return Pango::LayoutRun(object, take_copy); } } // namespace Glib namespace Pango { // static GType LayoutRun::get_type() { return pango_glyph_item_get_type(); } LayoutRun::LayoutRun() : gobject_ (nullptr) // Allows creation of invalid wrapper, e.g. for output arguments to methods. {} LayoutRun::LayoutRun(const LayoutRun& other) : gobject_ ((other.gobject_) ? pango_glyph_item_copy(other.gobject_) : nullptr) {} LayoutRun::LayoutRun(LayoutRun&& other) noexcept : gobject_(other.gobject_) { other.gobject_ = nullptr; } LayoutRun& LayoutRun::operator=(LayoutRun&& other) noexcept { LayoutRun temp (other); swap(temp); return *this; } LayoutRun::LayoutRun(PangoGlyphItem* gobject, bool make_a_copy) : // For BoxedType wrappers, make_a_copy is true by default. The static // BoxedType wrappers must always take a copy, thus make_a_copy = true // ensures identical behaviour if the default argument is used. gobject_ ((make_a_copy && gobject) ? pango_glyph_item_copy(gobject) : gobject) {} LayoutRun& LayoutRun::operator=(const LayoutRun& other) { LayoutRun temp (other); swap(temp); return *this; } LayoutRun::~LayoutRun() noexcept { if(gobject_) pango_glyph_item_free(gobject_); } void LayoutRun::swap(LayoutRun& other) noexcept { std::swap(gobject_, other.gobject_); } PangoGlyphItem* LayoutRun::gobj_copy() const { return pango_glyph_item_copy(gobject_); } GlyphItem LayoutRun::split(const Glib::ustring& text, int split_index) { return GlyphItem((pango_glyph_item_split(gobj(), text.c_str(), split_index))); } void LayoutRun::letter_space(const Glib::ustring& text, const LogAttr& log_attrs, int letter_spacing) { pango_glyph_item_letter_space(gobj(), text.c_str(), &(const_cast(log_attrs)), letter_spacing); } Item LayoutRun::get_item() const { return Item((gobj()->item)); } GlyphString LayoutRun::get_glyphs() const { return GlyphString((gobj()->glyphs)); } } // namespace Pango