// Generated by gmmproc 2.49.5 -- DO NOT MODIFY! #include #include #include // -*- c++ -*- /* $Id: fontset.ccg,v 1.5 2006/05/11 11:40:24 murrayc Exp $ */ /* * * Copyright 2001 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. */ static gboolean fontset_foreach_callback(PangoFontset* /* fontset */, PangoFont* font, gpointer data) { #ifdef GLIBMM_EXCEPTIONS_ENABLED try { #endif //GLIBMM_EXCEPTIONS_ENABLED Pango::Fontset::ForeachSlot& slot = *static_cast(data); Glib::RefPtr cppFont = Glib::wrap(font, true /* take_copy */); return slot(cppFont); #ifdef GLIBMM_EXCEPTIONS_ENABLED } catch(...) { Glib::exception_handlers_invoke(); } return false; //arbitrary default #endif //GLIBMM_EXCEPTIONS_ENABLED } namespace Pango { void Fontset::foreach(const ForeachSlot& slot) { pango_fontset_foreach(gobj(), &fontset_foreach_callback, (void*)&slot); } } //namespace namespace { } // anonymous namespace namespace Glib { Glib::RefPtr wrap(PangoFontset* object, bool take_copy) { return Glib::RefPtr( dynamic_cast (Glib::wrap_auto ((GObject*)(object), take_copy)) ); //We use dynamic_cast<> in case of multiple inheritance. } } /* namespace Glib */ namespace Pango { /* The *_Class implementation: */ const Glib::Class& Fontset_Class::init() { if(!gtype_) // create the GType if necessary { // Glib::Class has to know the class init function to clone custom types. class_init_func_ = &Fontset_Class::class_init_function; // This is actually just optimized away, apparently with no harm. // Make sure that the parent type has been created. //CppClassParent::CppObjectType::get_type(); // Create the wrapper type, with the same class/instance size as the base type. register_derived_type(pango_fontset_get_type()); // Add derived versions of interfaces, if the C type implements any interfaces: } return *this; } void Fontset_Class::class_init_function(void* g_class, void* class_data) { const auto klass = static_cast(g_class); CppClassParent::class_init_function(klass, class_data); } Glib::ObjectBase* Fontset_Class::wrap_new(GObject* object) { return new Fontset((PangoFontset*)object); } /* The implementation: */ PangoFontset* Fontset::gobj_copy() { reference(); return gobj(); } Fontset::Fontset(const Glib::ConstructParams& construct_params) : Glib::Object(construct_params) { } Fontset::Fontset(PangoFontset* castitem) : Glib::Object((GObject*)(castitem)) {} Fontset::Fontset(Fontset&& src) noexcept : Glib::Object(std::move(src)) {} Fontset& Fontset::operator=(Fontset&& src) noexcept { Glib::Object::operator=(std::move(src)); return *this; } Fontset::~Fontset() noexcept {} Fontset::CppClassType Fontset::fontset_class_; // initialize static member GType Fontset::get_type() { return fontset_class_.init().get_type(); } GType Fontset::get_base_type() { return pango_fontset_get_type(); } Glib::RefPtr Fontset::get_font(guint wc) const { return Glib::wrap(pango_fontset_get_font(const_cast(gobj()), wc)); } FontMetrics Fontset::get_metrics() const { return FontMetrics((pango_fontset_get_metrics(const_cast(gobj())))); } } // namespace Pango