Blame lib/Xm/DrawP.h

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
 * HISTORY
Packit b099d7
*/ 
Packit b099d7
/* $XConsortium: DrawP.h /main/10 1995/07/14 10:27:48 drk $ */
Packit b099d7
/* (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
Packit b099d7
/* (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
#ifndef _XmDrawP_h
Packit b099d7
#define _XmDrawP_h
Packit b099d7
Packit b099d7
#include <Xm/XmP.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/*---------------------------------------------------------------*/
Packit b099d7
/*   Functions used by Xm widgets for the Motif visual drawing   */
Packit b099d7
/*---------------------------------------------------------------*/
Packit b099d7
/* All these functions have an Xlib draw like API: 
Packit b099d7
      a Display*, a Drawable, then GCs, Positions and Dimensions 
Packit b099d7
      and finally some specific paramaters */
Packit b099d7
Packit b099d7
/******** The Draw.c file has been split in several module for
Packit b099d7
          a better link profile *********/
Packit b099d7
Packit b099d7
/*---------------------------------------------------------------
Packit b099d7
  XmeDrawShadows, 
Packit b099d7
       use in place of the 1.1 _XmDrawShadow and _XmDrawShadowType
Packit b099d7
       with changes to the interface (widget vs window, offsets, new order)
Packit b099d7
       and in the implementation (uses XSegments instead of XRectangles).
Packit b099d7
       Both etched and regular shadows use now a single private routine
Packit b099d7
       xmDrawSimpleShadow.
Packit b099d7
    XmeDrawHighlight.
Packit b099d7
       Implementation using FillRectangles, for solid highlight only. 
Packit b099d7
    _XmDrawHighlight.
Packit b099d7
       Highlight using wide lines, so that dash mode works. 
Packit b099d7
    XmeClearBorder,    
Packit b099d7
       new name for _XmEraseShadow  (_XmClearShadowType, which clear half a 
Packit b099d7
       shadow with a 'widget' API stays in Manager.c ) 
Packit b099d7
       XmClearBorder is only usable on window, not on drawable.
Packit b099d7
    XmeDrawSeparator, 
Packit b099d7
       use in place of the duplicate redisplay method of both separator and 
Packit b099d7
       separatorgadget (highlight_thickness not used, must be incorporated
Packit b099d7
       in the function call parameters). use xmDrawSimpleShadow.
Packit b099d7
       Has 2 new separator types for dash shadowed lines.
Packit b099d7
    XmeDrawDiamond, 
Packit b099d7
       new interface for _XmDrawDiamondButton (_XmDrawSquareButton is
Packit b099d7
       really a simple draw shadow and will be in the widget file as is).
Packit b099d7
    XmeDrawArrow, 
Packit b099d7
       same algorithm as before but in one function that re-uses the malloced
Packit b099d7
       rects and does not store anything in the wigdet instance.
Packit b099d7
    XmeDrawPolygonShadow,
Packit b099d7
       new one that use the RegionDrawShadow API to implement an Xme call 
Packit b099d7
    XmeDrawCircle,
Packit b099d7
       new one for toggle visual
Packit b099d7
    XmeDrawIndicator
Packit b099d7
       new one for toggle drawing
Packit b099d7
---------------------------------------------------------------------------*/
Packit b099d7
Packit b099d7
Packit b099d7
/********    Private Function Declarations    ********/
Packit b099d7
Packit b099d7
extern void XmeDrawShadows( 
Packit b099d7
                        Display *display,
Packit b099d7
                        Drawable d,
Packit b099d7
                        GC top_gc,
Packit b099d7
                        GC bottom_gc,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
                        int x,
Packit b099d7
                        int y,
Packit b099d7
                        int width,
Packit b099d7
                        int height,
Packit b099d7
                        int shad_thick,
Packit b099d7
#else
Packit b099d7
                        Position x,
Packit b099d7
                        Position y,
Packit b099d7
                        Dimension width,
Packit b099d7
                        Dimension height,
Packit b099d7
                        Dimension shad_thick,
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
                        unsigned int shad_type);
Packit b099d7
extern void XmeClearBorder( 
Packit b099d7
                        Display *display,
Packit b099d7
                        Window w,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
                        int x,
Packit b099d7
                        int y,
Packit b099d7
                        int width,
Packit b099d7
                        int height,
Packit b099d7
                        int shadow_thick);
Packit b099d7
#else
Packit b099d7
                        Position x,
Packit b099d7
                        Position y,
Packit b099d7
                        Dimension width,
Packit b099d7
                        Dimension height,
Packit b099d7
                        Dimension shadow_thick);
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
extern void XmeDrawSeparator( 
Packit b099d7
                        Display *display,
Packit b099d7
                        Drawable d,
Packit b099d7
                        GC top_gc,
Packit b099d7
                        GC bottom_gc,
Packit b099d7
                        GC separator_gc,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
                        int x,
Packit b099d7
                        int y,
Packit b099d7
                        int width,
Packit b099d7
                        int height,
Packit b099d7
                        int shadow_thick,
Packit b099d7
                        int margin,
Packit b099d7
                        unsigned int orientation,
Packit b099d7
                        unsigned int separator_type);
