gtk_math_view_get_char_location(GtkMathView* math_view, GdomeElement* elem,
gtk_math_view_get_char_location(GtkMathView* math_view, GtkMathView_Model_Element elem,
gtk_math_view_get_char_location(GtkMathView* math_view, GdomeElement* elem,				gint index, gint* x, gint* y, GdkRectangle* rect){  g_return_val_if_fail(math_view != NULL, FALSE);  g_return_val_if_fail(math_view->view != NULL, FALSE);  g_return_val_if_fail(elem != NULL, FALSE);  g_return_val_if_fail(index >= 0, FALSE);  if (SmartPtr<gmetadom_Builder> builder = smart_cast<gmetadom_Builder>(math_view->view->getBuilder()))    if (SmartPtr<Element> e = builder->findElement(DOM::Element(elem)))      {	scaled sx;	scaled sy;	BoundingBox box;	if (math_view->view->getCharExtents(e, index, sx, sy, box))	  {	    if (x) *x = Gtk_RenderingContext::toGtkX(sx);	    if (y) *y = Gtk_RenderingContext::toGtkY(sy);	    if (rect)	      {		Rectangle srect(sx, sy, box);		rect->x = Gtk_RenderingContext::toGtkX(srect.x);		rect->y = Gtk_RenderingContext::toGtkY(srect.y);		rect->width = Gtk_RenderingContext::toGtkPixels(srect.width);		rect->height = Gtk_RenderingContext::toGtkPixels(srect.height);	      }	    return TRUE;	  }      }  return FALSE;}