Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 78653db2e4148c15abb94d33af2851c6 > files > 34

gts-devel-0.7.6-15.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Object class</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="GTS Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Geometrical Object Hierarchy"
HREF="c2915.html"><LINK
REL="PREVIOUS"
TITLE="Geometrical Object Hierarchy"
HREF="c2915.html"><LINK
REL="NEXT"
TITLE="Container classes"
HREF="gts-container-classes.html"><STYLE
TYPE="text/css"
>.synopsis, .classsynopsis {
    background: #eeeeee;
    border: solid 1px #aaaaaa;
    padding: 0.5em;
}
.programlisting {
    background: #eeeeff;
    border: solid 1px #aaaaff;
    padding: 0.5em;
}
.variablelist {
    padding: 4px;
    margin-left: 3em;
}
.navigation {
    background: #ffeeee;
    border: solid 1px #ffaaaa;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.navigation a {
    color: #770000;
}
.navigation a:visited {
    color: #550000;
}
.navigation .title {
    font-size: 200%;
}</STYLE
></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><TABLE
WIDTH="100%"
CLASS="navigation"
SUMMARY="Navigation header"
CELLPADDING="2"
CELLSPACING="2"
><TR
VALIGN="middle"
><TD
><A
ACCESSKEY="p"
HREF="c2915.html"
><IMG
SRC="left.png"
WIDTH="24"
HEIGHT="24"
BORDER="0"
ALT="Prev"></A
></TD
><TD
><A
ACCESSKEY="u"
HREF="c2915.html"
><IMG
SRC="up.png"
WIDTH="24"
HEIGHT="24"
BORDER="0"
ALT="Up"></A
></TD
><TD
><A
ACCESSKEY="h"
HREF="book1.html"
><IMG
SRC="home.png"
WIDTH="24"
HEIGHT="24"
BORDER="0"
ALT="Home"></A
></TD
><TH
WIDTH="100%"
align="center"
>GTS Library Reference Manual</TH
><TD
><A
ACCESSKEY="n"
HREF="gts-container-classes.html"
><IMG
SRC="right.png"
WIDTH="24"
HEIGHT="24"
BORDER="0"
ALT="Next"></A
></TD
></TR
></TABLE
><H1
><A
NAME="GTS-OBJECT-CLASS"
></A
>Object class</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2926"
></A
><H2
>Name</H2
>Object class&nbsp;--&nbsp;parent class for all GTS objects.</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2929"
></A
><H2
>Synopsis</H2
><PRE
CLASS="SYNOPSIS"
>&#13;#include &lt;gts.h&gt;


#define     <A
HREF="gts-object-class.html#GTS-CLASS-NAME-LENGTH:CAPS"
>GTS_CLASS_NAME_LENGTH</A
>
#define     <A
HREF="gts-object-class.html#GTS-OBJECT-CLASS:CAPS"
>GTS_OBJECT_CLASS</A
>                (klass)
#define     <A
HREF="gts-object-class.html#GTS-OBJECT:CAPS"
>GTS_OBJECT</A
>                      (obj)
#define     <A
HREF="gts-object-class.html#GTS-IS-OBJECT:CAPS"
>GTS_IS_OBJECT</A
>                   (obj)
#define     <A
HREF="gts-object-class.html#GTS-OBJECT-CLASS-CAST:CAPS"
>GTS_OBJECT_CLASS_CAST</A
>           (objklass, type, klass)
#define     <A
HREF="gts-object-class.html#GTS-OBJECT-CAST:CAPS"
>GTS_OBJECT_CAST</A
>                 (obj, type, klass)
#define     <A
HREF="gts-object-class.html#GTS-OBJECT-FLAGS:CAPS"
>GTS_OBJECT_FLAGS</A
>                (obj)
#define     <A
HREF="gts-object-class.html#GTS-OBJECT-SET-FLAGS:CAPS"
>GTS_OBJECT_SET_FLAGS</A
>            (obj,flag)
#define     <A
HREF="gts-object-class.html#GTS-OBJECT-UNSET-FLAGS:CAPS"
>GTS_OBJECT_UNSET_FLAGS</A
>          (obj,flag)
#define     <A
HREF="gts-object-class.html#GTS-OBJECT-DESTROYED:CAPS"
>GTS_OBJECT_DESTROYED</A
>            (obj)

            <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
>;
            <A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
>;
            <A