Packit b099d7
#else
Packit b099d7
                        Position x,
Packit b099d7
                        Position y,
Packit b099d7
                        Dimension width,
Packit b099d7
                        Dimension height,
Packit b099d7
                        Dimension shadow_thick,
Packit b099d7
                        Dimension margin,
Packit b099d7
                        unsigned char orientation,
Packit b099d7
                        unsigned char separator_type);
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
extern void XmeDrawDiamond( 
Packit b099d7
                        Display *display,
Packit b099d7
                        Drawable d,
Packit b099d7
                        GC top_gc,
Packit b099d7
                        GC bottom_gc,
Packit b099d7
                        GC center_gc,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
                        int x,
Packit b099d7
                        int y,
Packit b099d7
                        int width,
Packit b099d7
                        int height,
Packit b099d7
                        int shadow_thick,
Packit b099d7
                        int margin);
Packit b099d7
#else
Packit b099d7
                        Position x,
Packit b099d7
                        Position y,
Packit b099d7
                        Dimension width,
Packit b099d7
                        Dimension height,
Packit b099d7
                        Dimension shadow_thick,
Packit b099d7
                        Dimension margin);
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
Packit b099d7
extern void XmeDrawCircle( 
Packit b099d7
                        Display *display,
Packit b099d7
                        Drawable d,
Packit b099d7
                        GC top_gc,
Packit b099d7
                        GC bottom_gc,
Packit b099d7
                        GC center_gc,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
                        int x,
Packit b099d7
                        int y,
Packit b099d7
                        int width,
Packit b099d7
                        int height,
Packit b099d7
                        int shadow_thick,
Packit b099d7
                        int margin);
Packit b099d7
#else
Packit b099d7
                        Position x,
Packit b099d7
                        Position y,
Packit b099d7
                        Dimension width,
Packit b099d7
                        Dimension height,
Packit b099d7
                        Dimension shadow_thick,
Packit b099d7
                        Dimension margin);
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
Packit b099d7
extern void XmeDrawHighlight( 
Packit b099d7
                        Display *display,
Packit b099d7
                        Drawable d,
Packit b099d7
                        GC gc,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
                        int x,
Packit b099d7
                        int y,
Packit b099d7
                        int width,
Packit b099d7
                        int height,
Packit b099d7
                        int highlight_thick
Packit b099d7
#else
Packit b099d7
                        Position x,
Packit b099d7
                        Position y,
Packit b099d7
                        Dimension width,
Packit b099d7
                        Dimension height,
Packit b099d7
                        Dimension highlight_thick
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
                        );
Packit b099d7
extern void XmeDrawArrow( 
Packit b099d7
                        Display *display,
Packit b099d7
                        Drawable d,
Packit b099d7
                        GC top_gc,
Packit b099d7
                        GC bot_gc,
Packit b099d7
                        GC cent_gc,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
                        int x,
Packit b099d7
                        int y,
Packit b099d7
                        int width,
Packit b099d7
                        int height,
Packit b099d7
                        int shadow_thick,
Packit b099d7
                        unsigned int direction);
Packit b099d7
#else
Packit b099d7
                        Position x,
Packit b099d7
                        Position y,
Packit b099d7
                        Dimension width,
Packit b099d7
                        Dimension height,
Packit b099d7
                        Dimension shadow_thick,
Packit b099d7
                        unsigned char direction);
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
Packit b099d7
extern void XmeDrawPolygonShadow(
Packit b099d7
		      Display *dpy,
Packit b099d7
		      Drawable d,
Packit b099d7
		      GC topGC,
Packit b099d7
		      GC bottomGC,
Packit b099d7
		      XPoint *points,
Packit b099d7
		      int n_points,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
		      int shadowThickness,
Packit b099d7
		      unsigned int shadowType);
Packit b099d7
#else
Packit b099d7
		      Dimension shadowThickness,
Packit b099d7
		      unsigned char shadowType);
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
Packit b099d7
extern void XmeDrawIndicator(Display *display, 
Packit b099d7
		 Drawable d, 
Packit b099d7
		 GC gc, 
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
		 int x, int y, 
Packit b099d7
		 int width, int height, 
Packit b099d7
		 int margin,
Packit b099d7
		 int type);
Packit b099d7
#else
Packit b099d7
                 Position x, Position y, 
Packit b099d7
                 Dimension width, Dimension height,
Packit b099d7
		 Dimension margin, 
Packit b099d7
                 XtEnum type);
Packit b099d7
#endif /* NeedWidePrototypes */
Packit b099d7
Packit b099d7
/********    End Private Function Declarations    ********/
Packit b099d7
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* _XmDrawP_h */