Previous Next Up Title Contents Index Functions Index Top Library

1.7.2. DRAWING A CIRCLE TO FILL AN ENTIRE WINDOW

/* include file containing the "define" and types specific to PHIGURE */
#include <phigure.h>

main () {

	Pfloat zoom=1.0, circle_radius = 5.0;
	Tcircle circle;

	static Pint ws_id = 1, scene_id = 10, circle_id = 11, view_ind = 1;
	static Plimit viewport ={0.,1., 0., 1.}, domain ={10., 20., 10., 20. };
	static Ppoint circle_center = {15., 15.}, view_center = {0.5, 0.5};

	static Pint_list struct_id_list = {1, &circle_id};

/* open PHIGURE and an X-Window type workstation (8887) */
	topen_phigure (PDEF_ERR_FILE);
	topen_ws (ws_id, PDEF_ERR_FILE, 8887);

/* define domain */
	tdomain (&domain);

/* build circle */
	circle.type = TCENTER_RADIUS;
	circle.geometry.cr.r = circle_radius;
	circle.geometry.cr.c = circle_center;
	tcircle (circle_id, &circle);

/* define scene */
	tscene (scene_id, &struct_id_list, view_ind);

/* define a centered 2D view with distortion in function of the viewport */
	tview_config. (ws_id, view_ind, TNON_ISOTROPIC_VIEWPORT, PIND_CLIP);
	tview2_center (ws_id, view_ind, &view_center, zoom, &viewport);

/* display scene on workstation */
	ppost_struct (ws_id, scene_id, 1.0);
	predraw_all_structs (ws_id, PFLAG_ALWAYS);

/* close workstation and PHIGURE */
	tclose_ws (ws_id);
	tclose_phigure ();

}

This program is identical to n° 1 with one additional call to tview_config


Previous Next Up Title Contents Index Functions Index Top Library