>>>>>>>>>>> Demonstration of byte alignment of window interior <<<<<<<<<<<

#define FEATURES    0x0fef	/* what border features are used   */
WORD	msg[8];			/* message from evnt_multi	   */
GRECT	work_area;		/* defines working area 	   */
WORD	w_hndl;			/* handle for window being changed */

	wind_calc(1, FEATURES, msg[4], msg[5], msg[6], msg[7], 
		&work_area.g_x, &work_area.g_y, &work_area.g_w, 
		&work_area.g_h);
	work_area.g_x = align_x(work_area.g_x);
	work_area.g_w = align_x(work_area.g_w);
	wind_calc(0, FEATURES, work_area.g_x, work_area.g_y, 
		work_area.g_w, work_area.g_h, &msg[4], &msg[5], 
		&msg[6], &msg[7]); 
	wind_set(w_hndl, WF_CXYWH, msg[4], msg[5], msg[6], msg[7]);

>>>>>>>>>>>>>>>>>>>>> Subroutine for above <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

	WORD
align_x(x)		/* forces word alignment for column position	*/
	WORD	x;		/*   rounding to nearest word		*/
	{
	return((x & 0xfff0) + ((x & 0x0008) ? 0x0010 : 0));
	}	

>>>>>>>>>>>>>>>>>>>>> Standard v_gtext binding <<<<<<<<<<<<<<<<<<<<<<<<<

	WORD
v_gtext( handle, x, y, string)
	WORD handle, x, y;
	BYTE *string;
	{
	WORD i;
	ptsin[0] = x;
	ptsin[1] = y;
	i = 0;
	while (intin[i++] = *string++)	/* Copy characters to intin    */
		;			/* There is NO error checking! */
	contrl[0] = 8;
	contrl[1] = 1;
	contrl[3] = --i;
	contrl[6] = handle;
	vdi();
	}

