Blame lib/Xm/WidGet.c

Packit b099d7
/* $XConsortium: WidGet.c /main/6 1995/10/25 20:27:58 cde-sun $ */
Packit b099d7
/*
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
 * 
Packit b099d7
 */
Packit b099d7
/*
Packit b099d7
 * HISTORY
Packit b099d7
 */
Packit b099d7
Packit b099d7
#ifdef HAVE_CONFIG_H
Packit b099d7
#include <config.h>
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
#include "XmI.h"
Packit b099d7
#include <Xm/PrimitiveP.h>
Packit b099d7
#include <Xm/ManagerP.h>
Packit b099d7
#include <Xm/GadgetP.h>
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
/************************************************************************
Packit b099d7
 *
Packit b099d7
 *   XmWidgetGetBaselines
Packit b099d7
 *
Packit b099d7
 ************************************************************************/
Packit b099d7
Packit b099d7
Boolean
Packit b099d7
XmWidgetGetBaselines(
Packit b099d7
        Widget wid,
Packit b099d7
        Dimension **baselines,
Packit b099d7
        int *line_count)
Packit b099d7
{
Packit b099d7
  _XmWidgetToAppContext(wid);
Packit b099d7
  _XmAppLock(app);
Packit b099d7
Packit b099d7
  if (XmIsPrimitive(wid))
Packit b099d7
      {
Packit b099d7
	  XmPrimitiveClassExt              *wcePtr;
Packit b099d7
	  WidgetClass   wc = XtClass(wid);
Packit b099d7
	  
Packit b099d7
	  wcePtr = _XmGetPrimitiveClassExtPtr(wc, NULLQUARK);
Packit b099d7
	  
Packit b099d7
	  if (*wcePtr && (*wcePtr)->widget_baseline)
Packit b099d7
	      {
Packit b099d7
		_XmAppUnlock(app);
Packit b099d7
		return( (*((*wcePtr)->widget_baseline)) 
Packit b099d7
			 (wid, baselines, line_count)) ;
Packit b099d7
	      } 
Packit b099d7
      }
Packit b099d7
  else if (XmIsGadget(wid))
Packit b099d7
      {
Packit b099d7
	  XmGadgetClassExt              *wcePtr;
Packit b099d7
	  WidgetClass   wc = XtClass(wid);
Packit b099d7
	  
Packit b099d7
	  wcePtr = _XmGetGadgetClassExtPtr(wc, NULLQUARK);
Packit b099d7
	  
Packit b099d7
	  if (*wcePtr && (*wcePtr)->widget_baseline)
Packit b099d7
	      {
Packit b099d7
		_XmAppUnlock(app);
Packit b099d7
		return( (*((*wcePtr)->widget_baseline)) 
Packit b099d7
			 (wid, baselines, line_count)) ;
Packit b099d7
	      }
Packit b099d7
      }
Packit b099d7
  _XmAppUnlock(app);
Packit b099d7
  return (False);
Packit b099d7
}
Packit b099d7
Packit b099d7
Packit b099d7
/************************************************************************
Packit b099d7
 *
Packit b099d7
 *   XmWidgetDisplayRect
Packit b099d7
 *
Packit b099d7
 ************************************************************************/
Packit b099d7
Packit b099d7
Boolean
Packit b099d7
XmWidgetGetDisplayRect(
Packit b099d7
        Widget wid,
Packit b099d7
        XRectangle *displayrect)
Packit b099d7
{
Packit b099d7
    _XmWidgetToAppContext(wid);
Packit b099d7
    _XmAppLock(app);
Packit b099d7
Packit b099d7
    if (XmIsPrimitive(wid))
Packit b099d7
	{
Packit b099d7
	    XmPrimitiveClassExt              *wcePtr;
Packit b099d7
	    WidgetClass   wc = XtClass(wid);
Packit b099d7
	    
Packit b099d7
	    wcePtr = _XmGetPrimitiveClassExtPtr(wc, NULLQUARK);
Packit b099d7
	    
Packit b099d7
	    if (*wcePtr && (*wcePtr)->widget_display_rect)
Packit b099d7
		(*((*wcePtr)->widget_display_rect)) (wid, displayrect);
Packit b099d7
	    _XmAppUnlock(app);
Packit b099d7
	    return (True);
Packit b099d7
	}
Packit b099d7
    else if (XmIsGadget(wid))
Packit b099d7
	{
Packit b099d7
	    XmGadgetClassExt              *wcePtr;
Packit b099d7
	    WidgetClass   wc = XtClass(wid);
Packit b099d7
	    
Packit b099d7
	    wcePtr = _XmGetGadgetClassExtPtr(wc, NULLQUARK);
Packit b099d7
	    
Packit b099d7
	    if (*wcePtr && (*wcePtr)->widget_display_rect)
Packit b099d7
		(*((*wcePtr)->widget_display_rect)) (wid, displayrect);
Packit b099d7
	    _XmAppUnlock(app);
Packit b099d7
	    return (True);
Packit b099d7
	}
Packit b099d7
    else {
Packit b099d7
	_XmAppUnlock(app);
Packit b099d7
	return (False);
Packit b099d7
    }
Packit b099d7
}