<!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 -- parent class for all GTS objects.</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN2929" ></A ><H2 >Synopsis</H2 ><PRE CLASS="SYNOPSIS" > #include <gts.h> #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 > :</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="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 > :</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="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 > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >a pointer to test. </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 > :</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 > :</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 > :</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 >). </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 > :</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 > :</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 > :</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 >). </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)->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 > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </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 > :</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 > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </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) &= ~(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 > :</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 > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </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) & 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 > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > </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 > *<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 > <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 > <CODE CLASS="STRUCTFIELD" >flags</CODE >;</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >Used internally. </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 > :</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. </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 > :</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="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 > :</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="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 > :</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="AEN3320" ></A ><H3 ><A NAME="GTSOBJECTFLAGS" ></A >enum GtsObjectFlags</H3 ><PRE CLASS="PROGRAMLISTING" >typedef enum { GTS_DESTROYED = 1 << 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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 > :</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 ><<< Geometrical Object Hierarchy</B ></A ></TD ><TD ALIGN="right" ><A ACCESSKEY="n" HREF="gts-container-classes.html" ><B >Container classes >>></B ></A ></TD ></TR ></TABLE ></BODY ></HTML >