Provided by: alliance_5.0-20120515-6_amd64 bug

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