Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BUILDRDSWINDOW(3)	    RDS	PHYSICAL FUNCTIONS	     BUILDRDSWINDOW(3)

NAME
       buildrdswindow -	builds windowing of a figure

SYNOPSYS
       #include	"rwinnn.h"
	rdswindow *buildrdswindow( Figure )
	   rdsfig_list *Figure;

PARAMETER
       Figure		   The figure where has	to be built the	windowing.

DESCRIPTION
       The  buildrdswindow  function  permits to build windowing on the	figure
       named 'Figure'.

RETURN VALUE
       The pointer to the windowing structure "rdswindow".

ERRORS
       "Rds202:	rdsalloc error,	can't continue !"
	      it's impossible to allocate the memory size desired

EXAMPLE
	       #include	"mphnnn.h"
	       #include	"mutnnn.h"
	       #include	"rdsnnn.h"
	       #include	"rfmnnn.h"
	       #include	"rwinnn.h"
	       #include	"rtlnnn.h"
	       main()
		 {
		   phfig_list	  *MbkFigure;
		   rdsfig_list	  *RdsFigure;
		   rdswindow	  *Window;
		   long		   X,Y,Offset;
		   rdswin_list	  *Win;
		   rdswinrec_list *WinRec;
		   rdsrec_list	  *ScanRec;
		   char		   Layer;
		   char		   Index;
		   mbkenv();
		   rdsenv();
		   loadrdsparam();
		   MbkFigure = getphfig("na2_y",'A');
		   RdsFigure = figmbkrds(MbkFigure,0,0);
		   Window    =	buildrdswindow ( RdsFigure );
		   /* gets each	window of the table */
		   for ( X = 0 ; X < Window->DX	; X ++ )
		    for	( Y = 0	; Y < Window->DY ; Y ++	)
		     {
		       printf("WINDOW (%ld,%ld)\n",X,Y);
		       Offset =	Y * Window->DX + X;
		       Win = Window->WINTAB + Offset;
		       /* gets all rectangles of a window */
		       for ( Layer = 0 ; Layer < RWI_MAX_LAYER ; Layer ++ )
			{
			  printf("LAYER	= %s\n",RDS_LAYER_NAME[Layer]);
			  for (	WinRec	= Win->LAYERTAB[ Layer ];
				WinRec != (rdswinrec_list *)NULL;
				WinRec	= WinRec->NEXT )
			   {
			     for (
				   Index = 0;
				   Index < RWI_MAX_REC;
				   Index++
				 )
			      {
			       ScanRec = WinRec->RECTAB[ Index ];
			       /* prints dimensions of each rectangle */
			       if ( ScanRec != NULL )
			       printf("X=%ld, Y=%ld, DX=%ld, DY=%ld\n",
				      ScanRec->X,ScanRec->Y,ScanRec->DX,
				      ScanRec->DY);
			       else break;
			      }
			   }
			}
		     }
		   . . .
		 }

SEE ALSO
       librwi, allocrdswindow, destroyrdswindow, viewrdswindow

ASIM/LIP6			October	1, 1997		     BUILDRDSWINDOW(3)

NAME | SYNOPSYS | PARAMETER | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=buildrdswindow&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help