HREF="gts-object-class.html#GTSOBJECTCLASSINFO"
>GtsObjectClassInfo</A
>;
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        (<A
HREF="gts-object-class.html#GTSOBJECTCLASSINITFUNC"
>*GtsObjectClassInitFunc</A
>)       (<A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
> *objclass);
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        (<A
HREF="gts-object-class.html#GTSOBJECTINITFUNC"
>*GtsObjectInitFunc</A
>)            (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *obj);
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        (<A
HREF="gts-object-class.html#GTSARGSETFUNC"
>*GtsArgSetFunc</A
>)                (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *obj);
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        (<A
HREF="gts-object-class.html#GTSARGGETFUNC"
>*GtsArgGetFunc</A
>)                (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *obj);
enum        <A
HREF="gts-object-class.html#GTSOBJECTFLAGS"
>GtsObjectFlags</A
>;
            <A
HREF="gts-object-class.html#GTSCOLOR"
>GtsColor</A
>;

<A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
>* <A
HREF="gts-object-class.html"
>gts_object_class</A
>            (void);
<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    <A
HREF="gts-object-class.html#GTS-OBJECT-CLASS-NEW"
>gts_object_class_new</A
>            (<A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
> *parent_class,
                                             <A
HREF="gts-object-class.html#GTSOBJECTCLASSINFO"
>GtsObjectClassInfo</A
> *info);
<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    <A
HREF="gts-object-class.html#GTS-OBJECT-CLASS-CHECK-CAST"
>gts_object_class_check_cast</A
>     (<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> klass,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> from);
<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    <A
HREF="gts-object-class.html#GTS-OBJECT-CLASS-IS-FROM-CLASS"
>gts_object_class_is_from_class</A
>  (<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> klass,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> from);
<A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
>* <A
HREF="gts-object-class.html#GTS-OBJECT-CLASS-FROM-NAME"
>gts_object_class_from_name</A
>  (const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *name);
<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
>*  <A
HREF="gts-object-class.html#GTS-OBJECT-NEW"
>gts_object_new</A
>                  (<A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
> *klass);
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        <A
HREF="gts-object-class.html#GTS-OBJECT-INIT"
>gts_object_init</A
>                 (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object,
                                             <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
> *klass);
<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
>*  <A
HREF="gts-object-class.html#GTS-OBJECT-CLONE"
>gts_object_clone</A
>                (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object);
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        <A
HREF="gts-object-class.html#GTS-OBJECT-ATTRIBUTES"
>gts_object_attributes</A
>           (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object,
                                             <A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *from);
