/*
 * Copyright 1990 by Baylor College of Medicine ALL RIGHTS RESERVED. 
 *
 * This program is subject to a license agreement between 
 * Baylor College of Medicine and MIT. Any use inconsistent with
 * said license and any use by persons other than the faculty, 
 * students and staff at MIT or any use on a computer not operated 
 * as part of the Athena Computing Environment (ACE) is expressly 
 * prohibited.
 */
#ifndef _VNSBACKGROUNDP_H
#define _VNSBACKGROUNDP_H

#include <VnsBackground.h>

typedef struct _VnsBackgroundConstraintRec
{
	Boolean group;      /* True if it is part of the group */
} VnsBackgroundConstraintRec;

typedef struct
{
	int dummy;
} VnsBackgroundClassPart;

typedef struct _VnsBackgroundClassRec
{
    CoreClassPart          core_class;
	CompositeClassPart     composite_class;
	ConstraintClassPart    constraint_class;
    VnsBackgroundClassPart vnsBackground_class;
} VnsBackgroundClassRec,*VnsBackgroundWidgetClass;

extern VnsBackgroundClassRec vnsBackgroundClassRec ;

/*
 *  Widget instance structure declaration
 */

typedef struct
{
	int loc_x;
	int loc_y;
	int move_x;
	int move_y;
	int orig_x;
	int orig_y;
	GC gc;
	GC gc_line;
	Pixmap grid_pm;
	Boolean is_showing;
	Boolean show_grid;
	Boolean snap_to_grid;
	Boolean show_outlines;
	XtCallbackList key_hit;
	XtCallbackList select;
	XtCallbackList resize_callback;
} VnsBackgroundPart;

typedef struct _VnsBackgroundRec
{
    CorePart          core;
	CompositePart     composite;
	ConstraintPart    constraint;
    VnsBackgroundPart vnsBackground;
} VnsBackgroundRec;

#endif /* _VNSBACKGROUNDP_H */
