/*********************************************************************************************
 *                                                                                           *
 *                                                                                           *
 *   Copyright 1989-2018 by AutoDesSys, Inc.                                                 *
 *                                                                                           *
 *   This software and its associated documentation contains proprietary,                    *
 *   confidential, and trade secret information of AutoDesSys Inc. and may not be            *
 *   disclosed, copied in any form, or used for any purpose except as specifically           *
 *   permitted in writing by AutoDesSys, Inc.                                                *
 *                                                                                           *
 *   AutoDesSys, Inc. grants permission to use the software to those who purchase            *
 *   a license.  Such a usage will be made according to the terms and conditions             *
 *   specified in the license agreement to which a licensee agrees before installing         *
 *   and commencing usage of the software.  The license agreement can be found               *
 *   on the envelop that contains the software CD.                                           *
 *                                                                                           *
 *   AutoDesSys, Inc. also grants permission to licensees to develop extensions to           *
 *   the software, which can be in the form of scripts or plugins.  The permission           *
 *   includes calling the API and call back functions provided by AutoDesSys, Inc.           *
 *   and accessing information relevant to these functions and the general workings          *
 *   of form.Z, but only up to the point to which AutoDesSys, Inc. has chosen to             *
 *   expose, through its form.Z SDK Manual.  All extensions developed by third               *
 *   parties will include a copy of this copyright note in an easily accessible place or     *
 *   a clear instruction to read this original note by AutoDesSys, Inc.                      *
 *                                                                                           *
 *   All the software distributed under a license, either for the purpose of using it or     *
 *   for the purpose of developing extensions, is distributed AS IS, WITHOUT                 *
 *   WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND                                    *
 *   AutoDesSys, Inc. HEREBY DISCLAIMS ALL SUCH WARRANTIES,                                  *
 *   INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF                                         *
 *   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.                                    *
 *                                                                                           *
 *   formZ, RenderZone, and RadioZity are registered trademarks of AutoDesSys, Inc.          *
 *                                                                                           *
 *   form.Z SDK, Version 8.6.3, Dec 03, 2018                                                 *
 *                                                                                           *
 *                                                                                           *
 *********************************************************************************************/



#ifndef __FORMZ_WIND_H
#define __FORMZ_WIND_H 1

#include "fzrt_api.h"
#include "fzpl_plugin.h"

#include "fz_rndr_api.h"

#include "fz_view_api.h"
#include "fz_proj_api.h"