<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    <A
HREF="gts-object-class.html#GTS-OBJECT-CHECK-CAST"
>gts_object_check_cast</A
>           (<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> object,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> klass);
<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    <A
HREF="gts-object-class.html#GTS-OBJECT-IS-FROM-CLASS"
>gts_object_is_from_class</A
>        (<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> object,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> klass);
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        <A
HREF="gts-object-class.html#GTS-OBJECT-RESET-RESERVED"
>gts_object_reset_reserved</A
>       (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object);
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        <A
HREF="gts-object-class.html#GTS-OBJECT-DESTROY"
>gts_object_destroy</A
>              (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object);
<GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        <A
HREF="gts-object-class.html#GTS-FINALIZE"
>gts_finalize</A
>                    (void);</PRE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3006"
></A
><H2
>Description</H2
><P
>All GTS objects are derived from this base class. Objects of any class can be constructed using the <A
HREF="gts-object-class.html#GTS-OBJECT-NEW"
><CODE
CLASS="FUNCTION"
>gts_object_new()</CODE
></A
> function and destroyed using the <A
HREF="gts-object-class.html#GTS-OBJECT-DESTROY"
><CODE
CLASS="FUNCTION"
>gts_object_destroy()</CODE
></A
> function. Default virtual methods include <GTKDOCLINK
HREF="READ"
><CODE
CLASS="FUNCTION"
>read()</CODE
></GTKDOCLINK
> and <GTKDOCLINK
HREF="WRITE"
><CODE
CLASS="FUNCTION"
>write()</CODE
></GTKDOCLINK
> functions which can be used to read or write associated objects attributes from or to GTS geometrical files.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN3017"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN3019"
></A
><H3
><A
NAME="GTS-CLASS-NAME-LENGTH:CAPS"
></A
>GTS_CLASS_NAME_LENGTH</H3
><PRE
CLASS="PROGRAMLISTING"
>#define GTS_CLASS_NAME_LENGTH 40</PRE
><P
>Maximum class name length for <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3028"
></A
><H3
><A
NAME="GTS-OBJECT-CLASS:CAPS"
></A
>GTS_OBJECT_CLASS()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define     GTS_OBJECT_CLASS(klass)</PRE
><P
>Casts <CODE
CLASS="PARAMETER"
>klass</CODE
> to <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3039"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3046"
></A
><H3
><A
NAME="GTS-OBJECT:CAPS"
></A
>GTS_OBJECT()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define     GTS_OBJECT(obj)</PRE
><P
>Casts <CODE
CLASS="PARAMETER"
>obj</CODE
> to <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3057"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3064"
></A
><H3
><A
NAME="GTS-IS-OBJECT:CAPS"
></A
>GTS_IS_OBJECT()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define     GTS_IS_OBJECT(obj)</PRE
><P
>Evaluates to <TT
CLASS="LITERAL"
>TRUE</TT
> if <CODE
CLASS="PARAMETER"
>obj</CODE
> is a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>, <TT
CLASS="LITERAL"
>FALSE</TT
> otherwise.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3077"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a pointer to test.
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3082"
></A
><H3
><A
NAME="GTS-OBJECT-CLASS-CAST:CAPS"
></A
>GTS_OBJECT_CLASS_CAST()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define     GTS_OBJECT_CLASS_CAST(objklass, type, klass)</PRE
><P
>This macro is used to define casting macros for object classes. You should need it only when writing new object class functions.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3090"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>objklass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3097"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>type</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>The class type to cast <CODE
CLASS="PARAMETER"
>objklass</CODE
> to (example: GtsObjectClass).</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3103"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>the class to cast <CODE
CLASS="PARAMETER"
>objklass</CODE
> to (example: <A
HREF="gts-object-class.html"
><CODE
CLASS="FUNCTION"
>gts_object_class()</CODE
></A
>).
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3111"
></A
><H3
><A
NAME="GTS-OBJECT-CAST:CAPS"
></A
>GTS_OBJECT_CAST()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define     GTS_OBJECT_CAST(obj, type, klass)</PRE
><P
>This macro is used to define casting macros for object. You should need it only when writing new object functions.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3119"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3126"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>type</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>the object type to cast <CODE
CLASS="PARAMETER"
>obj</CODE
> to (example: GtsObject).</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3132"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>the object class to cast <CODE
CLASS="PARAMETER"
>obj</CODE
> to (example: <GTKDOCLINK
HREF="GTS-OBJECT"
><CODE
CLASS="FUNCTION"
>gts_object()</CODE
></GTKDOCLINK
>).
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3140"
></A
><H3
><A
NAME="GTS-OBJECT-FLAGS:CAPS"
></A
>GTS_OBJECT_FLAGS()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define GTS_OBJECT_FLAGS(obj)             (GTS_OBJECT (obj)-&gt;flags)</PRE
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3148"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3153"
></A
><H3
><A
NAME="GTS-OBJECT-SET-FLAGS:CAPS"
></A
>GTS_OBJECT_SET_FLAGS()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define GTS_OBJECT_SET_FLAGS(obj,flag)	  G_STMT_START{ (GTS_OBJECT_FLAGS (obj) |= (flag)); }G_STMT_END</PRE
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3161"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
></P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3166"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>flag</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3171"
></A
><H3
><A
NAME="GTS-OBJECT-UNSET-FLAGS:CAPS"
></A
>GTS_OBJECT_UNSET_FLAGS()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define GTS_OBJECT_UNSET_FLAGS(obj,flag)  G_STMT_START{ (GTS_OBJECT_FLAGS (obj) &amp;= ~(flag)); }G_STMT_END</PRE
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3179"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
></P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3184"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>flag</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3189"
></A
><H3
><A
NAME="GTS-OBJECT-DESTROYED:CAPS"
></A
>GTS_OBJECT_DESTROYED()</H3
><PRE
CLASS="PROGRAMLISTING"
>#define GTS_OBJECT_DESTROYED(obj)         ((GTS_OBJECT_FLAGS (obj) &amp; GTS_DESTROYED) != 0)</PRE
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3197"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3202"
></A
><H3
><A
NAME="GTSOBJECTCLASS"
></A
>GtsObjectClass</H3
><PRE
CLASS="PROGRAMLISTING"
>typedef struct {
  GtsObjectClassInfo info;
  GtsObjectClass * parent_class;

  void        (* clone)      (GtsObject *, GtsObject *);
  void        (* destroy)    (GtsObject *);
  void        (* read)       (GtsObject **, GtsFile *);
  void        (* write)      (GtsObject *, FILE *);
  GtsColor    (* color)      (GtsObject *);
  void        (* attributes) (GtsObject *, GtsObject *);
} GtsObjectClass;</PRE
><P
>The base object class structure. All the virtual functions <CODE
CLASS="PARAMETER"
>clone</CODE
>, <CODE
CLASS="PARAMETER"
>destroy</CODE
>, <CODE
CLASS="PARAMETER"
>read</CODE
> and <CODE
CLASS="PARAMETER"
>write</CODE
> can be overloaded. The default <CODE
CLASS="PARAMETER"
>read</CODE
> and <CODE
CLASS="PARAMETER"
>write</CODE
> methods are undefined. The default <CODE
CLASS="PARAMETER"
>clone</CODE
> method just copies the object structure. The default <CODE
CLASS="PARAMETER"
>destroy</CODE
> method frees the memory allocated for a given object structure.</P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3217"
></A
><H3
><A
NAME="GTSOBJECT"
></A
>GtsObject</H3
><PRE
CLASS="PROGRAMLISTING"
>typedef struct {
  GtsObjectClass * klass;

  gpointer reserved;
  guint32 flags;
} GtsObject;</PRE
><P
>The base object structure.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3225"><SPAN
STYLE="white-space: nowrap"
><A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
>&nbsp;*<CODE
CLASS="STRUCTFIELD"
>klass</CODE
>;</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>The object class.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3231"><SPAN
STYLE="white-space: nowrap"
><GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>&nbsp;<CODE
CLASS="STRUCTFIELD"
>reserved</CODE
>;</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Used internally by the library.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3237"><SPAN
STYLE="white-space: nowrap"
><GTKDOCLINK
HREF="GUINT32"
>guint32</GTKDOCLINK
>&nbsp;<CODE
CLASS="STRUCTFIELD"
>flags</CODE
>;</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Used internally.&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3243"
></A
><H3
><A
NAME="GTSOBJECTCLASSINFO"
></A
>GtsObjectClassInfo</H3
><PRE
CLASS="PROGRAMLISTING"
>typedef struct {
  gchar name[GTS_CLASS_NAME_LENGTH];
  guint object_size;
  guint class_size;
  GtsObjectClassInitFunc class_init_func;
  GtsObjectInitFunc object_init_func;
  GtsArgSetFunc arg_set_func;
  GtsArgGetFunc arg_get_func;
} GtsObjectClassInfo;</PRE
><P
>Informations about a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>, including name, size of the object structure to be allocated when constructing the object, size of the object class structure to be allocated when instanciating the object class, class initialization function, object initialization function.</P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3252"
></A
><H3
><A
NAME="GTSOBJECTCLASSINITFUNC"
></A
>GtsObjectClassInitFunc ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        (*GtsObjectClassInitFunc)       (<A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
> *objclass);</PRE
><P
>A function to call to initialize an object class.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3262"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>objclass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
> to be initialized.
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3269"
></A
><H3
><A
NAME="GTSOBJECTINITFUNC"
></A
>GtsObjectInitFunc ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        (*GtsObjectInitFunc)            (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *obj);</PRE
><P
>A function to call to initialize an object.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3279"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3286"
></A
><H3
><A
NAME="GTSARGSETFUNC"
></A
>GtsArgSetFunc ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        (*GtsArgSetFunc)                (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *obj);</PRE
><P
>Defined for future use.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3296"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3303"
></A
><H3
><A
NAME="GTSARGGETFUNC"
></A
>GtsArgGetFunc ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        (*GtsArgGetFunc)                (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *obj);</PRE
><P
>Defined for future use.</P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3313"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>obj</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.
&#13;</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3320"
></A
><H3
><A
NAME="GTSOBJECTFLAGS"
></A
>enum GtsObjectFlags</H3
><PRE
CLASS="PROGRAMLISTING"
>typedef enum
{
  GTS_DESTROYED         = 1 &lt;&lt; 0,
  GTS_USER_FLAG         = 1 /* user flags start from here */
} GtsObjectFlags;</PRE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3327"
></A
><H3
><A
NAME="GTSCOLOR"
></A
>GtsColor</H3
><PRE
CLASS="PROGRAMLISTING"
>typedef struct {
  gfloat r, g, b;
} GtsColor;</PRE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3334"
></A
><H3
><A
NAME="GTS-OBJECT-CLASS"
></A
>gts_object_class ()</H3
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
>* gts_object_class            (void);</PRE
><P
></P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3344"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> the <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3351"
></A
><H3
><A
NAME="GTS-OBJECT-CLASS-NEW"
></A
>gts_object_class_new ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    gts_object_class_new            (<A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
> *parent_class,
                                             <A
HREF="gts-object-class.html#GTSOBJECTCLASSINFO"
>GtsObjectClassInfo</A
> *info);</PRE
><P
></P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3363"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>parent_class</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3370"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>info</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASSINFO"
><SPAN
CLASS="TYPE"
>GtsObjectClassInfo</SPAN
></A
>, description of the new class to create.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3377"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a new <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
> derived from <CODE
CLASS="PARAMETER"
>parent_class</CODE
> and described by
<CODE
CLASS="PARAMETER"
>info</CODE
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3386"
></A
><H3
><A
NAME="GTS-OBJECT-CLASS-CHECK-CAST"
></A
>gts_object_class_check_cast ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    gts_object_class_check_cast     (<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> klass,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> from);</PRE
><P
></P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3398"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3405"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>from</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3412"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> <CODE
CLASS="PARAMETER"
>klass</CODE
> while emitting warnings if <CODE
CLASS="PARAMETER"
>klass</CODE
> is not derived from
<CODE
CLASS="PARAMETER"
>from</CODE
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3420"
></A
><H3
><A
NAME="GTS-OBJECT-CLASS-IS-FROM-CLASS"
></A
>gts_object_class_is_from_class ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    gts_object_class_is_from_class  (<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> klass,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> from);</PRE
><P
></P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3432"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3439"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>from</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3446"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> <CODE
CLASS="PARAMETER"
>klass</CODE
> if <CODE
CLASS="PARAMETER"
>klass</CODE
> is equal to <CODE
CLASS="PARAMETER"
>from</CODE
> or if <CODE
CLASS="PARAMETER"
>klass</CODE
> is derived
from <CODE
CLASS="PARAMETER"
>from</CODE
>, <TT
CLASS="LITERAL"
>NULL</TT
> otherwise.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3457"
></A
><H3
><A
NAME="GTS-OBJECT-CLASS-FROM-NAME"
></A
>gts_object_class_from_name ()</H3
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
>* gts_object_class_from_name  (const <GTKDOCLINK
HREF="GCHAR"
>gchar</GTKDOCLINK
> *name);</PRE
><P
></P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3468"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>name</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> the name of a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3475"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> the <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
> with name <CODE
CLASS="PARAMETER"
>name</CODE
> or <TT
CLASS="LITERAL"
>NULL</TT
> if it hasn't been 
instantiated yet.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3484"
></A
><H3
><A
NAME="GTS-OBJECT-NEW"
></A
>gts_object_new ()</H3
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
>*  gts_object_new                  (<A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
> *klass);</PRE
><P
></P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3495"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3502"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a new initialized object of class <CODE
CLASS="PARAMETER"
>klass</CODE
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3508"
></A
><H3
><A
NAME="GTS-OBJECT-INIT"
></A
>gts_object_init ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        gts_object_init                 (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object,
                                             <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
>GtsObjectClass</A
> *klass);</PRE
><P
>Calls the init method of <CODE
CLASS="PARAMETER"
>klass</CODE
> with <CODE
CLASS="PARAMETER"
>object</CODE
> as argument. This is done 
recursively in the correct order (from the base class to the top). You
should rarely need this function as it is called automatically by the
constructor for each class.</P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3522"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>object</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3529"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3536"
></A
><H3
><A
NAME="GTS-OBJECT-CLONE"
></A
>gts_object_clone ()</H3
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
>*  gts_object_clone                (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object);</PRE
><P
>Calls the clone method of <CODE
CLASS="PARAMETER"
>object</CODE
>. The call to this function will fail
if no clone method exists for the given object.</P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3548"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>object</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3555"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a new object clone of <CODE
CLASS="PARAMETER"
>object</CODE
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3561"
></A
><H3
><A
NAME="GTS-OBJECT-ATTRIBUTES"
></A
>gts_object_attributes ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        gts_object_attributes           (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object,
                                             <A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *from);</PRE
