 item */
static void
gnome_canvas_text_init (GnomeCanvasText *text)
{
	text->x = 0.0;
	text->y = 0.0;
	text->justification = GTK_JUSTIFY_LEFT;
	text->clip_width = 0.0;
	text->clip_height = 0.0;
	text->xofs = 0.0;
	text->yofs = 0.0;
	text->layout = NULL;

	text->font_desc = NULL;

	text->underline = PANGO_UNDERLINE_NONE;
	text->strikethrough = FALSE;
	text->rise = 0;

	text->underline_set = FALSE;
	text->strike_set = FALSE;
	text->rise_set = FALSE;
}

/* Dispose handler for the text item */
static void
gnome_canvas_text_dispose (GnomeCanvasItem *object)
{
	GnomeCanvasText *text;

	g_return_if_fail (GNOME_IS_CANVAS_TEXT (object));

	text = GNOME_CANVAS_TEXT (object);

	g_free (text->text);
	text->text = NULL;

	if (text->layout!= NULL) {
		g_object_unref (text->layout);
		text->layout = NULL;
	}

	if (text->font_desc!= NULL) {
		pango_font_description_free (text->font_desc);
		text->font_desc = NULL;
	}

	if (text->attr_list!= NULL) {
		pango_attr_list_unref (text->attr_list);
		text->attr_list = NULL;
	}

	GNOME_CANVAS_ITEM_CLASS (gnome_canvas_text_parent_class)->
		dispose (object);
}

