

		Libreria de Dibujo X-Windows-Motif
                    Autor: Daniel Barrero
                   Universidad de Los Andes 


Esta Libreria esta diseniada para evitar el manejo de la seleccion del
display, visual y la ventana correspondientes a un widget motif. 

En caso que no se tenga la manija del widget sobre el que se desea pintar,
para obtenerla conociendo el nombre del mismo, la instruccion a utilizar
correspondiente al X-ToolKit debe ser. 

   Widget XtNameToWidget ( shell , nombre del widget)
   shell es el shell de la aplicacion,
   nombre del widget es el nombre entre comillas dobles con un * al comienzo
   retorna la manija al wigdet deseado.

   por ejemplo:

     Widget da=XtNameToWidget (vxpOBJ.geotmp, "*DrawingArea1");   
     (vxpOBJ.geotmp es la variable donde se encuentra la manija del shell
     de la aplicacion generada por vxp. )


			Funciones de la Libreria.


Estructura del punto para los parametros de las funciones de puntos y 
poligonos.
	 typedef struct PointS {
        	short x;
        	short y;
	} PointP

*- Obtener un Contexto Grafico:
	GC GetGC( Widget w )
   Esta Funcion recibe la manija al widget y retorna el contexto grafico
   correspondiente. 

*- Pintar un Punto:
        DPoint(Widget w, LONG x, LONG y, UBYTE color)
   
*- Pintar un conjunto de puntos:
	DPlot(Widget w,PointP *points,unsigned npoints, UBYTE color)

*- Pintar una linea:
	DLine(Widget w, LONG x1, LONG y1, LONG x2, LONG y2, UBYTE color)

*- Pintar un Rectangulo:
	DRect(Widget w, LONG x, LONG y, LONG l, LONG h, UBYTE color)
   Pinta un rectangulo con posicion inicial de un ancho y alto determinado.

*- Pintar un Rectangulo: 
	DRectXY(Widget w, LONG x1, LONG y1, LONG x2, LONG y2, UBYTE color)
   Pinta un rectangulo entre los dos puntos dados.

*- Pintar un poligono:
	DPoly(Widget w,PointP *points,unsigned npoints,UBYTE color)

*- Pintar una ellipse (criculo con a=b).
	DEllipse(Widget w, LONG x, LONG y, LONG a, LONG b, 
	         UBYTE color,UBYTE filled) 

*- Preguntar la posicion del mouse en el widget. 
	DWhereCursor(Widget w, LONG *x, LONG *y,int button,
	             XmDrawingAreaCallbackStruct *cbs) 

*- Cambiar modo del contexto grfico de un widget.
	DSetGCPaintMode(Widget w, int mode)
	
   Mode es uno de los modos de pintar de x-windows:
	Modo		| Funcionamiento
      ------------------+--------------------------
	GXxor		| src XOR dst
	GXor		| src OR dst
	GXnor		| (NOT src) AND (NOT dst)
	GXequiv		| (NOT src) XOR dst
	GXorReverse	| src OR (NOT dst)
	GXcopyInverted	| NOT src
	GXnand		| (NOT src) OR (NOT dst)
	GXset		| Pintar Normal.

  
*- Colocar una paleta gris para el widget
	VOID Palette_Gray(Widget w)

*- Colocar una paleta de true color
	VOID Palette_16M(Widget w)

*- Colocar una paleta de colores aleatorios
	VOID Palette_Random_Color(Widget w)

*- Colocar una paleta de colores en degrade
	VOID Palette_Smooth_Color(Widget w)

*- Colocar una paleta de grises aleatoria
	VOID Palette_Random_Gray(Widget w)


Preguntas, comentarios, sugerencias a:
----------------------------------------------------------------------------
 Daniel Barrero                         |"Who has been in the sky, will
 Imageneer, Dreamer, Flyer....          | always walk looking at it,
 e-mail:                                | wishing to go back."
  barrero@irit.fr                       |                Leonardo DaVinci
 web home page:                         | Well.. it's something like that :)
 http://members.tripod.com/dbarrero     |
-----------------------------------------------------------------------------
 
