// -*- c++ -*-
// Generated by gtkmmproc -- DO NOT MODIFY!
#ifndef _GTKMM_TEXTATTRIBUTES_H
#define _GTKMM_TEXTATTRIBUTES_H

#include <glibmm.h>

/* $Id: textattributes.hg,v 1.9 2002/10/11 18:05:59 murrayc Exp $ */

/* textattributes.h
 *
 * Copyright(C) 1998-2002 The gtkmm Development Team
 *
 * This library is free software, ) you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation, ) either
 * version 2 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
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library, ) if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */


#ifndef DOXYGEN_SHOULD_SKIP_THIS
extern "C" { typedef struct _GtkTextAttributes GtkTextAttributes; }
#endif

namespace Gtk
{

/**
 * @ingroup TextView
 */
class TextAttributes
{
  public:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
  typedef TextAttributes CppObjectType;
  typedef GtkTextAttributes BaseObjectType;

  static GType get_type() G_GNUC_CONST;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */

  TextAttributes();

  explicit TextAttributes(GtkTextAttributes* gobject, bool make_a_copy = true);

  TextAttributes(const TextAttributes& other);
  TextAttributes& operator=(const TextAttributes& other);

  ~TextAttributes();

  void swap(TextAttributes& other);

  ///Provides access to the underlying C instance.
  GtkTextAttributes*       gobj()       { return gobject_; }

  ///Provides access to the underlying C instance.
  const GtkTextAttributes* gobj() const { return gobject_; }

  // The caller is responsible for freeing it. Use when directly setting fields in structs.
  GtkTextAttributes* gobj_copy() const;

protected:
  GtkTextAttributes* gobject_;

private:

public:


};

} //namespace Gtk


namespace Gtk
{

/** @relates Gtk::TextAttributes */
inline void swap(TextAttributes& lhs, TextAttributes& rhs)
  { lhs.swap(rhs); }

} // namespace Gtk

namespace Glib
{

/** @relates Gtk::TextAttributes */
Gtk::TextAttributes wrap(GtkTextAttributes* object, bool take_copy = false);

#ifndef DOXYGEN_SHOULD_SKIP_THIS
template <>
class Value<Gtk::TextAttributes> : public Glib::Value_Boxed<Gtk::TextAttributes>
{};
#endif /* DOXYGEN_SHOULD_SKIP_THIS */

} // namespace Glib

#endif /* _GTKMM_TEXTATTRIBUTES_H */