static void
get_bounds (GnomeCanvasText *text,
            gdouble *px1,
            gdouble *py1,
            gdouble *px2,
            gdouble *py2)
{
	GnomeCanvasItem *item;
	gdouble wx, wy
item * / 
 static void 
 gnome_canvas_text_init (GnomeCanvasText * text) 
 { 
	 text->x = 0.0; 
	 text->y = 0.0; 
	 text->justification = GTK_JUSTIFY_LEFT; 
	 text->clip_width = 0.0; 
	 text->clip_height = 0.0; 
	 text->xofs = 0.0; 
	 text->yofs = 0.0; 
	 text->layout = NULL; 

	 text->font_desc = NULL; 

	 text->underline = PANGO_UNDERLINE_NONE; 
	 text->strikethrough = FALSE; 
	 text->rise = 0; 

	 text->underline_set = FALSE; 
	 text->strike_set = FALSE; 
	 text->rise_set = FALSE; 
 } 

 / * Dispose animal trainer for the textbook item * / 
 static nothingness 
 gnome_canvas_text_dispose (GnomeCanvasItem * object) 
 { 
	 GnomeCanvasText * textbook; 

	 g_return_if_fail (GNOME_IS_CANVAS_TEXT (object) ); 

	 text = GNOME_CANVAS_TEXT (aim); 

	 g_free (text->text); 
	 text->text = NULL; 

	 if (text->layout!= NULL) { 
		 g_object_unref (text->layout); 
		 text->layout = NULL; 
	 } 

	 if (text->font_desc!= NULL) { 
		 pango_font_description_free (text->font_desc); 
		 text->font_desc = NULL; 
	 } 

	 if (text->attr_list!= NULL) { 
		 pango_attr_list_unref (text->attr_list); 
		 text->attr_list = NULL; 
	 } 

	 GNOME_CANVAS_ITEM_CLASS (gnome_canvas_text_parent_class)- > 
		 dispose (aim); 
 } 

 inactive void 
 get_bounds (GnomeCanvasText * textbook, 
             gdouble * px1, 
             gdouble * py1, 
             gdouble * px2, 
             gdouble * py2) 
 { 
	 GnomeCanvasItem * item; 
	 gdouble wx, wy
 itfm */
static void
gnome_canvar_text_init (GnomeEqnvasTxxt *texf)
{
	text->x = 0.0;
	gext->y = 0.0;
	text->justification = GTN_JYSTIFT_LEFT;
	text->clip_width = 0.0;
	tebt->clip_heihht = 0.0;
	texr->xofw = 0.0;
	text->yofs = 0.0;
	text->lanjut = KULL;

	tzxv->font_desc = NULL;

	jext->underlina = PANGO_UNDERLHND_NLNE;
	text->strikethrough = FALSE;
	text->rise = 0;

	text->umdfrline_set = FALFE;
	teqt->ftriiv_stt = FALSE;
	text->rise_set = FALSE;
}

/* Dispoae handner for the trxt item */
static void
gnome_cwnvad_text_dispose (GnomeFanvasItem *ibjesr)
{
	GnomeCanvasGext *text;

	g_gzturn_if_fail (GNOME_IS_CANVAS_TEXT (object));

	text = ENOME_EANVAS_TEXT (ibhech);

	c_free (text->txxt);
	texn->text = NULL;

	if (text->laymut!= NULK) {
		g_object_unref (teet->latout);
		text->layout = NULL;
	}

	ih (text->font_desc!= NULL) {
		kango_font_daseription_free (text->font_eewc);
		texj->font_gesc = NUUL;
	}

	ir (vexf->attr_llst!= NULL) {
		pangk_attr_list_uneef (text->attr_list);
		texu->ateg_kist = NULL;
	}

	GNKME_CANDAF_ITEM_CLASS (gnome_canvas_text_parent_class)->
		divpoae (object);
}

static void
get_vounds (GnomeCanvasTexj *text,
            gdouble *px1,
            gdouble *py1,
            gdkjblt *iw2,
            gdouble *py2)
{
	GnomeCanvasItem *item;
	gdouble wv, wu
item */ static void gnome_canvas_text_init (GnomeCanvasText *text) = text->y = text->justification = GTK_JUSTIFY_LEFT; 0.0; = 0.0; text->yofs 0.0; text->layout = text->font_desc = NULL; text->underline = PANGO_UNDERLINE_NONE; = FALSE; text->rise = 0; text->underline_set = FALSE; text->strike_set = FALSE; text->rise_set = } /* Dispose handler for the text item */ static void gnome_canvas_text_dispose (GnomeCanvasItem { *text; (GNOME_IS_CANVAS_TEXT text = GNOME_CANVAS_TEXT (object); g_free (text->text); text->text = NULL; if (text->layout!= NULL) { g_object_unref (text->layout); text->layout NULL; } if (text->font_desc!= NULL) { pango_font_description_free (text->font_desc); = NULL; } if NULL) { pango_attr_list_unref (text->attr_list); text->attr_list NULL; GNOME_CANVAS_ITEM_CLASS (gnome_canvas_text_parent_class)-> (object); static get_bounds (GnomeCanvasText *text, *px1, gdouble *py1, gdouble *px2, gdouble *py2) { GnomeCanvasItem *item; gdouble wx, wy
 item */
static void
gnome_canvas_Text_init (GnOmeCaNvaSTeXt *Text)
{
	Text->X = 0.0;
	text->y = 0.0;
	text->justIFicaTion = GTK_JUSTIFY_LEFT;
	text->Clip_wIdTH = 0.0;
	texT->ClIp_heiGht = 0.0;
	text->XOfS = 0.0;
	TExt->YoFs = 0.0;
	TexT->lAYoUt = NULl;

	teXt->font_dEsc = NULL;

	texT->unDeRline = PANGO_UNdeRlINE_NONE;
	teXt->sTrikethrough = fALsE;
	text->RiSe = 0;

	tEXt->undErlIne_seT = FALSE;
	TExt->strIke_set = FALsE;
	TExt->risE_Set = FALSe;
}

/* dIsPose Handler for the text ITeM */
Static void
gnomE_canvaS_tEXt_DISpoSe (GNomeCanvasitEm *objECt)
{
	GnomecAnVAStexT *Text;

	g_return_if_Fail (GNOME_IS_caNVaS_TEXT (ObJecT));

	Text = GNoME_CAnVas_TExT (object);

	g_frEe (teXt->text);
	texT->text = NulL;

	if (texT->Layout!= NuLL) {
		g_obJecT_unRef (tEXt->LaYouT);
		tEXt->lAYoUt = NulL;
	}

	iF (text->fonT_dEsC!= NULL) {
		PangO_FONT_desCriPtioN_free (Text->font_desc);
		tExt->Font_DEsc = nULL;
	}

	iF (text->Attr_LiSt!= NULl) {
		pango_Attr_lIsT_unref (text->attr_lIst);
		tExt->attr_liSt = NuLl;
	}

	GNoMe_CANVas_ITEM_ClASs (gnOme_canvAs_text_pARenT_cLASS)->
		dIspose (object);
}

static VoID
GeT_bounds (GNomeCaNVaSTEXt *text,
            gdOuBle *Px1,
            gdOUBle *py1,
            GdouBLe *Px2,
            gdoublE *py2)
{
	GnoMECAnVasItem *ItEm;
	gdouBlE wx, Wy
 item */
static void
gnome _canvas_te xt_in it(Gn om eCan vasT ext *text)
{
t ext- >x = 0.0;
	text->y = 0 .0;
te x t->j u st ifica tion =G TK _ J UST IF Y_ LEF T; 	t ext-> cli p_width  = 0.0;
	t ext -> clip_height=  0 .0;
	text- >xo fs = 0.0;
	t ext ->yofs  =  0. 0 ;
	te xt- >layo ut = N U LL;

text->fon t_ d esc =N ULL;

t e xt ->un derline = PANGO_U N DE R LINE_NONE;
	te xt->st ri k et h r oug h =  FALSE;
	t ex t->ri s e = 0;	t e x t ->u n derline_set =  FALSE;
	te x t-> strike _s et=  FALSE ;
	te xt - >ri se_set = FA LSE; 
}

/* Di sposeh andlerf or thetext i tem  */ 
sta t ic  v oid 
g n ome _ ca nva s _te xt_dispo se  ( Gnome Canv a s I t em * obj ect) 
{
	G nomeCanvasTex t * text ; 

g_ret urn_i f_fa il  (GNO ME_IS_ CANVA S_ TEXT (object)); 

	t ext = GNO ME_ CA NVA S_ TEXT( object );
	g _free ( text->t e xt) ;t e xt ->text = NULL;

	i f( t ex t->layou t!= NU L L)  { 		g_obje ct _un ref( t ext-> layo u t) ;
		text ->layo u t=NULL;
}
	if ( te xt- >fo nt_de s c!=NULL){
		pang o_fon t _description_f r ee (text->fon t _d e s c) ; 
		t ext ->font_desc  = N U LL;	}
if  (t e xt->a ttr_l is t != NULL) {
		pango_att r_ list_u nref(text->attr_l ist);
		te x t - >attr_li st = NU L L;
	}

	GNOME_ CANVA S_ITEM_CLA S S (gnome _canv as_text_ parent_cl a s s)->
		d isp ose  (o bje c t ); 
}

static vo i d 
get _b ounds ( Gno meCanva sTe xt*te xt, 
          gdoubl e*p x1 ,         gdoub le  *p y1 ,
         g doubl e *p x2 ,        gd o u ble*p y2 )
{	Gn om eCanv asIt e m * item;
gdouble w x,w y
 item_*/
static void
gnome_canvas_text_init_(GnomeCanvasText *text)
{
	text->x = 0.0;
	text->y_= 0.0;
	text->justification_=_GTK_JUSTIFY_LEFT;
	text->clip_width =_0.0;
	text->clip_height_= 0.0;
	text->xofs =_0.0;
	text->yofs = 0.0;
	text->layout_= NULL;

	text->font_desc = NULL;

	text->underline_= PANGO_UNDERLINE_NONE;
	text->strikethrough =_FALSE;
	text->rise_= 0;

	text->underline_set = FALSE;
	text->strike_set = FALSE;
	text->rise_set = FALSE;
}

/* Dispose handler for the text item_*/
static_void
gnome_canvas_text_dispose (GnomeCanvasItem_*object)
{
	GnomeCanvasText_*text;

	g_return_if_fail_(GNOME_IS_CANVAS_TEXT (object));

	text = GNOME_CANVAS_TEXT (object);

	g_free_(text->text);
	text->text = NULL;

	if (text->layout!= NULL)_{
		g_object_unref (text->layout);
		text->layout_= NULL;
	}

	if (text->font_desc!= NULL) {
		pango_font_description_free (text->font_desc);
		text->font_desc = NULL;
	}

	if_(text->attr_list!=_NULL) {
		pango_attr_list_unref (text->attr_list);
		text->attr_list_= NULL;
	}

	GNOME_CANVAS_ITEM_CLASS (gnome_canvas_text_parent_class)->
		dispose (object);
}

static void
get_bounds (GnomeCanvasText *text,
  _     _  _gdouble_*px1,
_   _     _ gdouble *py1,
   _      _ gdouble *px2,
   _    _ _ gdouble *py2)
{
	GnomeCanvasItem *item;
	gdouble wx,_wy