><P
>Calls the <GTKDOCLINK
HREF="ATTRIBUTES"
><CODE
CLASS="FUNCTION"
>attributes()</CODE
></GTKDOCLINK
> method of <CODE
CLASS="PARAMETER"
>object</CODE
> using <CODE
CLASS="PARAMETER"
>from</CODE
> as source.</P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3577"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>object</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3584"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>from</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3591"
></A
><H3
><A
NAME="GTS-OBJECT-CHECK-CAST"
></A
>gts_object_check_cast ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    gts_object_check_cast           (<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> object,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> klass);</PRE
><P
></P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3603"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>object</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3610"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3617"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> <CODE
CLASS="PARAMETER"
>object</CODE
> while emitting warnings if <CODE
CLASS="PARAMETER"
>object</CODE
> is not of class <CODE
CLASS="PARAMETER"
>klass</CODE
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3625"
></A
><H3
><A
NAME="GTS-OBJECT-IS-FROM-CLASS"
></A
>gts_object_is_from_class ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
>    gts_object_is_from_class        (<GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> object,
                                             <GTKDOCLINK
HREF="GPOINTER"
>gpointer</GTKDOCLINK
> klass);</PRE
><P
></P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3637"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>object</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3644"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>klass</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECTCLASS"
><SPAN
CLASS="TYPE"
>GtsObjectClass</SPAN
></A
>.</P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3651"><SPAN
STYLE="white-space: nowrap"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> <CODE
CLASS="PARAMETER"
>object</CODE
> if <CODE
CLASS="PARAMETER"
>object</CODE
> is of class <CODE
CLASS="PARAMETER"
>klass</CODE
> or of a class derived from
<CODE
CLASS="PARAMETER"
>klass</CODE
>, <TT
CLASS="LITERAL"
>NULL</TT
> otherwise.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3661"
></A
><H3
><A
NAME="GTS-OBJECT-RESET-RESERVED"
></A
>gts_object_reset_reserved ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        gts_object_reset_reserved       (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object);</PRE
><P
>Reset the reserved field of <CODE
CLASS="PARAMETER"
>object</CODE
>.</P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3673"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>object</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3680"
></A
><H3
><A
NAME="GTS-OBJECT-DESTROY"
></A
>gts_object_destroy ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        gts_object_destroy              (<A
HREF="gts-object-class.html#GTSOBJECT"
>GtsObject</A
> *object);</PRE
><P
>Calls the destroy method of <CODE
CLASS="PARAMETER"
>object</CODE
>, freeing all memory allocated for it.</P
><P
></P
><P
></P
><TABLE
CLASS="variablelist"
BORDER="0"
CELLSPACING="0"
CELLPADDING="4"
><TBODY
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
><A
NAME="AEN3692"><SPAN
STYLE="white-space: nowrap"
><CODE
CLASS="PARAMETER"
>object</CODE
>&nbsp;:</SPAN
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
> a <A
HREF="gts-object-class.html#GTSOBJECT"
><SPAN
CLASS="TYPE"
>GtsObject</SPAN
></A
>.</P
></TD
></TR
></TBODY
></TABLE
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN3699"
></A
><H3
><A
NAME="GTS-FINALIZE"
></A
>gts_finalize ()</H3
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="VOID"
>void</GTKDOCLINK
>        gts_finalize                    (void);</PRE
><P
>Free all the memory allocated by the object system of GTS. No other
GTS function can be called after this function has been called.</P
><P
></P
></DIV
></DIV
><TABLE
CLASS="navigation"
WIDTH="100%"
SUMMARY="Navigation footer"
CELLPADDING="2"
CELLSPACING="2"
><TR
VALIGN="middle"
><TD
ALIGN="left"
><A
ACCESSKEY="p"
HREF="c2915.html"
><B
>&lt;&lt;&lt;&nbsp;Geometrical Object Hierarchy</B
></A
></TD
><TD
ALIGN="right"
><A
ACCESSKEY="n"
HREF="gts-container-classes.html"
><B
>Container classes&nbsp;&gt;&gt;&gt;</B
></A
></TD
></TR
></TABLE
></BODY
></HTML
>