#ifdef __cplusplus
extern "C" {
#endif




/****************************************************************

	Window Manager


	Description
		formZ window management functions. These functions are used to access data and perform operations on project windows.
 ****************************************************************/

/****************************************************************

	FZ_OSNAP_TYPE_OFF

	Description
		Unique identifier for no object snap type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_OFF		"\xb9\x8c\x5b\xf2\x95\xeb\x45\x13\xb9\xf4\x34\x1a\x0c\x58\x21\x12"

/****************************************************************

	FZ_OSNAP_TYPE_POINTS

	Description
		Unique identifier for object snap to point type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_POINTS		"\x22\x09\x01\xf8\xc2\xa3\x4e\xb5\x89\x2c\x9b\x7d\x0e\x10\xcc\xc9"

/****************************************************************

	FZ_OSNAP_TYPE_ENDPNT

	Description
		Unique identifier for object snap to endpoint type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_ENDPNT		"\x8b\x26\x48\x96\x1e\xac\x4b\xa4\xaa\xb5\xf1\x1e\x40\xd8\xf6\x32"

/****************************************************************

	FZ_OSNAP_TYPE_MIDPNT

	Description
		Unique identifier for object snap to midpoint type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_MIDPNT		"\xc6\x69\x0e\x1f\xc7\xee\x47\x9e\xae\x11\xd9\xf0\x88\x4e\xb6\x29"

/****************************************************************

	FZ_OSNAP_TYPE_SEGMNT

	Description
		Unique identifier for object snap to segment type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_SEGMNT		"\x2a\xd0\xc9\xd5\x57\xaf\x40\x41\xab\x85\x09\x19\xad\x09\x18\xd6"

/****************************************************************

	FZ_OSNAP_TYPE_XT_LIN

	Description
		Unique identifier for object snap to line type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_XT_LIN		"\xfd\x4d\xcf\xf0\x40\x03\x48\xc2\xb6\x97\x81\xe2\xaa\x89\x69\x7a"

/****************************************************************

	FZ_OSNAP_TYPE_INSECT

	Description
		Unique identifier for object snap to intesection type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_INSECT		"\x5e\x53\x8d\xf3\xd9\xb6\x46\x8a\x8d\xe6\x07\xb6\x8d\x36\x37\xce"

/****************************************************************

	FZ_OSNAP_TYPE_CNTFAC

	Description
		Unique identifier for object snap to center type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_CNTFAC		"\x6d\xb7\x1b\x60\x38\x49\x49\x6c\xa3\x25\x00\xd2\x84\x77\x70\xf6"

/****************************************************************

	FZ_OSNAP_TYPE_ON_FAC

	Description
		Unique identifier for object snap to face type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_ON_FAC		"\x33\xa9\xa0\xed\xc4\xbd\x42\x1b\xa3\x41\x3b\xc5\xd3\xaf\xec\x86"

/****************************************************************

	FZ_OSNAP_TYPE_INTRVL

	Description
		Unique identifier for object snap to interval type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_INTRVL		"\x31\xde\x10\xb5\xfd\x28\x43\xc7\x98\x58\xd2\x2a\x5d\x8b\xa1\xb9"

/****************************************************************

	FZ_OSNAP_TYPE_PERPAN

	Description
		Unique identifier for object snap to perpendicular/angular type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_PERPAN		"\xbd\x1b\xf4\xfc\xf7\xef\x43\xc9\xbc\x57\x19\xbc\x88\x47\xbf\xb8"

/****************************************************************

	FZ_OSNAP_TYPE_TANGNT

	Description
		Unique identifier for object snap to tangent type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_TANGNT		"\x94\xac\x22\xaf\x7e\x40\x4e\x61\x99\x05\x51\xaa\xe1\x8f\x50\x46"

/****************************************************************

	FZ_OSNAP_TYPE_MULTI

	Description
		Unique identifier for object snap to combo type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_MULTI		"\xfd\xb9\x17\x41\x50\x93\x4f\xef\xa7\x9b\x81\xa2\x8b\x12\x5d\xe0"

/****************************************************************

	FZ_OSNAP_TYPE_KEYPNT

	Description
		Unique identifier for object snap to key points type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_OSNAP_TYPE_KEYPNT		"\x48\xec\x13\x77\xce\x04\x4f\xe5\x8e\x75\xfd\x93\x53\xb9\xad\xd3"

/****************************************************************

	FZ_DIRSNAP_TYPE_OFF

	Description
		Unique identifier for no directional snap type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_DIRSNAP_TYPE_OFF		"\xe2\x85\x6c\x30\x8e\x3d\x47\x26\xa5\x03\xdc\xd0\x86\x02\xdf\x96"

/****************************************************************

	FZ_DIRSNAP_TYPE_ORTHO

	Description
		Unique identifier for ortho directional snap type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_DIRSNAP_TYPE_ORTHO		"\x18\xb5\x50\xe8\x11\xc2\x4c\x16\xb7\xcd\xf4\xdf\x48\xfa\xc6\x0a"

/****************************************************************

	FZ_DIRSNAP_TYPE_DIAG

	Description
		Unique identifier for ortho + diagonal directional snap type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_DIRSNAP_TYPE_DIAG		"\xa6\x5a\x71\xdc\xad\x42\x4e\x57\xaa\x24\xbd\x1e\xdc\x0d\x57\x7a"

/****************************************************************

	FZ_DIRSNAP_TYPE_ANG

	Description
		Unique identifier for angle/slope directional snap type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_DIRSNAP_TYPE_ANG		"\xe3\x34\x37\x4c\x43\xd6\x40\x86\x93\x07\xe7\x8f\x39\x7b\x3b\x08"

/****************************************************************

	FZ_DIRSNAP_TYPE_RAD

	Description
		Unique identifier for radial directional snap type

	Availability	5.0.0.0

 ****************************************************************/

#define FZ_DIRSNAP_TYPE_RAD			"\xce\x2e\x38\x57\xac\x0c\x4e\xe3\x91\x62\x32\xf8\x47\x9d\x04\xf9"


/****************************************************************

	fz_wind_grid_type_enum


	Description
		Window grid types.

	Members
		FZ_WIND_GRID_TYPE_LINE
			Indicates the reference grid is a line grid.
		FZ_WIND_GRID_TYPE_DOT
			Indicates the reference grid is a dot grid.

	Availability	5.0.0.0


	See Also
		fz_wind_opts_parm_enum

 ****************************************************************/
typedef enum fz_wind_grid_type_enum
{
	FZ_WIND_GRID_TYPE_LINE = 0,
	FZ_WIND_GRID_TYPE_DOT,

	FZ_WIND_GRID_TYPE_MAX
} fz_wind_grid_type_enum;

/****************************************************************

	fz_wind_opts_parm_enum


	Description
		Window option parameters.

	Members
		FZ_WIND_OPTS_PARM_SHOW_WORLD
			Indicates the world axis is shown.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_OPTS_PARM_SHOW_REF
			Indicates the reference plane axis is shown.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_OPTS_PARM_SHOW_GRID
			Indicates the grid is shown.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_OPTS_PARM_SHOW_MARKS
			Indicates the axis marks are shown.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_OPTS_PARM_GRID_TYPE
			Indicates the type of reference grid.
			Type: fz_wind_grid_type_enum
			Default Value: FZ_WIND_GRID_TYPE_LINE
		FZ_WIND_OPTS_PARM_MODULE_X
			Distance between major lines in the X axis.
			Type: double
		FZ_WIND_OPTS_PARM_MODULE_Y
			Distance between major lines in the Y axis.
			Type: double
		FZ_WIND_OPTS_PARM_MODULE_Z
			Distance between major lines in the Z axis.
			Type: double
		FZ_WIND_OPTS_PARM_DIVISIONS_X
			Number of divisions between major lines in the X axis.
			Type: double
		FZ_WIND_OPTS_PARM_DIVISIONS_Y
			Number of divisions between major lines in the Y axis.
			Type: double
		FZ_WIND_OPTS_PARM_DIVISIONS_Z
			Number of divisions between major lines in the Z axis.
			Type: double
		FZ_WIND_OPTS_PARM_XYZ_GRID_LOCK
			Indicates the XYZ grid is locked.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_OPTS_PARM_AUTO_GRID_SCALE
			Indicates grid is auto scaled.
			Type: fzrt_boolean
			Default Value: FALSE

	Availability	5.0.0.0


	See Also
		fz_wind_opts_set_parm_data

 ****************************************************************/
typedef enum fz_wind_opts_parm_enum
{
	FZ_WIND_OPTS_PARM_SHOW_WORLD=0,

	FZ_WIND_OPTS_PARM_SHOW_REF,

	FZ_WIND_OPTS_PARM_SHOW_GRID,

	FZ_WIND_OPTS_PARM_SHOW_MARKS,

	FZ_WIND_OPTS_PARM_GRID_TYPE,

	FZ_WIND_OPTS_PARM_MODULE_X,

	FZ_WIND_OPTS_PARM_MODULE_Y,

	FZ_WIND_OPTS_PARM_MODULE_Z,

	FZ_WIND_OPTS_PARM_DIVISIONS_X,

	FZ_WIND_OPTS_PARM_DIVISIONS_Y,

	FZ_WIND_OPTS_PARM_DIVISIONS_Z,

	FZ_WIND_OPTS_PARM_XYZ_GRID_LOCK,

	FZ_WIND_OPTS_PARM_AUTO_GRID_SCALE,

	FZ_WIND_OPTS_PARM_MAX
} fz_wind_opts_parm_enum;

/****************************************************************

	fz_wind_image_size_type_enum


	Description
		Window image size types.

	Members
		FZ_WIND_IMAGE_SIZE_TYPE_WINDOW
			Indicates the image size is the same as the window size.
		FZ_WIND_IMAGE_SIZE_TYPE_CUSTOM
			Indicates the image size uses a custom size.

	Availability	5.0.0.0

 ****************************************************************/
typedef enum fz_wind_image_size_type_enum
{
	FZ_WIND_IMAGE_SIZE_TYPE_WINDOW = 0,
	FZ_WIND_IMAGE_SIZE_TYPE_CUSTOM,

	FZ_WIND_IMAGE_SIZE_TYPE_MAX
} fz_wind_image_size_type_enum;

/****************************************************************

	fz_wind_image_cust_dimn_type_enum


	Description
		Window custom image size dimensions types.

	Members
		FZ_WIND_IMAGE_CUST_DIMN_TYPE_PIXEL
			Indicates the custom image size is set by pixel dimensions.
		FZ_WIND_IMAGE_CUST_DIMN_TYPE_SIZE
			Indicates the custom image size is set by size and resolution.

	Availability	5.0.0.0


	See Also
		fz_wind_image_opts_parm_enum

 ****************************************************************/
typedef enum fz_wind_image_cust_dimn_type_enum
{
	FZ_WIND_IMAGE_CUST_DIMN_TYPE_PIXEL = 0,
	FZ_WIND_IMAGE_CUST_DIMN_TYPE_SIZE,

	FZ_WIND_IMAGE_CUST_DIMN_TYPE_MAX
} fz_wind_image_cust_dimn_type_enum;

/****************************************************************

	fz_wind_image_res_type_enum


	Description
		Window custom image resolution types.

	Members
		FZ_WIND_IMAGE_RES_TYPE_INCH
			Indicates the resolution is in pixels per inch.
		FZ_WIND_IMAGE_RES_TYPE_CM
			Indicates the resolution is in pixels per centimeter.

	Availability	5.0.0.0

 ****************************************************************/
typedef enum fz_wind_image_res_type_enum
{
	FZ_WIND_IMAGE_RES_TYPE_INCH = 0,
	FZ_WIND_IMAGE_RES_TYPE_CM,

	FZ_WIND_IMAGE_RES_TYPE_MAX
} fz_wind_image_res_type_enum;

/****************************************************************

	fz_wind_image_colr_dpth_type_enum


	Description
		Window custom image color depth types.

	Members
		FZ_WIND_IMAGE_COLR_DPTH_TYPE_8
			Indicates the image color depth is 8-bits.
		FZ_WIND_IMAGE_COLR_DPTH_TYPE_16
			Indicates the image color depth is 16-bits.
		FZ_WIND_IMAGE_COLR_DPTH_TYPE_32
			Indicates the image color depth is 32-bits.

	Availability	5.0.0.0


	See Also
		fz_wind_image_opts_parm_enum

 ****************************************************************/
typedef enum fz_wind_image_colr_dpth_type_enum
{
	FZ_WIND_IMAGE_COLR_DPTH_TYPE_8 = 0,
	FZ_WIND_IMAGE_COLR_DPTH_TYPE_16,
	FZ_WIND_IMAGE_COLR_DPTH_TYPE_32,

	FZ_WIND_IMAGE_COLR_DPTH_TYPE_MAX
} fz_wind_image_colr_dpth_type_enum;

/****************************************************************

	fz_wind_image_opts_parm_enum


	Description
		Window image option parameters.

	Members
		FZ_WIND_IMAGE_OPTS_SIZE_TYPE
			Indicates the type of image size.
			Type: fz_wind_image_size_type_enum
			Default Value: FZ_WIND_IMAGE_SIZE_TYPE_WINDOW
		FZ_WIND_IMAGE_OPTS_CUSTOM_TYPE
			Indicates how the custom image's dimensions are set.
			Type: fz_wind_image_cust_dimn_type_enum
			Default Value: FZ_WIND_IMAGE_CUST_DIMN_TYPE_PIXEL
		FZ_WIND_IMAGE_OPTS_PIXEL_WIDTH
			The width of the image in pixels.
			Type: fzrt_int
		FZ_WIND_IMAGE_OPTS_PIXEL_HEIGHT
			The height of the image in pixels.
			Type: fzrt_int
		FZ_WIND_IMAGE_OPTS_SIZE_WIDTH
			The width of the image in inches or centimeters.
			Type: double
		FZ_WIND_IMAGE_OPTS_SIZE_HEIGHT
			The height of the image in inches or centimeters.
			Type: double
		FZ_WIND_IMAGE_OPTS_SIZE_RES_VALUE
			The resolution of the image in pixels per inch or centimeter.
			Type: fzrt_int
		FZ_WIND_IMAGE_OPTS_SIZE_RES_TYPE
			Indicates how the resolution is measured.
			Type: fz_wind_image_res_type_enum
			Default Value: FZ_WIND_IMAGE_RES_TYPE_INCH
		FZ_WIND_IMAGE_OPTS_SIZE_PROPORTION
			Indicates if the image maintains proportions.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_IMAGE_OPTS_COLOR_DEPTH
			Indicates the color bit-depth of the image.
			Type: fz_wind_image_colr_dpth_type_enum
			Default Value: FZ_WIND_IMAGE_COLR_DPTH_TYPE_32
		FZ_WIND_IMAGE_OPTS_MAX_SCREEN
			Indicates if the image dimensions should be maintained.
			Type: fzrt_boolean
			Default Value: FALSE

	Availability	5.0.0.0


	See Also
		fz_wind_image_opts_set_parm_data

 ****************************************************************/
typedef enum fz_wind_image_opts_parm_enum
{	FZ_WIND_IMAGE_OPTS_SIZE_TYPE=0,

	FZ_WIND_IMAGE_OPTS_CUSTOM_TYPE,

	FZ_WIND_IMAGE_OPTS_PIXEL_WIDTH,

	FZ_WIND_IMAGE_OPTS_PIXEL_HEIGHT,

	FZ_WIND_IMAGE_OPTS_SIZE_WIDTH,

	FZ_WIND_IMAGE_OPTS_SIZE_HEIGHT,

	FZ_WIND_IMAGE_OPTS_SIZE_RES_VALUE,

	FZ_WIND_IMAGE_OPTS_SIZE_RES_TYPE,

	FZ_WIND_IMAGE_OPTS_SIZE_PROPORTION,

	FZ_WIND_IMAGE_OPTS_COLOR_DEPTH,

	FZ_WIND_IMAGE_OPTS_MAX_SCREEN,

	FZ_WIND_IMAGE_OPTS_PARM_MAX
} fz_wind_image_opts_parm_enum;

/****************************************************************

	fz_wind_plane_enum


	Description
		Window plane types.

	Members
		FZ_XY_PLANE
			Indicates an XY plane.
		FZ_YZ_PLANE
			Indicates a YZ plane.
		FZ_ZX_PLANE
			Indicates a ZX plane.
		FZ_ARB_PLANE
			Indicates an arbitrary plane.

	Availability	5.0.0.0


	See Also
		fz_wind_set_ref_plane

 ****************************************************************/
typedef enum fz_wind_plane_enum
{
	FZ_XY_PLANE = 0,
	FZ_YZ_PLANE,
	FZ_ZX_PLANE,
	FZ_ARB_PLANE,
	
	FZ_PLANE_MAX
} fz_wind_plane_enum;

/****************************************************************

	fz_wind_grid_snap_opts_parm_enum


	Description
		Window grid snap option parameters.

	Members
		FZ_WIND_GRID_SNAP_OPTS_SNAP_LOCK
			Indicates the type of image size.
			Type: fz_wind_image_size_type_enum
			Default Value: FZ_WIND_IMAGE_SIZE_TYPE_WINDOW
		FZ_WIND_GRID_SNAP_OPTS_MATCH_GRID
			Indicates the type of image size.
			Type: fz_wind_image_size_type_enum
			Default Value: FZ_WIND_IMAGE_SIZE_TYPE_WINDOW
		FZ_WIND_GRID_SNAP_OPTS_GRID_X
			Indicates the X-axis value for the snap.
			Type: double
		FZ_WIND_GRID_SNAP_OPTS_GRID_Y
			Indicates the Y-axis value for the snap.
			Type: double
		FZ_WIND_GRID_SNAP_OPTS_GRID_Z
			Indicates the Z-axis value for the snap.
			Type: double

	Availability	5.0.0.0


	See Also
		fz_wind_set_grid_snap_opts

 ****************************************************************/
typedef enum fz_wind_grid_snap_opts_parm_enum
{	FZ_WIND_GRID_SNAP_OPTS_SNAP_LOCK=0,

	FZ_WIND_GRID_SNAP_OPTS_MATCH_GRID,

	FZ_WIND_GRID_SNAP_OPTS_GRID_X,

	FZ_WIND_GRID_SNAP_OPTS_GRID_Y,

	FZ_WIND_GRID_SNAP_OPTS_GRID_Z,

	FZ_WIND_GRID_SNAP_OPTS_PARM_MAX
} fz_wind_grid_snap_opts_parm_enum;

/****************************************************************

	fz_wind_dir_snap_type_enum


	Description
		Window directional snap, radial snap types.

	Members
		FZ_WIND_DIR_SNAP_TYPE_ANGLE
			Indicates the radial directional snap is by angle.
		FZ_WIND_DIR_SNAP_TYPE_DIV
			Indicates the radial directional snap is by radial divisions.

	Availability	5.0.0.0

 ****************************************************************/
typedef enum fz_wind_dir_snap_type_enum
{
	FZ_WIND_DIR_SNAP_TYPE_ANGLE = 0,
	FZ_WIND_DIR_SNAP_TYPE_DIV,

	FZ_WIND_DIR_SNAP_TYPE_MAX
} fz_wind_dir_snap_type_enum;

/****************************************************************

	fz_wind_dir_snap_opts_parm_enum


	Description
		Window directional snap option parameters.

	Members
		FZ_WIND_DIR_SNAP_OPTS_RAD_TYPE
			Indicates the type of radial directional snap.
			Type: fz_wind_dir_snap_type_enum
			Default Value: FZ_WIND_DIR_SNAP_TYPE_ANGLE
		FZ_WIND_DIR_SNAP_OPTS_RAD_ANGLE
			Indicates the number of degrees in a radial snap.
			Type: double
		FZ_WIND_DIR_SNAP_OPTS_RAD_RIV
			Indicates the number of radial divisions in a radial snap.
			Type: fzrt_int
		FZ_WIND_DIR_SNAP_OPTS_RAD_DIST_SNAP
			Indicates the .
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_DIR_SNAP_OPTS_RAD_DIST
			Indicates the distance of a radial snap using distance snapping.
			Type: double
		FZ_WIND_DIR_SNAP_OPTS_ANG_ANGLE
			Indicates the angle of an angle snap.
			Type: double
		FZ_WIND_DIR_SNAP_OPTS_ANG_RISE
			Indicates the rise of an angle snap.
			Type: double
		FZ_WIND_DIR_SNAP_OPTS_ANG_RUN
			Indicates the run of an angle snap.
			Type: double

	Availability	5.0.0.0


	See Also
		fz_wind_get_dir_snap_opts_obsolete, fz_wind_set_dir_snap_opts_obsolete

 ****************************************************************/
typedef enum fz_wind_dir_snap_opts_parm_enum
{	FZ_WIND_DIR_SNAP_OPTS_RAD_TYPE=0,

	FZ_WIND_DIR_SNAP_OPTS_RAD_ANGLE,

	FZ_WIND_DIR_SNAP_OPTS_RAD_RIV,

	FZ_WIND_DIR_SNAP_OPTS_RAD_DIST_SNAP,

	FZ_WIND_DIR_SNAP_OPTS_RAD_DIST,

	FZ_WIND_DIR_SNAP_OPTS_ANG_ANGLE,

	FZ_WIND_DIR_SNAP_OPTS_ANG_RISE,

	FZ_WIND_DIR_SNAP_OPTS_ANG_RUN,

	FZ_WIND_DIR_SNAP_OPTS_PARM_MAX
} fz_wind_dir_snap_opts_parm_enum;

/****************************************************************

	fz_wind_obj_smooth_type_enum


	Description
		Window object snap to midpoint smooth arcs type.

	Members
		FZ_WIND_OBJ_SMOOTH_TYPE_EDGE_MID
			Indicates the smooth arc at midpoint of edge.
		FZ_WIND_OBJ_SMOOTH_TYPE_ARC_MID
			Indicates the smooth arc at midpoint of arc chord.
		FZ_WIND_OBJ_SMOOTH_TYPE_ARC_CENTER
			Indicates the smooth arc at center of arc.

	Availability	5.0.0.0


	See Also
		fz_wind_obj_snap_opts_parm_enum

 ****************************************************************/
typedef enum fz_wind_obj_smooth_type_enum
{
	FZ_WIND_OBJ_SMOOTH_TYPE_EDGE_MID = 0,
	FZ_WIND_OBJ_SMOOTH_TYPE_ARC_MID,
	FZ_WIND_OBJ_SMOOTH_TYPE_ARC_CENTER,

	FZ_WIND_OBJ_SMOOTH_TYPE_MAX
} fz_wind_obj_smooth_type_enum;

/****************************************************************

	fz_wind_obj_snap_segt_type_enum


	Description
		Window object snap to segment part type.

	Members
		FZ_WIND_OBJ_SNAP_SEGT_TYPE_INVL
			Indicates the segment snap by interval.
		FZ_WIND_OBJ_SNAP_SEGT_TYPE_PROP
			Indicates the segment snap by proportion.

	Availability	5.0.0.0

 ****************************************************************/
typedef enum fz_wind_obj_snap_segt_type_enum
{
	FZ_WIND_OBJ_SNAP_SEGT_TYPE_INVL = 0,
	FZ_WIND_OBJ_SNAP_SEGT_TYPE_PROP,

	FZ_WIND_OBJ_SNAP_SEGT_TYPE_MAX
} fz_wind_obj_snap_segt_type_enum;

/****************************************************************

	fz_wind_obj_snap_type_enum


	Description
		Window object perpendicular/angular snap type.

	Members
		FZ_WIND_OBJ_SNAP_TYPE_PERP
			Indicates the perpendicular snap.
		FZ_WIND_OBJ_SNAP_TYPE_ANG
			Indicates the anguar snap.

	Availability	5.0.0.0

 ****************************************************************/
typedef enum fz_wind_obj_snap_type_enum
{
	FZ_WIND_OBJ_SNAP_TYPE_PERP = 0,
	FZ_WIND_OBJ_SNAP_TYPE_ANG,

	FZ_WIND_OBJ_SNAP_TYPE_MAX
} fz_wind_obj_snap_type_enum;

/****************************************************************

	fz_wind_obj_proj_dpth_type_enum


	Description
		Window object projection depth snap type.

	Members
		FZ_WIND_OBJ_PROJ_DPTH_TYPE_CLOSE
			Indicates the projection depth snap uses closest.
		FZ_WIND_OBJ_PROJ_DPTH_TYPE_FAR
			Indicates the projection depth snap uses farthest.

	Availability	5.0.0.0


	See Also
		fz_wind_obj_snap_opts_parm_enum

 ****************************************************************/
typedef enum fz_wind_obj_proj_dpth_type_enum
{
	FZ_WIND_OBJ_PROJ_DPTH_TYPE_CLOSE = 0,
	FZ_WIND_OBJ_PROJ_DPTH_TYPE_FAR,

	FZ_WIND_OBJ_PROJ_DPTH_TYPE_MAX
} fz_wind_obj_proj_dpth_type_enum;

/****************************************************************

	fz_wind_obj_snap_opts_parm_enum


	Description
		Window object snap option parameters.

	Members
		FZ_WIND_OBJ_SNAP_OPTS_SHOW_PREV
			Indicates the show snap preview.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_OBJ_SNAP_OPTS_EXTEND
			Indicates the extended intersections.
			Type: fzrt_boolean
		FZ_WIND_OBJ_SNAP_OPTS_TOL
			Indicates the tolerance in pixels.
			Type: fzrt_int
		FZ_WIND_OBJ_SNAP_OPTS_SMOOTH
			Indicates the type of arc smoothing.
			Type: fz_wind_obj_smooth_type_enum
		FZ_WIND_OBJ_SNAP_OPTS_SEG_TYPE
			Indicates the type of snap to segment part.
			Type: fz_wind_obj_snap_segt_type_enum
		FZ_WIND_OBJ_SNAP_OPTS_SEG_INTV
			Indicates the number of divisions in an interval snap.
			Type: fzrt_int
		FZ_WIND_OBJ_SNAP_OPTS_SEG_PROP
			Indicates proportion snap percentage from ends.
			Type: double
		FZ_WIND_OBJ_SNAP_OPTS_PERP_ANG_TYPE
			Indicates the type of snapping; perpendicular or angular.
			Type: fz_wind_obj_snap_type_enum
		FZ_WIND_OBJ_SNAP_OPTS_ANG_SNAP
			Indicates the number of degrees in an angular snap.
			Type: double
		FZ_WIND_OBJ_SNAP_OPTS_PROJ_LOCK
			Indicates the projection view drawing locked to first point.
			Type: fzrt_boolean
		FZ_WIND_OBJ_SNAP_OPTS_PROJ_PROJ
			Indicates the projection view projected onto reference plane.
			Type: fzrt_boolean
		FZ_WIND_OBJ_SNAP_OPTS_PROJ_DEPTH
			Indicates the projection view depth snap type.
			Type: fz_wind_obj_proj_dpth_type_enum
		FZ_WIND_OBJ_SNAP_OPTS_3D_LOCK
			Indicates the 3D view drawing locked to first point.
			Type: fzrt_boolean
		FZ_WIND_OBJ_SNAP_OPTS_3D_PROJ
			Indicates the 3D view projected onto reference plane.
			Type: fzrt_boolean
		FZ_WIND_OBJ_SNAP_OPTS_COMBO
			Indicates the snap types in a combination snap type.
			Type: 

	Availability	5.0.0.0


	See Also
		fz_wind_set_obj_snap_opts

 ****************************************************************/
typedef enum fz_wind_obj_snap_opts_parm_enum
{	FZ_WIND_OBJ_SNAP_OPTS_SHOW_PREV=0,

	FZ_WIND_OBJ_SNAP_OPTS_EXTEND,

	FZ_WIND_OBJ_SNAP_OPTS_TOL,

	FZ_WIND_OBJ_SNAP_OPTS_SMOOTH,

	FZ_WIND_OBJ_SNAP_OPTS_SEG_TYPE,

	FZ_WIND_OBJ_SNAP_OPTS_SEG_INTV,

	FZ_WIND_OBJ_SNAP_OPTS_SEG_PROP,

	FZ_WIND_OBJ_SNAP_OPTS_PERP_ANG_TYPE,

	FZ_WIND_OBJ_SNAP_OPTS_ANG_SNAP,

	FZ_WIND_OBJ_SNAP_OPTS_PROJ_LOCK,

	FZ_WIND_OBJ_SNAP_OPTS_PROJ_PROJ,

	FZ_WIND_OBJ_SNAP_OPTS_PROJ_DEPTH,

	FZ_WIND_OBJ_SNAP_OPTS_3D_LOCK,

	FZ_WIND_OBJ_SNAP_OPTS_3D_PROJ,

	FZ_WIND_OBJ_SNAP_OPTS_COMBO,

	FZ_WIND_OBJ_SNAP_OPTS_PARM_MAX
} fz_wind_obj_snap_opts_parm_enum;

/****************************************************************

	fz_wind_zoom_opts_parm_enum


	Description
		Window zoom option parameters.

	Members
		FZ_WIND_ZOOM_OPTS_ZOOM_BY
			Indicates whether zoom is by center (FALSE) or corners (TRUE).
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_ZOOM_OPTS_IN_BY
			Indicates the percent to zoom in by. (1.0 = 100%)
			Type: double
			Default Value: 0.75
		FZ_WIND_ZOOM_OPTS_OUT_BY
			Indicates the percent to zoom out by. (1.0 = 100%)
			Type: double
			Default Value: 0.75
		FZ_WIND_ZOOM_OPTS_PROP
			When set, when a change to FZ_WIND_ZOOM_OPTS_IN_BY, FZ_WIND_ZOOM_OPTS_OUT_BY 
			automatically adjusts to its inverse value and vice versa. 
			When off, the values are independent.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_ZOOM_OPTS_FIT_BORDER
			Indicates the percentage used to reduce the size of the window 
			before executing the fit all operation.
			Type: double
		FZ_WIND_ZOOM_OPTS_FIT_LIGHT
			When set, the lights are taken into consideration when fitting the content 
			of the project in the fit all operation.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_ZOOM_OPTS_FIT_VIEW_CAM
			When set and a camera is displayed, the camera's graphic representation is 
			taken into consideration when fitting the content of the project in the fit all operation.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_ZOOM_OPTS_FIT_SELECTED
			When set, only selected entities are taken into consideration when fitting the content 
			of the project in the fit all operation.
			Type: fzrt_boolean
			Default Value: FALSE

	Availability	5.0.0.0

 ****************************************************************/
typedef enum fz_wind_zoom_opts_parm_enum
{	FZ_WIND_ZOOM_OPTS_ZOOM_BY=0,

	FZ_WIND_ZOOM_OPTS_IN_BY,

	FZ_WIND_ZOOM_OPTS_OUT_BY,

	FZ_WIND_ZOOM_OPTS_PROP,

	FZ_WIND_ZOOM_OPTS_FIT_BORDER,

	FZ_WIND_ZOOM_OPTS_FIT_LIGHT,

	FZ_WIND_ZOOM_OPTS_FIT_VIEW_CAM,

	FZ_WIND_ZOOM_OPTS_FIT_SELECTED,

	FZ_WIND_ZOOM_OPTS_PARM_MAX
} fz_wind_zoom_opts_parm_enum;

/****************************************************************

	fz_wind_new



	Description
		Opens a new project window for the project. The window is made the active window.

	Parameters
		wind_type  [Input]
			type for window
		windex  [Result]
			project window index

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_new_func)(
	fz_wind_type_enum	wind_type,
	fzrt_int				*windex
	);

/****************************************************************

	fz_wind_get_title



	Description
		Get the project window title name (string).

	Parameters
		windex  [Input]
			project window index
		name  [Result, Optional]
			The projects name
		max_len  [Input]
			length of name parameter

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_title_func)(
	fzrt_int			windex,
	char			*name,
	fzrt_int			max_len
	);

/****************************************************************

	fz_wind_close



	Description
		Closes a window. If the window is the last remaining open window of the project, 
		the project is automatically closed by calling fz_proj_close.

	Parameters
		windex  [Input]
			project window index
		opts  [Input]
			save option, used to call fz_proj_close if window is the only open window

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_proj_close

 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_close_func)(
	fzrt_int							windex,
	fz_proj_close_opts_enum 		opts
	);

/****************************************************************

	fz_wind_get_count



	Description
		Gets the number of windows in a project of the specified type. 
		When type == FZ_WIND_TYPE_NONE, then all windows regardless of type are counted.

	Parameters
		windex  [Input]
			project window index
		wind_type  [Input]
			type of previous window to count
		nwinds  [Input]
			number of windows of wind_type

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_count_func)(
	fzrt_int				windex,
	fz_wind_type_enum	wind_type,
	fzrt_int				*nwinds
	);

/****************************************************************

	fz_wind_get_next



	Description
		Gets the next project window.  This function gets the next window of the specified type. 
		When type == FZ_WIND_TYPE_NONE, then the next window regardless of type is returned. 
		The project windows can be walked using this function until the windex_next is the starting windex.

	Parameters
		windex  [Input]
			project window index
		wind_type  [Input]
			type of next window to get
		windex_next  [Input]
			next window project of wind_type

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_prev

 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_next_func)(
	fzrt_int				windex,
	fz_wind_type_enum	wind_type,
	fzrt_int				*windex_next
	);

/****************************************************************

	fz_wind_get_prev



	Description
		Gets the previous project window.  This function gets the previous window of the specified type. 
		When type == FZ_WIND_TYPE_NONE, then the previous window regardless of type is returned. 
		The project windows can be walked using this function until the windex_prev is the starting windex.

	Parameters
		windex  [Input]
			project window index
		wind_type  [Input]
			type of previous window to get
		windex_prev  [Input]
			previous window project of wind_type

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_next

 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_prev_func)(
	fzrt_int				windex,
	fz_wind_type_enum	wind_type,
	fzrt_int				*windex_prev
	);

/****************************************************************

	fz_wind_get_rect



	Description
		Gets the project window size and location. This rectangle is in 
		global screen coordinates relative to the origin of the desktop.

	Parameters
		windex  [Input]
			project window index
		rect  [Result]
			project window size and location

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_rect

 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_rect_func)(
	fzrt_int				windex,
	fzrt_rect			*rect
	);

/****************************************************************

	fz_wind_set_rect



	Description
		Sets the project window size and location. This rectangle is in 
		global screen coordinates relative to the origin of the desktop.

	Parameters
		windex  [Input]
			project window index
		rect  [Result]
			project window size and location

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_rect

 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_set_rect_func)(
	fzrt_int				windex,
	fzrt_rect			*rect
	);

/****************************************************************

	fz_wind_get_image_rect



	Description
		Gets the image rectangle for the project window. This is the area of the window that the 
		image appears in and where all interactive input happens. This rectangle is in 
		local screen coordinates relative to the upper left corner of the window.

	Parameters
		windex  [Input]
			project window index
		rect  [Result]
			image rectangle size and location

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_image_rect

 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_image_rect_func)(
	fzrt_int				windex,
	fzrt_rect			*rect
	);

/****************************************************************

	fz_wind_set_image_rect



	Description
		Sets the image rectangle for the project window. This is the area of the window that the 
		image appears in and where all interactive input happens. This rectangle is in 
		local screen coordinates relative to the upper left corner of the window. The 
		image rect is always centered in the window, therefore the dimensions specified in the rect parameter are applied 
		(i.e. width = rect->right - rect->left and height = rect->bottom - rect->top)

		Note that settings in the Image Options dialog and View Parameters affect the ability 
		to change the image rect. If use Use Custom Size is selected in the Image Options or 
		the current view has the Camera View option enabled in the View Parameters dialog then the 
		following rules apply: 

		1. The image rect can not be changed to be larger than the settings in the 
		Image Options (Custom Size) or View Parameters (Camera View) settings. If a 
		larger dimension is specified, the image rect is not expanded larger than the 
		overriding dimension.   
		 
		2. The image rect can not be changed to different proportions than the proportions specified 
		in the Image Options (Custom Size) or View Parameters (Camera View) settings. If a 
		different proportion is specified, the image rect is adjusted to match the 
		overriding proportion.   
		 
		3. If the dimensions are larger than the window, the window size will be increased.  
		 
		4. If the dimensions are smaller than the window, the window size will not be 
		decreased unless the Maximize Window In Screen option is selected in the Image Options. 

	Parameters
		windex  [Input]
			project window index
		rect  [Input]
			image rectangle size

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_image_rect

 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_set_image_rect_func)(
	fzrt_int				windex,
	fzrt_rect			*rect
	);


/****************************************************************

	fz_wind_get_type



	Description
		Gets the type of the project window.

	Parameters
		windex  [Input]
			project window index
		wind_type  [Result]
			window type

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_type_func)(
	fzrt_int				windex,
	fz_wind_type_enum	*wind_type
	);

/****************************************************************

	fz_wind_inval



	Description
		Invalidates an area of the project window so that it is redrawn. This task is performed 
		automatically by formZ when data or options change. This function should be rarely used 
		by extensions. If the rect and rgn parameters are both NULL, then the entire window is redrawn.

	Parameters
		windex  [Input]
			project window index
		rect  [Input, Optional]
			rect to inval (or NULL)
		rgn  [Input, Optional]
			region to inval (or NULL)

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_inval_func)(
	fzrt_int				windex,
	fzrt_rect 			*rect,
	fzrt_rgn_ptr 		rgn
	);

/****************************************************************

	fz_wind_get_active



	Description
		Gets the project window index of the active window. 
		This is the front most project window and the one where all graphic input occurs 

		IMPORTANT NOTE!  
		 
		THIS FUNCTION SHOULD NEVER BE USED IN PLACE OF A PROJECT WINDOW INDEX PARAMETER (windex) 
		PROVIDED TO A CALL BACK FUNCTION. ALWAYS USE THE PROVIDED PROJECT WINDOW INDEX AS FORMZ 
		FREQUENTLY WILL PROCESS WINDOWS OTHER THAN THE ACTIVE WINDOW. THIS FUNCTION SHOULD 
		ONLY BE USED FOR MANAGING WINDOWS SUCH AS CASES WHERE IT IS DESIRABLE TO SAVE OFF THE 
		CURRENT WINDEX AND THEN RESTORE IT AFTER SOME WINDOW MANIPULATIONS.

	Parameters
		windex  [Result]
			project window index

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_active_func)(
	fzrt_int				*windex
	);

/****************************************************************

	fz_wind_set_active



	Description
		Sets the project window to the active window and brings the window in front of all other windows.

	Parameters
		windex  [Input]
			project window index

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_set_active_func)(
	fzrt_int				windex
	);


/****************************************************************

	fz_wind_get_map_plane



	Description
		Retrieves the active map plane of the selected window.

	Parameters
		windex  [Input]
			project window index
		mplane  [Result]
			the map plane

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_get_map_plane_func)(
	fzrt_int				windex,
	fz_map_plane_td 	*mplane
	);

/****************************************************************

	fz_wind_zoom_extents



	Description
		Routine for zooming, to the extents of all of the objects in the window

	Parameters
		windex  [Input]
			project window index

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td  (*fz_wind_zoom_extents_func)(
	fzrt_int	windex
	);

/****************************************************************

	fz_wind_opts_get_parm_data



	Description
		Gets a window option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_opts_set_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_opts_get_parm_data_func) (
	fzrt_int						windex,
	fz_wind_opts_parm_enum		which,
	fz_type_td					*value
	);

/****************************************************************

	fz_wind_opts_set_parm_data



	Description
		Sets a window option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Input]
			parameter data
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_opts_get_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_opts_set_parm_data_func) (
	fzrt_int						windex,
	fz_wind_opts_parm_enum		which,
	fz_type_td					*value,
	fzrt_boolean				all
	);

/****************************************************************

	fz_wind_image_opts_get_parm_data



	Description
		Gets a window image option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_image_opts_set_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_image_opts_get_parm_data_func) (
	fzrt_int						windex,
	fz_wind_image_opts_parm_enum	which,
	fz_type_td					*value
	);

/****************************************************************

	fz_wind_image_opts_set_parm_data



	Description
		Sets a window image option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Input]
			parameter data
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_image_opts_get_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_image_opts_set_parm_data_func) (
	fzrt_int						windex,
	fz_wind_image_opts_parm_enum	which,
	fz_type_td					*value,
	fzrt_boolean				all
	);

/****************************************************************

	fz_wind_get_ref_plane



	Description
		Gets a window reference plane.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_ref_plane_func) (
	fzrt_int					windex,
	fz_wind_plane_enum		*which
	);

/****************************************************************

	fz_wind_set_ref_plane



	Description
		Sets a window reference plane.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl
 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_ref_plane_func) (
	fzrt_int					windex,
	fz_wind_plane_enum		which
	);

/****************************************************************

	fz_wind_get_perp



	Description
		Gets if the window perpendicular is on or off.

	Parameters
		windex  [Input]
			project window index
		value  [Result]
			indicates if the window perpendicular is on. 
			TRUE if on, FALSE otherwise.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_perp

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_perp_func) (
	fzrt_int					windex,
	fzrt_boolean			*value
	);

/****************************************************************

	fz_wind_set_perp



	Description
		Sets the window perpendicular to on or off.

	Parameters
		windex  [Input]
			project window index
		value  [Input]
			sets the window perpendicular. 
			TRUE if on, FALSE otherwise.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_perp

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_perp_func) (
	fzrt_int					windex,
	fzrt_boolean			value
	);



																			
/****************************************************************

	fz_wind_draw_init



	Description
		TODO

	Parameters
		windex  [Input]
			project window index passed into wind_setup_windex
		map_perp  [Input]
			perp enabled
		map_locked  [Input]
			map locked
		perp_base_point  [Input, Optional]
			base point for perp mapping
		prev_state  [Result]
			previous drawing state, should be returned in fz_wind_draw_finit function call

	Returns
		error codes.


	Availability	5.0.0.0


	See Also
		fz_wind_draw_finit

 ****************************************************************/
typedef fzrt_error_td 	 (*fz_wind_draw_init_func)(
	fzrt_int					windex,
	fzrt_boolean 			map_perp,
	fzrt_boolean 			map_locked,
	fz_xyz_td 				*perp_base_point,
	fzrt_int 					*prev_state
	);
	
/****************************************************************

	fz_wind_draw_finit



	Description
		TODO

	Parameters
		windex  [Input]
			project window index passed into wind_setup_windex
		prev_state  [Input]
			previous drawing state returned from fz_wind_draw_init

	Returns
		error codes.


	Availability	5.0.0.0


	See Also
		fz_wind_draw_init

 ****************************************************************/
typedef fzrt_error_td 	 (*fz_wind_draw_finit_func)(
	fzrt_int					windex,
	fzrt_int 					prev_state
	);

/****************************************************************

	fz_wind_get_grid_snap



	Description
		Gets if the window grid snap is on or off.

	Parameters
		windex  [Input]
			project window index
		value  [Result]
			indicates if the window grid snap is on. 
			TRUE if on, FALSE otherwise.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_grid_snap

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_grid_snap_func) (
	fzrt_int					windex,
	fzrt_boolean			*value
	);

/****************************************************************

	fz_wind_set_grid_snap



	Description
		Sets the window grid snap to on or off.

	Parameters
		windex  [Input]
			project window index
		value  [Input]
			sets the window grid snap. 
			TRUE if on, FALSE otherwise.
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_grid_snap

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_grid_snap_func) (
	fzrt_int					windex,
	fzrt_boolean			value,
	fzrt_boolean			all
	);

/****************************************************************

	fz_wind_get_grid_snap_opts



	Description
		Gets a window grid snap option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_grid_snap_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_grid_snap_opts_func) (
	fzrt_int								windex,
	fz_wind_grid_snap_opts_parm_enum	which,
	fz_type_td							*value
	);

/****************************************************************

	fz_wind_set_grid_snap_opts



	Description
		Sets a window grid snap option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Input]
			parameter data
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_grid_snap_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_grid_snap_opts_func) (
	fzrt_int								windex,
	fz_wind_grid_snap_opts_parm_enum	which,
	fz_type_td							*value,
	fzrt_boolean						all
	);

/****************************************************************

	fz_wind_get_obj_snap



	Description
		Gets a window object snap type.

	Parameters
		windex  [Input]
			project window index
		uuid  [Result]
			object snap type.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_obj_snap

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_obj_snap_func) (
	fzrt_int					windex,
	fzrt_UUID_td			*uuid
	);

/****************************************************************

	fz_wind_set_obj_snap



	Description
		Sets a window object snap type.

	Parameters
		windex  [Input]
			project window index
		uuid  [Input]
			object snap type.
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_obj_snap

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_obj_snap_func) (
	fzrt_int					windex,
	fzrt_UUID_td			uuid,
	fzrt_boolean			all
	);

/****************************************************************

	fz_wind_get_dir_snap_obsolete



	Description
		Gets a window directional snap type.

	Parameters
		windex  [Input]
			project window index
		uuid  [Result]
			directional snap type.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_dir_snap

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_dir_snap_func) (
	fzrt_int					windex,
	fzrt_UUID_td			*uuid
	);

/****************************************************************

	fz_wind_set_dir_snap_obsolete



	Description
		Sets a window directional snap type.

	Parameters
		windex  [Input]
			project window index
		uuid  [Input]
			directional snap type.
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_dir_snap

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_dir_snap_func) (
	fzrt_int					windex,
	fzrt_UUID_td			uuid,
	fzrt_boolean			all
	);

/****************************************************************

	fz_wind_get_dir_snap_opts_obsolete



	Description
		No longer supported in v 7.0.0.0 and later.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_dir_snap_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_dir_snap_opts_func) (
	fzrt_int								windex,
	fz_wind_dir_snap_opts_parm_enum		which,
	fz_type_td							*value
	);

/****************************************************************

	fz_wind_set_dir_snap_opts_obsolete



	Description
		No longer supported in v 7.0.0.0 and later.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Input]
			parameter data
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_dir_snap_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_dir_snap_opts_func) (
	fzrt_int								windex,
	fz_wind_dir_snap_opts_parm_enum		which,
	fz_type_td							*value,
	fzrt_boolean						all
	);

/****************************************************************

	fz_wind_get_obj_snap_opts



	Description
		No longer supported in v 7.0.0.0 and later.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_obj_snap_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_obj_snap_opts_func) (
	fzrt_int								windex,
	fz_wind_obj_snap_opts_parm_enum		which,
	fz_type_td							*value
	);

/****************************************************************

	fz_wind_set_obj_snap_opts



	Description
		No longer supported in v 7.0.0.0 and later.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Input]
			parameter data
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_obj_snap_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_obj_snap_opts_func) (
	fzrt_int								windex,
	fz_wind_obj_snap_opts_parm_enum		which,
	fz_type_td							*value,
	fzrt_boolean						all
	);

/****************************************************************

	fz_wind_zoom_in



	Description
		Zooms in a window.

	Parameters
		windex  [Input]
			project window index
		value  [Input, Optional]
			Scale to zoom in by. 
			If NULL, the value set by FZ_WIND_ZOOM_OPTS_IN_BY is used.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_zoom_out,fz_wind_zoom_reset,fz_wind_get_zoom_opts,fz_wind_set_zoom_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_zoom_in_func) (
	fzrt_int					windex,
	double					*value
	);

/****************************************************************

	fz_wind_zoom_out



	Description
		Zooms out a window.

	Parameters
		windex  [Input]
			project window index
		value  [Input, Optional]
			Scale to zoom in by. 
			If NULL, the value set by FZ_WIND_ZOOM_OPTS_OUT_BY is used.

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_zoom_in,fz_wind_zoom_reset,fz_wind_get_zoom_opts,fz_wind_set_zoom_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_zoom_out_func) (
	fzrt_int					windex,
	double					*value
	);

/****************************************************************

	fz_wind_zoom_reset



	Description
		Resets the window to it's pre-zoomed state.

	Parameters
		windex  [Input]
			project window index

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_zoom_in,fz_wind_zoom_out,fz_wind_get_zoom_opts,fz_wind_set_zoom_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_zoom_reset_func) (
	fzrt_int					windex
	);

/****************************************************************

	fz_wind_get_zoom_opts



	Description
		Gets a window zoom option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_zoom_in,fz_wind_zoom_out,fz_wind_zoom_reset,fz_wind_set_zoom_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_zoom_opts_func) (
	fzrt_int								windex,
	fz_wind_zoom_opts_parm_enum			which,
	fz_type_td							*value
	);

/****************************************************************

	fz_wind_set_zoom_opts



	Description
		Sets a window zoom option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Input]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_zoom_in,fz_wind_zoom_out,fz_wind_zoom_reset,fz_wind_get_zoom_opts

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_zoom_opts_func) (
	fzrt_int								windex,
	fz_wind_zoom_opts_parm_enum			which,
	fz_type_td							*value
	);


/****************************************************************

	fz_wind_rulr_incr_opts_parm_enum


	Description
		Window ruler increment option parameters. 
		Used by fz_wind_get_rulr_parm_data and fz_wind_get_rulr_parm 
		when the parameter id is FZ_WIND_RULR_INCR_TYPE.

	Members
		FZ_WIND_RULR_INCR_AUTO
			Indicates the ruler increments option uses automatic settings.
		FZ_WIND_RULR_INCR_GRID
			Indicates the ruler increments option will align with the grid module. 
			The layout of the rulers follows the layout of the grid.
		FZ_WIND_RULR_INCR_SET
			Indicates the ruler increments option has manually set increments.

	Availability	5.0.0.0


	See Also
		fz_wind_rulr_opts_parm_enum

 ****************************************************************/
typedef enum fz_wind_rulr_incr_opts_parm_enum
{	FZ_WIND_RULR_INCR_AUTO = 0,

	FZ_WIND_RULR_INCR_GRID,

	FZ_WIND_RULR_INCR_SET,

	FZ_WIND_RULR_INCR_MAX
} fz_wind_rulr_incr_opts_parm_enum;

/****************************************************************

	fz_wind_rulr_opts_parm_enum


	Description
		Window ruler option parameters. 
		Used for the "which" argument of fz_wind_get_rulr_parm_data and fz_wind_get_rulr_parm.

	Members
		FZ_WIND_RULR_DISPLAY_TOP
			Indicates the ruler is displayed on the top edge of the window.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_RULR_DISPLAY_LEFT
			Indicates the ruler is displayed on the left edge of the window.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_RULR_DISPLAY_BOTTOM
			Indicates the ruler is displayed on the bottom edge of the window.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_RULR_DISPLAY_RIGHT
			Indicates the ruler is displayed on the right edge of the window.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_RULR_COORD_ABS
			Indicates the ruler is in absolute coordinates. 
			If this is set, the origin of the rulers is aligned with the origin of the coordinate system continuously. 
			Otherwise, relative coordinates are used which means the origin of the rulers is adjusted each time a new 
			point is drawn, and is aligned with the previous point.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_RULR_REF_WORLD
			Indicates the ruler is using the world coordinate system as the base. 
			If not set, the ruler uses the reference plane coordinate system as the base.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_RULR_SHOW_TEXT
			Indicates the ruler will display text in the ruler. 
			If FZ_WIND_RULR_SHOW_UNIT is set, numeric measurements and the 
			units are displayed in the ruler, otherwise only the numeric measurements are displayed. 
			If not set, no text is displayed in the rulers.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_RULR_SHOW_UNIT
			Indicates the ruler will display the unit indicators in the ruler. 
			This option is only available if FZ_WIND_RULR_SHOW_TEXT is set. 
			If not set, the unit indicators won't be displayed in the ruler.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_RULR_INCR_TYPE
			Indicates the ruler increment type.
			Type: fz_wind_rulr_incr_opts_parm_enum
			Default Value: FZ_WIND_RULR_INCR_GRID
		FZ_WIND_RULR_INCR_MOD_H
			Indicates the distance between major marks on the ruler in 
			the horizontal direction. 
			This is only valid if FZ_WIND_RULR_INCR_TYPE is set to FZ_WIND_RULR_INCR_SET.
			Type: double
		FZ_WIND_RULR_INCR_MOD_V
			Indicates the distance between major marks on the ruler in 
			the vertical direction. 
			This is only valid if FZ_WIND_RULR_INCR_TYPE is set to FZ_WIND_RULR_INCR_SET.
			Type: double
		FZ_WIND_RULR_INCR_DIV_H
			Indicates the number of divisions between major marks 
			on the ruler in the horizontal direction. 
			This is only valid if FZ_WIND_RULR_INCR_TYPE is set to FZ_WIND_RULR_INCR_SET.
			Type: fzrt_int
			Default Value: 4
			Range: 0
		FZ_WIND_RULR_INCR_DIV_V
			Indicates the number of divisions between major marks 
			on the ruler in the vertical direction. 
			This is only valid if FZ_WIND_RULR_INCR_TYPE is set to FZ_WIND_RULR_INCR_SET.
			Type: fzrt_int
			Default Value: 4
			Range: 0
		FZ_WIND_RULR_SUBDIV
			Indicates the ruler will be subdivided by the specified amount when larger window 
			display scales are used. When this is set, subdivisions will be subdivided again and again, 
			whenever the whole number of subdivisions in FZ_WIND_RULR_SUBDIV_H or FZ_WIND_RULR_SUBDIV_V 
			fits in the space of the immediately higher level of subdivision. 
			This is only valid if FZ_WIND_RULR_INCR_TYPE is set to FZ_WIND_RULR_INCR_SET 
			or FZ_WIND_RULR_INCR_GRID.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_RULR_SUBDIV_H
			Indicates the number of subdivisions used in the horizontal ruler. 
			This is only valid if FZ_WIND_RULR_INCR_TYPE is set to FZ_WIND_RULR_INCR_SET 
			or FZ_WIND_RULR_INCR_GRID and FZ_WIND_RULR_SUBDIV is on.
			Type: fzrt_int
			Default Value: 2
			Range: 0
		FZ_WIND_RULR_SUBDIV_V
			Indicates the number of subdivisions used in the vertical ruler. 
			This is only valid if FZ_WIND_RULR_INCR_TYPE is set to FZ_WIND_RULR_INCR_SET 
			or FZ_WIND_RULR_INCR_GRID and FZ_WIND_RULR_SUBDIV is on.
			Type: fzrt_int
			Default Value: 2
			Range: 0
		FZ_WIND_RULR_ORIGIN
			Indicates the ruler will use offset values for the origin.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_RULR_ORIGIN_H
			Indicates the offset value for the origin in the horizontal direction.
			Type: double
			Default Value: 0.0
		FZ_WIND_RULR_ORIGIN_V
			Indicates the offset value for the origin in the vertical direction.
			Type: double
			Default Value: 0.0
		FZ_WIND_RULR_PLOT_SCALE
			Indicates the layout of the rulers is set according to the 
			plot scale values in the 'Plot/Print Setup' dialog.
			Type: fzrt_boolean
			Default Value: FALSE

	Availability	5.0.0.0


	See Also
		fz_wind_set_rulr_parm_data

 ****************************************************************/
typedef enum fz_wind_rulr_opts_parm_enum
{	FZ_WIND_RULR_DISPLAY_TOP = 0,

	FZ_WIND_RULR_DISPLAY_LEFT,

	FZ_WIND_RULR_DISPLAY_BOTTOM,

	FZ_WIND_RULR_DISPLAY_RIGHT,

	FZ_WIND_RULR_COORD_ABS,

	FZ_WIND_RULR_REF_WORLD,

	FZ_WIND_RULR_SHOW_TEXT,

	FZ_WIND_RULR_SHOW_UNIT,

	FZ_WIND_RULR_INCR_TYPE,

	FZ_WIND_RULR_INCR_MOD_H,

	FZ_WIND_RULR_INCR_MOD_V,

	FZ_WIND_RULR_INCR_DIV_H,

	FZ_WIND_RULR_INCR_DIV_V,

	FZ_WIND_RULR_SUBDIV,

	FZ_WIND_RULR_SUBDIV_H,

	FZ_WIND_RULR_SUBDIV_V,

	FZ_WIND_RULR_ORIGIN,

	FZ_WIND_RULR_ORIGIN_H,

	FZ_WIND_RULR_ORIGIN_V,

	FZ_WIND_RULR_PLOT_SCALE,

	FZ_WIND_RULR_MAX
} fz_wind_rulr_opts_parm_enum;

/****************************************************************

	fz_wind_get_rulr_parm_data



	Description
		Gets a ruler option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_rulr_parm_data,fz_wind_get_ruler,fz_wind_set_ruler

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_rulr_parm_data_func) (
	fzrt_int								windex,
	fz_wind_rulr_opts_parm_enum			which,
	fz_type_td							*value
	);

/****************************************************************

	fz_wind_set_rulr_parm_data



	Description
		Sets a ruler option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Input]
			parameter data
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_rulr_parm_data,fz_wind_get_ruler,fz_wind_set_ruler

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_rulr_parm_data_func) (
	fzrt_int								windex,
	fz_wind_rulr_opts_parm_enum			which,
	fz_type_td							*value,
	fzrt_boolean						all
	);

/****************************************************************

	fz_wind_get_ruler



	Description
		Gets whether the ruler is on or off.

	Parameters
		windex  [Input]
			project window index
		value  [Result]
			is the ruler on 
			TRUE if on, FALSE if off

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_ruler,fz_wind_get_rulr_parm_data,fz_wind_set_rulr_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_ruler_func) (
	fzrt_int				windex,
	fzrt_boolean		*value
	);

/****************************************************************

	fz_wind_set_ruler



	Description
		Sets the ruler to be on or off.

	Parameters
		windex  [Input]
			project window index
		value  [Input]
			set the ruler 
			TRUE if on, FALSE if off
		all  [Input]
			if TRUE, the parameter is copied to all windows, 
			otherwise the parameter only affects the passed in windex

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_ruler,fz_wind_get_rulr_parm_data,fz_wind_set_rulr_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_ruler_func) (
	fzrt_int				windex,
	fzrt_boolean		value,
	fzrt_boolean		all
	);

/****************************************************************

	fz_wind_underlay_opts_parm_enum


	Description
		Underlay option parameters. 
		Used for the "which" argument of fz_wind_get_underlay_parm_data and fz_wind_set_underlay_parm_data.

	Members
		FZ_WIND_UNDERLAY_ON
			Indicates the underlay is on.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_UNDERLAY_VIEW_3D
			Indicates the underlay will be placed in the 3D views.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_UNDERLAY_3D_MATCH
			Indicates the image size and shape will be adjusted to that of 
			the underlay.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_UNDERLAY_PROJ_SCALE
			Indicates the size of the underlay image in a projection or drafting window.
			Type: double
		FZ_WIND_UNDERLAY_PROJ_ORIG_H
			Indicates the horizontal alignment of the underlay in a projection or drafting window.
			Type: double
		FZ_WIND_UNDERLAY_PROJ_ORIG_V
			Indicates the vertical alignment of the underlay in a projection or drafting window.
			Type: double
		FZ_WIND_UNDERLAY_PROJ_CENTER
			Indicates the center of the underlay is placed at the origin in a 
			projection or drafting window. 
			Otherwise the top left corner of the underlay is placed at the origin. 
			The origin is defined by FZ_WIND_UNDERLAY_PROJ_ORIG_H and FZ_WIND_UNDERLAY_PROJ_ORIG_V.
			Type: fzrt_boolean
			Default Value: TRUE
		FZ_WIND_UNDERLAY_OVER_GRID
			Indicates the underlay is displayed on top of the reference grid 
			and its axes.
			Type: fzrt_boolean
			Default Value: FALSE
		FZ_WIND_UNDERLAY_FLOC
			Indicates the location of the file used for the underlay.
			Type: fzrt_floc_ptr
		FZ_WIND_UNDERLAY_FREP
			Indicates the location of the file used for the underlay.
			Type: fzrt_frep_ptr

	Availability	5.0.0.0

 ****************************************************************/
typedef enum fz_wind_underlay_opts_parm_enum
{	FZ_WIND_UNDERLAY_ON = 0,

	FZ_WIND_UNDERLAY_VIEW_3D,

	FZ_WIND_UNDERLAY_3D_MATCH,

	FZ_WIND_UNDERLAY_PROJ_SCALE,

	FZ_WIND_UNDERLAY_PROJ_ORIG_H,

	FZ_WIND_UNDERLAY_PROJ_ORIG_V,

	FZ_WIND_UNDERLAY_PROJ_CENTER,

	FZ_WIND_UNDERLAY_OVER_GRID,

	FZ_WIND_UNDERLAY_FLOC,

	FZ_WIND_UNDERLAY_FREP,

	FZ_WIND_UNDERLAY_MAX
} fz_wind_underlay_opts_parm_enum;

/****************************************************************

	fz_wind_get_underlay_parm_data



	Description
		Gets an underlay option parameter.

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Result]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_underlay_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_underlay_parm_data_func) (
	fzrt_int								windex,
	fz_wind_underlay_opts_parm_enum		which,
	fz_type_td							*value
	);

/****************************************************************

	fz_wind_set_underlay_parm_data



	Description
		Sets an underlay option parameter. 
		Note : The underlay file must be set (FZ_WIND_UNDERLAY_FLOC) before turning the 
		underlay on (FZ_WIND_UNDERLAY_ON).

	Parameters
		windex  [Input]
			project window index
		which  [Input]
			parameter identifier
		value  [Input]
			parameter data

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_underlay_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_set_underlay_parm_data_func) (
	fzrt_int								windex,
	fz_wind_underlay_opts_parm_enum		which,
	fz_type_td							*value
	);

/****************************************************************

	fz_wind_print



	Description
		Prints the selected project window.

	Parameters
		windex  [Input]
			project window index

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_proj_get_print_setup_parm_data,fz_proj_set_print_setup_parm_data

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_print_func) (
	fzrt_int		windex
	);

/****************************************************************

	fz_wind_get_wptr



	Description
		Gets a window pointer. 
		This will return the runtime window pointer for the display 
		window.

	Parameters
		windex  [Input]
			project window index
		wptr  [Result]
			pointer to the runtime window pointer

	Returns
		Error codes


	Availability	5.0.0.0


	See Also
		fzrt_get_window_port

 ****************************************************************/
typedef fzrt_error_td	 (*fz_wind_get_wptr_func) (
	fzrt_int								windex,
	fzrt_window_ptr						*wptr
	);

/****************************************************************

	fz_wind_frames_type_enum


	Description
		Window frames types.

	Members
		FZ_WIND_FRAMES_TYPE_1X2
			Window frames type 1x2.
		FZ_WIND_FRAMES_TYPE_1X3
			Window frames type 1x3.
		FZ_WIND_FRAMES_TYPE_2X1
			Window frames type 2x1.
		FZ_WIND_FRAMES_TYPE_2X2
			Window frames type 2x2.
		FZ_WIND_FRAMES_TYPE_2X3
			Window frames type 2x3.
		FZ_WIND_FRAMES_TYPE_3X1
			Window frames type 3x1.
		FZ_WIND_FRAMES_TYPE_3X2
			Window frames type 3x2.
		FZ_WIND_FRAMES_TYPE_3X3
			Window frames type 3x3.

	Availability	5.0.0.0


	See Also
		fz_wind_set_window_frames_type

 ****************************************************************/
typedef enum fz_wind_frames_type_enum
{	FZ_WIND_FRAMES_TYPE_1X2 = 0,

	FZ_WIND_FRAMES_TYPE_1X3,

	FZ_WIND_FRAMES_TYPE_2X1,

	FZ_WIND_FRAMES_TYPE_2X2,

	FZ_WIND_FRAMES_TYPE_2X3,

	FZ_WIND_FRAMES_TYPE_3X1,

	FZ_WIND_FRAMES_TYPE_3X2,

	FZ_WIND_FRAMES_TYPE_3X3,

	FZ_WIND_FRAMES_TYPE_MAX
} fz_wind_frames_type_enum;

/****************************************************************

	fz_wind_get_window_frames



	Description
		Sets whether the window frames are on or off.

	Parameters
		windex  [Input]
			project window index
		enable  [Result]
			are window frames enabled 
			TRUE if enabled, FALSE otherwise

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_window_frames

 ****************************************************************/
typedef fzrt_error_td 	 (*fz_wind_get_window_frames_func)(
	fzrt_int				windex,
	fzrt_boolean		*enable
	);

/****************************************************************

	fz_wind_set_window_frames



	Description
		Sets window frames to be on or off.

	Parameters
		windex  [Input]
			project window index
		enable  [Input]
			are window frames enabled 
			TRUE if enabled, FALSE otherwise

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_window_frames

 ****************************************************************/
typedef fzrt_error_td 	 (*fz_wind_set_window_frames_func)(
	fzrt_int				windex,
	fzrt_boolean		enable
	);

/****************************************************************

	fz_wind_get_window_frames_type



	Description
		Sets the window frames type.

	Parameters
		windex  [Input]
			project window index
		type  [Result]
			window frames type.
		flip_horizontal  [Result, Optional]
			is the frame layout flipped horizontally 
			TRUE if flipped, FALSE otherwise
		flip_vertical  [Result, Optional]
			is the frame layout flipped vertically 
			TRUE if flipped, FALSE otherwise

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_set_window_frames_type

 ****************************************************************/
typedef fzrt_error_td 	 (*fz_wind_get_window_frames_type_func)(
	fzrt_int						windex,
	fz_wind_frames_type_enum	*type,
	fzrt_boolean				*flip_horizontal,
	fzrt_boolean				*flip_vertical
	);

/****************************************************************

	fz_wind_set_window_frames_type



	Description
		Gets the window frames type.

	Parameters
		windex  [Input]
			project window index
		type  [Input]
			window frames type.
		flip_horizontal  [Input]
			flip the frame layout horizontally 
			TRUE if flipped, FALSE otherwise
		flip_vertical  [Input]
			flip the frame layout vertically 
			TRUE if flipped, FALSE otherwise

	Returns
		Error codes


	Availability	5.0.0.0

	Example Files
		../../../../Scripts/Samples/Utilities/util_wind.fsl

	See Also
		fz_wind_get_window_frames_type

 ****************************************************************/
typedef fzrt_error_td 	 (*fz_wind_set_window_frames_type_func)(
	fzrt_int						windex,
	fz_wind_frames_type_enum	type,
	fzrt_boolean				flip_horizontal,
	fzrt_boolean				flip_vertical
	);

/****************************************************************

	fz_wind_fset


	FZ_WIND_FSET_TYPE
		formZ window function set UUID.

	FZ_WIND_FSET_NAME
		formZ window function set name.

	FZ_WIND_FSET_VERSION
		formZ window function set version.

	Description
		formZ window function set

	Availability	5.0.0.0

 ****************************************************************/


#define FZ_WIND_FSET_TYPE		"\x72\x5d\x45\x71\xb6\xda\x42\x53\xa7\xf0\x7d\xb5\xdc\x18\x8c\x0c"

#define FZ_WIND_FSET_NAME		"formZ window funcs"

#define FZ_WIND_FSET_VERSION	FZPL_VERS_MAKE(5,0,0,0)

typedef struct fz_wind_fset
{
	fzpl_fset_prvt_data_td						prvt_data;

	fz_wind_new_func							fz_wind_new;
	fz_wind_get_title_func						fz_wind_get_title;
	fz_wind_close_func							fz_wind_close;
	fz_wind_get_count_func						fz_wind_get_count;
	fz_wind_get_next_func						fz_wind_get_next;
	fz_wind_get_prev_func						fz_wind_get_prev;
	fz_wind_get_rect_func						fz_wind_get_rect;
	fz_wind_set_rect_func						fz_wind_set_rect;
	fz_wind_get_image_rect_func					fz_wind_get_image_rect;
	fz_wind_set_image_rect_func					fz_wind_set_image_rect;
	fz_wind_get_type_func						fz_wind_get_type;
	fz_wind_get_active_func						fz_wind_get_active;
	fz_wind_set_active_func						fz_wind_set_active;
	fz_wind_get_map_plane_func					fz_wind_get_map_plane;
	fz_wind_zoom_extents_func					fz_wind_zoom_extents;
												
	fz_wind_opts_get_parm_data_func				fz_wind_opts_get_parm_data;
	fz_wind_opts_set_parm_data_func				fz_wind_opts_set_parm_data;

	fz_wind_image_opts_get_parm_data_func		fz_wind_image_opts_get_parm_data;
	fz_wind_image_opts_set_parm_data_func		fz_wind_image_opts_set_parm_data;
	
	fz_wind_get_ref_plane_func					fz_wind_get_ref_plane;
	fz_wind_set_ref_plane_func					fz_wind_set_ref_plane;
	fz_wind_get_perp_func						fz_wind_get_perp;
	fz_wind_set_perp_func						fz_wind_set_perp;
	fz_wind_draw_init_func						fz_wind_draw_init;
	fz_wind_draw_finit_func						fz_wind_draw_finit;
	fz_wind_get_grid_snap_func					fz_wind_get_grid_snap;
	fz_wind_set_grid_snap_func					fz_wind_set_grid_snap;
	fz_wind_get_grid_snap_opts_func				fz_wind_get_grid_snap_opts;
	fz_wind_set_grid_snap_opts_func				fz_wind_set_grid_snap_opts;
	fz_wind_get_obj_snap_func					fz_wind_get_obj_snap;
	fz_wind_set_obj_snap_func					fz_wind_set_obj_snap;
	fz_wind_get_obj_snap_opts_func				fz_wind_get_obj_snap_opts;
	fz_wind_set_obj_snap_opts_func				fz_wind_set_obj_snap_opts;
	fz_wind_get_dir_snap_func					fz_wind_get_dir_snap_obsolete;
	fz_wind_set_dir_snap_func					fz_wind_set_dir_snap_obsolete;
	fz_wind_get_dir_snap_opts_func				fz_wind_get_dir_snap_opts_obsolete;
	fz_wind_set_dir_snap_opts_func				fz_wind_set_dir_snap_opts_obsolete;
	fz_wind_zoom_in_func						fz_wind_zoom_in;
	fz_wind_zoom_out_func						fz_wind_zoom_out;
	fz_wind_zoom_reset_func						fz_wind_zoom_reset;
	fz_wind_get_zoom_opts_func					fz_wind_get_zoom_opts;
	fz_wind_set_zoom_opts_func					fz_wind_set_zoom_opts;
	fz_wind_inval_func							fz_wind_inval;
	fz_wind_get_rulr_parm_data_func				fz_wind_get_rulr_parm_data;
	fz_wind_set_rulr_parm_data_func				fz_wind_set_rulr_parm_data;
	fz_wind_get_ruler_func						fz_wind_get_ruler;
	fz_wind_set_ruler_func						fz_wind_set_ruler;
	fz_wind_get_underlay_parm_data_func			fz_wind_get_underlay_parm_data;
	fz_wind_set_underlay_parm_data_func			fz_wind_set_underlay_parm_data;
	fz_wind_print_func							fz_wind_print;
	fz_wind_get_wptr_func						fz_wind_get_wptr;
	fz_wind_get_window_frames_func				fz_wind_get_window_frames;
	fz_wind_set_window_frames_func				fz_wind_set_window_frames;
	fz_wind_get_window_frames_type_func			fz_wind_get_window_frames_type;
	fz_wind_set_window_frames_type_func			fz_wind_set_window_frames_type;
	
	

}  fz_wind_fset;

#ifdef __cplusplus
}
#endif

#endif

