NAME¶
buildrdswindow - builds windowing of a figure
ORIGIN¶
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at
  
LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,
  France.
 
Web : 
http://asim.lip6.fr/recherche/alliance/
 
E-mail : 
alliance-users@asim.lip6.fr
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
BUG REPORT¶
This tool is under development at the 
ASIM department of the 
LIP6
  laboratory.
 
We need your feedback to improve documentation and tools.