buildrdswindow(3)
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;
}
}
}
}
. . .
}