Canvas(3)

NAME
Canvas - a Widget that allows the programmer to specify a redraw procedure and a resize procedure on a per-widget basis.

VITAL STATS
Application Header file		<Canvas.h>
Class Header file		<CanvasP.h>
Class				canvasWidgetClass
Class Name			Canvas
Superclass			Core
  The Canvas widget is useful when the program needs an area for drawing or display and the creation of a custom widget would not be ``cost-effective''. Examples of this are display of an XImage, display of an animation, or display of a custom diagram. The Canvas widget is a gain over registering an action proc for an Expose event because the class definition takes advantage of the X toolkit's internal expose event compression capabilities to allow the application to send the drawing commands only once for a collection of Expose events.

PROGRAMMER INFORMATION
  The Canvas widget is identical to the Core widget except that its compress_exposure field is XtExposeCompressMultiple and it allows the programmer to specify both an Expose procedure and a Resize procedure on per widget basis. The following resources are specific to the Canvas widget
Name | Class | Type | Default Value
exposeProc | ExposeProc | CanvExposeProc | NULL
exposeProcData | ExposeProcData | XtPointer | NULL
resizeProc | ResizeProc | CanvResizeProc | NULL
resizeProcData | ResizeProcdata | XtPointer | NULL

exposeProc
    This is a pointer to a function of type XfwfCanvasExposeProc which is identical to XtExposeProc except that it has an extra XtPointer argument at the end of the argument list through which the exposeProcData is passed.

exposeProcData
    This is a pointer to widget-specific data that will be passed in through the client_data of the exposeProc.

resizeProc
    This is a pointer to a function of type XfwfCanvasResizeProc which is identical to XtWidgetProc except that it has an extra XtPointer argument at the end of the argument list through which the resizeProcData is passed.

resizeProcData
    This is a pointer to widget-specific data that will be passed in through the client_data of the resizeProc.

TYPEDEFS
  The following types are defined in the public header file for the programmer's enlightenment.
typedef void(*XfwfCanvasExposeProc)(
	Widget w,
	XExposeEvent *event,
	Region region,
	XtPointer client_data );
typedef void(*XfwfCanvasResizeProc)(
	Widget w,
	XtPointer client_data );

COPYRIGHT
Copyright (C) 1992 Robert Forsman This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

AUTHOR
Robert Forsman
thoth@lightning.cis.ufl.edu
University of Florida
Department of Computer and Information Science