Query: addrdsrecwindow
OS: debian
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
ADDRDSRECWINDOW(3) RDS PHYSICAL FUNCTIONS ADDRDSRECWINDOW(3)NAMEaddrdsrecwindow - adds a rectangle in the windowing of rds structure.ORIGINThis software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite Pierre et Marie CURIE, in Paris, France. Web : http://asim.lip6.fr/recherche/alliance/ E-mail : alliance-users@asim.lip6.frSYNOPSYS#include "rwinnn.h" void addrdsrecwindow( Rectangle, RdsWindow ) rdsrec_list *Rectangle; rdswindow *RdsWindow;PARAMETERRectangle The rectangle to add to the windowing. RdsWindow The head of the windowing which has to contain the rectangle.DESCRIPTIONThe addrdsrecwindow function inserts a rdsrec_list rectangle structure in the windowing of the rds structure. The rectangle is added in one or many windows of the table (it depends on his dimensions). The field 'USER' of the rectangle is used to point to the list of windows which contains the rectangle. So, the field 'USER' has to be saved in an added structure to the rdsrec_list structure if librfm functions are used because somes use the field 'USER' to link rectangles (see librds about field 'USER'). Note If the rectangle is contained in only one window, then the field 'USER' points to a "rdswin_list" window structure. If the rectangle is contained in many windows, the field 'USER' points to a "rdsrecwin_list" structure which is a list which con- tains windows. To know if a rectangle belongs to one or many windows, use the macro IsRdsOneWindow defined in librwi.RETURN VALUEnoneERRORS"Rds202: rdsalloc error, can't continue !" it's impossible to allocate the memory size desiredEXAMPLE#include "mutnnn.h" #include "rdsnnn.h" #include "rwinnn.h" #include "rtlnnn.h" # define POINTER_LINKREC(R) (((UserStruct *)((char *)(R)+sizeof(rdsrec_list)))->LINKREC ) typedef struct UserStruct { void *LINKREC; } UserStruct; main() { rdsfig_list *Figure; rdsrec_list *Rectangle; rdswindow *RdsWindow; rdswin_list *ScanWin; rdsrecwin_list *ScanRecWin; mbkenv(); rdsenv(); loadrdsparam(); Figure = addrdsfig( "core",sizeof ( UserStruct ) ); Rectangle = addrdsfigrec(Figure,"Alu1",RDS_ALU1,2,4,5,1); /* Using the field 'USER' */ Rectangle->USER = Rectangle; . . . . RdsWindow = allocrdswindow(); RdsWindow->XMIN = -200; RdsWindow->YMIN = -200; RdsWindow->XMAX = 200; RdsWindow->YMAX = 200; RdsWindow->DX = 4; RdsWindow->DY = 4; RdsWindow->SIDE = 100; RdsWindow->SIZE = RdsWindow->DX * RdsWindow->DY ; RdsWindow->WINTAB = allocrdswin( RdsWindow->SIZE ); /* Save the field 'USER' of the rectangle */ POINTER_LINKREC(Rectangle) = Rectangle->USER; /* */ addrdsrecwindow( Rectangle, RdsWindow ); /* windows associated to a rectangle are pointed by the field 'USER' of the rectangle */ /* getting windows (pointer *ScanWin) of a rectangle */ if ( IsRdsOneWindow(Rectangle) ) { ScanWin = (rdswin_list *) Rectangle->USER; } else { ScanRecWin = Rectangle->USER; while ( ScanRecWin != NULL ) { ScanWin = (rdswin_list *) (ScanRecWin)->WINDOW; ScanRecWin = ScanRecWin->NEXT; } } . . . }SEE ALSOlibrwi, delrdsrecwindowBUG REPORTThis tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools.ASIM/LIP6 October 1, 1997 ADDRDSRECWINDOW(3)
Related Man Pages |
---|
allocrdsrecwin(3) - debian |
allocrdswindow(3) - debian |
delrdsrecwindow(3) - debian |
delrdsins(3) - debian |
viewrdsins(3) - debian |
Similar Topics in the Unix Linux Community |
---|
IF $USER is not in this list of users, then do this |
C++, format of function call |