AaQff.(HH Hd    &!dFootnote TableFootnote**. . / - (2\ ])TOCHeading    !<$lastpagenum><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear>;<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm>"<$monthnum>/<$daynum>/<$shortyear><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear> <$fullfilename>  <$filename>  <$paratext[Title]>c  <$paratext[Heading]>  <$curpagenum>p  <$marker1>o <$marker2>W (Continued)Pagepage<$pagenum>Heading & Page <$paratext> on page<$pagenum>AaSee Heading & Page%See <$paratext> on page<$pagenum>. Table & Page7Table<$paranumonly>, <$paratext>, on page<$pagenum>+ (Sheet <$tblsheetnum> of <$tblsheetcount>) wwlooxxyyzz{{A2||A}}~~einAAoVJVItpaIJthnUynuIr>X$mo=$daJhor==thn=ynu=r> =$miQ$amZ" Argument:daQ/<$b>=$mo=<$dQ$ye="Qm>/=/<$Q>Q$fu=e>\$fi Default:QateZ>c Argument:te\adi Default:$cu]numProcs: ]kerProcs: bker] Procs:)bbe=genQHeQageZ  Argument:paZ>Aa Argument:in=age=parQn p=enuQ TaQe7Qara= <Z>, Argument:enZ Argument:tb\tnu Default:eet]>)Procs:=bwlZ Argument:\y Default:]zProcs:@{=@A@}@@~e@@A@@\ Default:b=tpaZ Argument:bynu\r> Default:]$daProcs:r\= Default:thn==b=Q=ZQ Argument:"\rgu Default:/<$]bProcs:=QbZ Argument:Q\ Default:Q]Procs:Ze> Argument: ]lt:Procs:e_ZUsage:u@te@ @$cu@@]croc\ker Default:]:)Procs:Ze Argument:\He Default:] Procs:tQZZrgu Argument:ge\= Default:n p]=Procs:Q_Usage:_araUsage:<@Z@rgu@Zbrgu@\@efab]@roc@bwl @ bent Zy Argument: @z @:\ Default:@\ Default:@]Procs:cQAZ Argument:\ Default:]Procs:a=Zbrgu]bProcs:\b ]Procs:Q:rb =thnQ= Z Argument:gu!\" Default:efa"]/<$Procs:#b:=$=%Q&Q 'QQ(Z Argument:])\ Default:e>*]rguProcs:]+b,=_-=sag.Qte/Q 0b$cu1Q2Z] Argument:3\ker Default:4]:)Procs:5Ze Argument:6bHe7=lt:8Q 9Z:t Argument:Z:Q ;Zge Argument:fa<\n p Default:roc=]_Procs:g>Z_ Argument:<?bZ@\rgu Default:A@rguB]\Procs:aC\b Default:rocDb@EQbFZ @ Argument:ntG\ Z Default:entH] @Procs:@IbJ] Procs:@K=LQlt:MZ Argument:cN\ Default:ZO] Procs:PbQQlt:RZ Argument:=S\ Default:]TbU]bProcs:]V=W=QX=bYQ=ZZQ Argument:[\ Z Default:ent\]!\Procs:a]befa^=_Q#b`=$=aZ%Q Argument: b\'Q Default: c]rguProcs:\db ece>f=gQ+bhQ,=iZ-= Argument:tej\/Q Default:$cuk]1QProcs:ZlQ mbnQ oZ Argument:ocp\5Z Default:entq]6bProcs:=r_Usage:s@:tt@entu@ v@gewbentxZn p Argument:ocy\_ Default:>Zz] Procs:<{bZ|Zrgu Argument:}=rgu~Q\Z:a Argument:fa\roc Default:EQ]Procs: _entUsage:Z@efabH]=rocQZ Argument:=\ Default:MZ] Procs:c==lt:\ Default:Pb=QQ Q=b =]QZ Argument:QW=ZX= Argument:=@ZZQrguQ[\Zefa Argument:\\roc Default:]Procs:b]`=Procs:ZZ Argument:\\ Default:c]@@db\ec Default:\gQ Default:,=]iZProcs:u]teProcs: blt:=1QQ:ZZ Argument:Qb\ Default:p\= =ent==r_b ]:tProcs:tbu@=v@bwb=xZQrguZy\ Argument:t:\z] Default::<]ZProcs:u=rgub}=Z~Q Argument:a\rgu Default:roc]efaProcs:]_Usage:_Q@@@b@=@Q@Z@rgu@\@efa@]Zroc Argument:\lt: Default: ]lt:Procs:bQ=QQQZb Argument:]\Q Default:]rguProcs:Qb= Q=Z Argument:Q\ Default:rgu]\Procs: blt:=Q:bZ Argument: \rgu Default: ]efaProcs:@_Usage:@ec@lt:@gQ@lt:@iZ@:u@bb===Q=Z@rgu=bQ\Zefa Argument: \= Default:]=Procs:bb=QbZ= Argument:b\= Default:rgu]ZProcs:ubt:= =:<QZ= Argument:=\Z Default:ent]\Procs:abroc=Q_Zsag Argument:\@ Default:]=Procs:Q_@Usage:@@@@b =  = Q  Z Argument:oc \b Default:Q]QProcs:Zb =]Q Z Argument:oc\b Default: ]QProcs:Zb =Q= QrguZ Argument:t:\= Default::b]ZProcs:ub = E Z Argument: \sag Default:!]lt:Procs:Q"b@#=@$Q@%Z@ Argument:b&\= Default:Q']=Procs:@(b)Q*Z Argument:gu+\ Default:efa,]Procs:-b:b.=/=0Q1Z Argument:\2\ Default:]3]Procs:b4_Usage:5@:<6@7@=8@ent9bZ:=lt:;Q\<Z:a Argument:==\ Default:Z>] Procs:?b@@=lt:AQ=BZ:Q Argument:agC\@ Default:D]@Procs:bE_Usage:F@G@ H@ I@entJ@bKblt:L=QMQ:ZN@O@P@Q@ R@ocS@ T= U=VQbWZ= Argument: X\Q Default:Y]rguProcs:\Zb [=:b\Q]Zb Argument: ^\E Default:_]rguProcs:\`b a=bQcZ"b Argument:@d\$Q Default:@e]rguProcs:\f_ Usage:Qg@=h@:@i@j@k@ l@gumb n=efaoQpZ-b Argument:q\/= Default:r]1ZProcs:usb\t= uQ]v=wQ4_xZsag Argument:y\ Default:z]entProcs:Z{b:=|=;Q}=<Z~=rguQ=\Zefa Argument: \roc Default:]lt:Procs:=bBZQrguZC\ Argument:t:\D] Default::b]Procs:_Usage: @H@@I@@J@@KbbL==MQ=N@QO@ZP@ Argument: \R@ Default: ]T=Procs:=b== = = QbZZb Argument:b\\Q Default:b]rguProcs:\b =Q=`bQa==bQQcZZrgu Argument:Q\efa Default:rgu]rocProcs: bsagZ= Argument:b]Procs: Zl@ Argument: \n= Default:]pZProcs:ub= QZ Argument:\\t= Default:]]v=Procs:Q_Usage: @ent@@lt:@ent@:Zb=QZ Argument:Z\ Default:\] Procs:=lt:b:=Q=Q Zt: Argument:fa\:b Default:roc]_Procs:g_@Usage:@@bZ Argument:=\ Default:Q]Procs: bent=R@Qlt:ZT= Argument:b@\ Default:=]Procs:b==Zb=ent=\QQlt:Zrgu Argument:b\ Default:Q]Procs:_a=Usage:Q@QbZ=rguQ\Zefa Argument:oc\roc Default:]=Procs:t_bUsage:]bQZZrgu Argument:=\efa Default:pZ]rocProcs:Q=bQZZ Argument:ntZ\ Argument:t:\] Default::Q]Procs: \ent Default:blt:]entProcs:Z_bUsage:=@@@ =Z= Q\Z Argument:t:\b Default:]=Procs:Q_Usage: @entb:b=lt:@_Q:g=b@=b =Z =rgu Q\ Zefa Argument: \roc Default:=R@]lt:Procs:=Qrgub@Q\Zefa Argument:\roc Default:]Procs:b==b=QQZZ Argument:nt\\ Default:lt:]]Procs:cZ_ Argument:QbQQZZrgu Argument: \efa Default:oc!]rocProcs::"\] Default::t#bb$]:]Procs:%_ZUsage:u&=rgu'Q\(Zefa Argument:oc)\ Default:*]QProcs:Z+@rgu,=Z-Qrgu.Z\ Argument:t:/\] Default:: 0Qent1Zlt: Argument:2\ent Default:_3]Procs:@4@5Q6Z Argument:=7\ Default:Z8] Procs::9@b:]lt:Procs:=;@roc<b=b: >b?b@=A=BQC=D\ Default: =E]Procs:FZ\ Argument: G\ent Default: H]lt:Procs:@IQ]JbrocKbrguLZ@ Argument:M\efa Default:N]rocProcs::O@]PbrocQ@=R==SQQTZZ Argument:ntU\\ Default:lt:V]]Procs:cW@_XbentY=QZQZ[Zrgu Argument:\\efa Default:oc]=roc^]::Procs: __lt:Usage:b`b$]a@rocb@Zc=:ud@e@f= g=och= i=j=k=+@l=,=m=-Qn=.Zo=rgupb/\qQefarZ0Q Argument:t:s\rgu Default:enttQefauZ3] Argument:@v\ Default:w]Procs:tx_7\Usage:ay@Zz@{@9@|@:]}@roc~@roc@b: ]Procs:b@=bA=QBQZC= Argument:\efa Default:]rocProcs:\QrgubG\QefaZH] Argument:@\] Default:]rguProcs:@Zrgu Argument:fabefaQN]Zroc Argument:\roc Default:]=Procs:Q\TZ Default:entbU\QefaZV] Argument:c\_ Default:]QProcs:ZQ[Z@rgu@\\@efa@]=@^]@roc@lt:Z:b Argument:@\ Default:c=]Procs:_Usage: bg=bQi=Zj= Argument:@]l=Procs:=]Procs:brgub/\=efa=0Q=ent=rgu,Qlt:-Zefa Argument: .\ent Default: /]lt:Procs:0_rocUsage:\1@sag2bZ3@4@9@5@:]6@rocMQrocNZ Argument:O\ Default:bP]Procs:Q_BQUsage:=Wbrgu`Q\aZefa Argument:ocb\roc Default:c]G\Procs:ad_ZUsage:ue@@fb gQ~@@Z@rgu@b@Q@Z@rgu=\QefaZ] Argument:Q\TZ Default:ent]U\Procs:a_ZUsage:u@c@ @bQQZ@ Argument:\\@ Default:]=]@Procs:@bb\ Default:\] Procs:=@@:@@b=b=QQZZrgu Argument:=\roc Default:]:Procs:_/\Usage:a@=b=Q=Z,Q Argument:fa\rgu Default:ent]efaProcs:]bQ0_Zsag Argument:\Z Default:]9@Procs:]_6@Usage:Q@b =Q bbuBduguw|fadvt:}aH$ wxu bH$ guUU`@ QHz xwyu \Hz \ UU`\ H$ yxzu cH$ QUU`nt \Hz zy{u Hz  t:UU`oc =HH{z|u HHZ`= \HH|{u ocHH=Q`  uH$ }~v ]H$ Z UU`Z Hz ~}v _Hz =UTUThb0SlingShot 2.0 Programmers Handbook58 HH~v HHa` dH3K ^ H RH RFootnoteHqv? ^ HzHz Single Line H'Footnote z HvDf ^ HHc Double LineH  Double LineQH  Single LinezHZ TableFootnote EGX-Rb ^ EPoEPo TableFootnotedHH HH1KUT UT`Appendix A: Attributes (UU`vARRAY_TILE_ALIGN 8UU`AControls the positioning of children within the column and rows. HUU`FoArray_tile_align S`ARRAY_TILE_ALIGN_NORTHWEST, ^`fARRAY_TILE_ALIGN_NORTH, i`DoARRAY_TILE_ALIGN_NORTHEAST, t`ARRAY_TILE_ALIGN_WEST, `ARRAY_TILE_ALIGN_CENTER, `ARRAY_TILE_ALIGN_EAST, `ARRAY_TILE_ALIGN_SOUTHWEST, H`ARRAY_TILE_ALIGN_SOUTH, `ARRAY_TILE_ALIGN_SOUTHEAST UU`ARRAY_TILE_ALIGN_CENTER êUU`create, get, set ϪUU`tn ۪UU`ARRAY_TILE_AUTO_POSITION 몡UU eFkIf TRUE, children are positioned automatically when they are added and deleted. Children are positioned so HUUnthat there are no holes in the array_tile. It is useful to set this to FALSE if you have specific positioning UU@Tneeds and are explicitly positioning children with the other array_tile attributes. FoUU` Boolean UU`_TTRUE G+UU`create, set, get 7UU`NO ,CUU`ARRAY_TILE_COLUMN SUU`3The column index of the object (child) referenced. cUU`RR object, int CEoUU`n/a {UU`IG get, set UU` R`HWxv_set(array_tile, `IG ARRAY_TILE_COLUMN, child, 12, `SO NULL); `AR _`Dchild_column = (int) xv_get(array_tile, ARRAY_TILE_COLUMN, child); ʪUU`Y_ E֪UU`ARRAY_TILE_COLUMN_GAP 檒UU`siIThe horizontal distance in pixels between the columns of the array_tile. eUU`UUint UU`o 15 inUU`t create, get, set iUU`ha s&UU`g ARRAY_TILE_COLUMN_WIDTH s 6UU  phThe horizontal space in pixels allocated to columns. All columns in an array_tile are of the same size. BUU@oAdding a child that is wider than this value causes this value to increase to fit the child within the column. RUU`int ob^UU`en40 jUU`RRcreate, get, set vUU`n/ dHH y_HH_C, cUU`ARRAY_TILE_HLINES UU`.Display horizontal lines around the children. &UU`ilBoolean IL2UU`FALSE >UU`create, set, get RJUU`P  VUU`ThARRAY_TILE_LAYOUT fUU n oThis controls automatic layout of objects when they are added to an array_tile. It also controls the growth of aterUU@-the array_tile when all positions are taken. EUU bIf set to ARRAY_TILE_LAYOUT_COLUMN, new columns will be added when the array_tile is full. If set UUze_to ARRAY_TILE_LAYOUT_ROW, new rows will be added when the array_tile is full. When not full, a aseUU@wiCnewly added object will be positioned at the first available spot. 40UU` Array_tile_layout ` ARRAY_TILE_LAYOUT_ROW, ` ARRAY_TILE_LAYOUT_COLUMN ̪UU`ARRAY_TILE_LAYOUT_ROW تUU`create, get, set 䪛UU`Y_ EUU`UUARRAY_TILE_N_COLUMNS oUU`th)The number of columns in the array_tile. LUU`int E UU`4 (UU`create, get, set 4UU`Th R@UU`ARRAY_TILE_N_ROWS PUU`ti&The number of rows in the array_tile. `UU`Itint colUU`of1 xUU`create, get, set eUU`e  eUU`ARRAY_TILE_POSITION TIUU`ne6The row and column of the object (child) referenced. UU jThe array_tile does not allow two children to be placed at the same position. If this happens, the object UU@neRpreviously at that spot will be repositition to (-1, -1) and will not be visible. ̪UU`ayobject, int, int تUU`_Ln/a RO䪈UU` get, set AUU`MN `xv_set(array_tile, `$ARRAY_TILE_POSITION, child, 4, 5, Y_` NULL); _UU` (` nuBchild = (Rectobj) xv_get(array_tile, ARRAY_TILE_POSITION, 7, 6); 4UU` 4  d  RHH _RHHws-e UU`ARRAY_TILE_ROW coUU`of0The row index of the object (child) referenced. &UU` object, int 2UU`IOn/a >UU`Th get, set oJUU` ( lU`xv_set(array_tile, _``w ARRAY_TILE_ROW, child, 7, hek` t NULL); ,wUU` U`ly>child_row = (int) xv_get(array_tile, ARRAY_TILE_ROW, child); UU`UU UU` iARRAY_TILE_ROW_GAP _LUU`UUDThe vertical distance in pixels between the rows of the array_tile. seUU`int ƪUU`TI15 SITҪUU`Y_create, get, set ުUU` UꪜUU`ARRAY_TILE_ROW_HEIGHT UU raoThe vertical space in pixels allocated to rows. All rows in an array_tile are of the same size. Adding a child UU@Uthat is wider than this value causes to increase to fit the child within the column. UU`OWint "UU`Th20 in.UU`(ccreate, get, set :UU` bFUU`ARRAY_TILE_VLINES VUU`Th,Display vertical lines around the children. fUU`seBoolean lerUU`FALSE ~UU`ilcreate, set, get UU` , UU`, U BAG_ANCHORED UU : (iIf TRUE, the bags origin (i.e. its upper left edge) will remain fixed when children are added or change WUU@:UUmgeometry. If FALSE, the upper left edge will dynamically change to shrink close to the upper leftmost child. ªUU`;15Boolean ΪUU`<teTRUE sڪUU`=create, get, set U檉UU`?LE WUU`UUBAG_AUTO_SHRINK icUU  anThe bag always gets larger to keep expanding children within the bags bounds. If this attribute is TRUE, the UU@va?bag will reduce its size when children shrink or are deleted. UU`>Boolean UU*UU`FALSE 6UU`gecreate, get, set UBUU`0 UdveHH HHUU+UU`UUBOX_GAP crUU`1(The gap in pixels between the children. BA&UU`2int :2UU`31 >UU`4upcreate, set, get JUU`6ch rVUU`7an BOX_LAYOUT UUfUU`8. 3The direction that the box lays its children out. tovUU`9he Box_layout t `AUU-BOX_LAYOUT_HORIZONTAL, BOX_LAYOUT_VERTICAL sUU`@BOX_LAYOUT_HORIZONTAL UU`B Wcreate, get, set UUU`Dic UU`ThCANVAS_SHELL_AUTO_DROP_SITE epUU n nIf this is TRUE, the canvas_shell will create and maintain a XView drop site object. This is necessary if you ͪUU@e -want RECTOBJ_DROP_PROC callbacks to operate. ݪUU` FABoolean 骚UU`!teFALSE UU`"0create, get, set UU`#  UU`$CANVAS_SHELL_BATCH_REPAINT UU %nWhen this is TRUE, an offscreen pixmap is used to buffer repaints. This reduces flashing considerable, at the )UU@%en/cost of repaint speed and memory consumption. 9UU &4bIf the server doesnt have enough memory, or if the user overrides this by setting the X resource EUU@&n UU`Eget (on paint window) JUU`Kou tVUU`@CANVAS_SHELL_EVENT_PROC thfUU lUEdThe Canvas_shell uses the WIN_EVENT_PROC on each of its paint windows to track events. If you need TRrUUlbujto get the event before it is processed by the canvas_shell, use this attribute. Return TRUE if the event ~UUl soshould not be further passed onto the rectobjs within the canvas_shell. A typical use of this may be to handle d. UU@lUU2ACTION_CUT, ACTION_COPY, and ACTION_PASTE events. UU`o r int (*)() UU`pNULL UU`qFAcreate, get, set UU`r `s int miscellaneous_event_proc( `tXv_windowpaint_window, P_`uUUEvent*event, `vs Canvas_shellcanvas_shell) _SIUU`wn  UU`KUUCANVAS_SHELL_FONT UU LdoiThe default font for Drawtext and Drawarea objects for this Canvas_shell. Use in case you need a default UU@LCA5font that is different from the font from the frame. s.UU`MN_Xv_font o:UU`NntThe XV_FONT of the frame fFUU`Ocreate buRUU`P b r^UU`by CLOCKOBJ_HR elnUU`ut0The hour to display. Value ranges from 1 to 12. sh~UU`r int oUU`it12 he UU`picreate, get, set UU` UU`ON CLOCKOBJ_MIN PƪUU`E The minute to display. [0..59] (*֪UU`pint NU⪊UU`q0 UU` create, get, set UU`s UU`ouCLOCKOBJ_HR_DRAWAREA UU`v_CLOCKOBJ_MIN_DRAWAREA "UU UUlThe drawarea uses a separate object to draw the hour and min hand into. These attribute returns the handles UU.UU@HE8of these objects so the colors or callbacks can be set. t >UU`ts Drawarea aJUU` cn/a u VUU`get UUbUU`t  ddamN_HH HH4teUU`RPCLOCKOBJ_MOVABLE UUU`S_H^Allows the user to set the time by clicking and dragging on either of the hands of the clock. &UU`TUUBoolean 122UU`UFALSE >UU`Vcreate, get, set JUU`XON LVUU`YCLOCKOBJ_MOVE_PROC utefUU Z9]pA notification callback for the application. This is called after the user has changed the time by clicking and srUU@ZZdragging of the clock hands. The done parameter is TRUE when the mouse has been released. UU`[s Proc_ptr oUU`\hoNULL mUU`^e create, get, set hUU`_ U`W ovoid clockobj_time_changed( k`aClockobjclockobj, `bintnew_hour, `dUUintnew_min, t `e intdone) 骝UU`` UU`WDRAWAREA_LAST_MARK_KEY HUU YoReturns the last key that was specified when an event was mapped to a display list entry. It is only useful to timUU@Ydrget this in an event callback. the!UU`ZUU Xv_opaque -UU`[UUn/a 9UU`\UUget EUU`]  QUU` LDRAWAREA_LEFT_X ]UU`OCDRAWAREA_RIGHT_X ZiUU`onDRAWAREA_UPPER_Y puUU` cDRAWAREA_LOWER_Y rUU`im,Configures the dimensions of the drawarea. giUU`nd double * UU`wh(0, 0, 10000, 10000) eUU`UU [UU` ` m#double current_value, new_value; t h` U` o@current_value = *(double*) xv_get(drawarea, DRAWAREA_LEFT_X); cl` `ounew_value = 1.5; UU`t xv_set(drawarea, `!DRAWAREA_UPPER_X, &new_value, `RK NULL); `Re n(UU`t  4UU`^evDRAWAREA_MAP_EVENTS spDUU`_ i9Controls how events are mapped to display list entries. eTUU`aDrawarea_map_event_mode e `UU`bUUDRAWAREA_MAP_ANY UlUU`ccreate, get, set xUU`d L RUU`e dARHH DRHHig-heUU` dDRAWAREA_MIN_ALLOC UUUU  aAs drawing commands are issued, the display list grows. The minimum amount of memory used by the "UUubpdisplay list can be controlled with this attribute, this can improve performance for lengthy display lists. The dr.UU@EFCcurrent length will be used as the minimum if this is set to zero. .5;>UU`int JUU`100 VUU`RAcreate, set, get _bUU` nUU`f DRAWICON_GAP e~UU`g@The amount of space, in pixels, between the image and the text. _UU`i eint arUU`jy 1 UU`kcreate, get, set rUU`me  UU`DRDRAWICON_IMAGE lΪUU crkReturns the Drawimage object owned by the Drawicon. This is useful for setting attributes such as color or ڪUU@+callback procs on the image of a Drawicon. ꪙUU` gUU`UUn/a dUU`OCget UU`As a`is8image = (Drawimage) xv_get(drawimage, DRAWICON_IMAGE); u%UU` U1UU`liDRAWICON_IMAGE_COLOR tAUU`th-Sets the RECTOBJ_FG of the Drawicons image. lQUU`int ]UU`th-1 beiUU`umcreate, get, set zuUU`UU UU`DRAWICON_LAYOUT_VERTICAL UU ntemSets the layout of the Drawicon. If TRUE, the text is below the image. If FALSE, the text is to the right of cUU@nee the image. nd UU`xBoolean eUU`yUUTRUE ŪUU`zkcreate, get, set sѪUU`{m ݪUU`}DRAWICON_TEXT UU ~UUjReturns the Drawtext object owned by the Drawicon. This is useful for setting attributes such as color or UU@~*callback procs on the text of a Drawicon.  UU` UU`n/a UU!UU`get UU-UU` 8`4text = (Drawtext) xv_get(drawicon, DRAWICON_TEXT); e,DUU` u dOLHH RHH,UU`DRAWICON_TEXT_COLOR UU`cr,Sets the RECTOBJ_FG of the Drawicons text. &UU`ICint OU2UU`-1 n>UU`Wcreate, get, set IJUU`s  oVUU`LS#DRAWIMAGE_IMAGE1 (DRAWIMAGE_IMAGE) fUU` im:The XView Server image to be displayed when not selected. vUU` UU Server_image eUU` NULL {UU`UUcreate, get, set TUU`~ UUU`teDRAWIMAGE_IMAGE1_MASK UU seaThe mask for DRAWIMAGE_IMAGE1. The image is not painted and events are not recognized where bits rªUU@UUare off in the mask. UҪUU` Server_image ުUU`UUNULL ꪙUU`create, get, set tUU`on RUU` -DRAWIMAGE_IMAGE2 (DRAWIMAGE_HIGHLIGHT_IMAGE) UU`6The XView server image to be displayed when selected. "UU` Server_image .UU`UUNULL :UU`LOcreate, get, set FUU`TO FRUU` s DRAWIMAGE_IMAGE2_MASK bUU aThe mask for DRAWIMAGE_IMAGE2. The image is not painted and events are not recognized where bits nUU@AGare off in the mask. ~UU`im Server_image vUU` plNULL eUU`!create, get, set eUU`# UUU`hDRAWLINE_ARROW_ANGLE eUU`qPThe angle of the tip of the arrow, measured in degrees * 64, maximum is 360*64. ThΪUU`rGEint 1.ڪUU`spa60 * 64 ev檆UU`nicreate, get, set UU`ar fUU`jDRAWLINE_ARROW_INSET_LENGTH UU`UU\The length from the arrow tip to the neck of the arrowhead. Measured in pixel dimensions. DRUU`AWint HI*UU`7 6UU`XVcreate, get, set BUU`se tdmaUUHH teHH/ UU`iAGDRAWLINE_ARROW_LENGTH UU` DLThe length of the lines along the cutting edge of the arrowhead, in pixels. bi&UU`int ar2UU` 10 >UU`ercreate, get, set UJUU` VUU`kteDRAWLINE_ARROW_STYLE UfUU`The style for the arrowhead. GvUU`q9ARROW_FILLED, ARROW_HOLLOW, ARROW_SIMPLE, or ARROW_NONE. sUU`36 ARROW_NONE UU`1.create, get, set aUU` UUU`fge DRAWLINE_X UU`g DRAWLINE_Y ªUU`NS>Set and get the endpoints of the line relative to the parent. ҪUU`he!int pair (endpoint [0,1], value) sުUU`UUN/A AWꪙUU`UUcreate, get, set UU`teFWhen used with xv_get() one arg indicates which endpoint to retrieve. UU` UUU`l DRAWLINE_X0 teUU`m DRAWLINE_X1 &UU`n DRAWLINE_Y0 AG2UU`oEN DRAWLINE_Y1 UUBUU thaThese four attributes are functionally equivalent to DRAWLINE_X and DRAWLINE_Y, except that they NUU@10Rare positioned relative to the coordinate space of the canvas shell paint window. ^UU`OWint UjUU`create, get, set vUU`p UUU`,LL DRAWOBJ_FILLED (DRAWOBJ_OPAQUE) AUU`'!If TRUE, the interior is filled. UU`(teBoolean aUU`)TRUE UU`*DRcreate, get, set ƪUU`=LI YҪUU`DRAWRECT_BORDER1 h⪆UU`0 lNThe distance (in pixels) from the objects XV_RECT to the illustrated border. UU`1int N/UU`20  UU`3 create, get, set eUU`>v_ ("UU`s DRAWRECT_BORDER2 e2UU`5UU$The size of the illustrated border. LIBUU`6UUint N~UU`71 Z}UU`8LIcreate, get, set Uf|UU`?_Y UdlyHH LIHH100poUU`&toDRAWRECT_BORDER3 cUU`-el;The space between the illustrated border and the children. &UU`. int 2UU`/0 >UU`:OBcreate, get, set PJUU`<UU 'VUU` iDRAWTEXT_EDITABLE fUU`te%If TRUE, the drawtext can be edited. vUU`5DRBoolean geUU`CUUFALSE UU`Jcreate, get, set EUU`T0 lUU` pDRAWTEXT_FONT UU o hThe font used to display the object. The minimum size of the Drawtext is determined by the font and the geªUU@UUstring. (ҪUU`s Xv_Font _BުUU`UUCANVAS_SHELL_FONT ꪙUU`bocreate, get, set UUU`~ UU`}DRAWTEXT_JUSTIFY rUU |hWhen the XV_WIDTH of the drawtext is set to be larger than the drawtext object, this controls how it is UU@'positioned within the available space. .UU`DRDrawtext_justify_style UU9`e DRAWTEXT_JUSTIFY_LEFT rdD`n.DRAWTEXT_JUSTIFY_CENTER O`/DRAWTEXT_JUSTIFY_RIGHT B[UU` PDRAWTEXT_JUSTIFY_LEFT gUU` icreate, get, set sUU`te fUU`t DRAWTEXT_LENGTH UU`BoaSet the width to allow for this number of characters. The string is justified within this space. lUU` pint TEUU`UU0 UU`d create, get, set cêUU`e  tϪUU``erDRAWTEXT_SHOW_UNDERLINE geߪUU hUUkIf TRUE, a line indicating that this object is editable will be shown even when the drawtext does not have ate몈UU@h the focus.  UU`|}Boolean _JUU`UUFALSE UU`H create, get, set sUU` e+UU`AthDRAWTEXT_STRING i;UU`UThe string to be displayed. The Drawtext allocates space for, and copies the string. sKUU`Fchar * WUU`GEFNULL cUU`Hcreate, get, set No~UU` /d_JHH crHH)UUUU`_LDRAWTEXT_STRING_PTR UU h aAlternate method of specifing a string for a drawtext. It has the same effect as DRAWTEXT_STRING "UU@UU`W_NULL NJUU`hcreate, get ,set nVUU`Jth obUU`wiGRIP_BTN_DOWN_X henUU`s GRIP_BTN_DOWN_Y ~UU`fonThe position of the button down event that started the drag. This is legit while the object is being dragged. UU` eint UU`TEn/a INUU`get ThUU`pl dUU`ocGRIP_DONE_PROC nd ΪUU` sCThe function to be called when the user releases the mouse button. UUުUU`ge void (*)() ꪙUU`NULL UU`create, get, set UU`  `crint done_callback( `Xv_windowpaint_window, DR#`Event*event, .` oCanvas_shellcanvas_shell, 9`meGripgrip, D` shortx, exO`ng shorty) i[UU`e. gUU`GRIP_EXCEED_PARENT_DIMS wUU`mIf FALSE, the dimensions of the grips parent will not exceed that of its parent while it is being dragged. UU`N_Boolean UU`poFALSE UU`evcreate, get, set eUU`it iUU`eiGRIP_IMMEDIATE ǪUU QIf TRUE, the grip does not wait for the user to move beyond the X resource value ӪUU@GR9SlingShot.ClickMoveThreshold before the drag begins. l㪌UU`reBoolean m懲UU`FALSE UU`()create, get, set UU` UdHH HHin1DRUU` GRIP_MAX_X venUU` GRIP_MAX_Y s_sUU`, GRIP_MIN_X `*UU`, GRIP_MIN_Y `:UU exkSets the maximum and minimum dimensions the the object can be positioned at. The defaults are sufficiently wFUUIfalarge that they will be ignored if GRIP_EXCEED_PARENT_DIMS is FALSE. The position of the grip is rRUUUUmcompared using the origin of the grip, as a result the max attributes do not include the width and height of i^UU@ei the grip. nUU`UUint zUU`p 0, 0, 32000, 32000 usUU`thcreate, get, set UU`GR lUU`]hrGRIP_MOVE_PROC thUU tlThe function that gets called for each move event. This function returns TRUE if the object should be moved UUtjto the new location (*new_x, *new_y). It may also reset the coordinates of the event by setting new_x and ƪUU@tinKnew_y. new_x and new_y are the origin of the object relative to its owner. s_s֪UU`u, int (*)(); `⪙UU`v, grip_default_event_proc UUUU`w mcreate, get, set dUU`xob t`y aint move_callback( ff`zXv_windowpaint_window, wi`{RIEvent*event, S&`|itCanvas_shellcanvas_shell, 1`} uGripgrip, <`~reshort*new_x, uG` tshort*new_y) SUU` i_UU`cUUGRIP_RUBBER_STYLE oUU p lHow the object is animated while the user is moving it. The various styles are bounding boxes, vertical and GR{UU@"horizontal lines, and crosshairs. UU`chGrip_rubber_style `E GRIP_RUBBER_NONE be `UUGRIP_RUBBER_RECT, oc`w_GRIP_RUBBER_VLINE, h`heGRIP_RUBBER_VLINE_PAIR, `inGRIP_RUBBER_HLINE, y` tGRIP_RUBBER_HLINE_PAIR, `UUGRIP_RUBBER_CROSSHAIRS 䪑UU`grGRIP_RUBBER_NONE oUU`wcreate, get, set sUU`x bUU`y GRIP_SLIDE_X _UU` GRIP_SLIDE_Y $UU`in9If TRUE, permits the grip to be moved in that direction. 4UU`_sBoolean as@UU`TRUE uLUU`create, get, set XUU` d HH HHim.hiUU` inRECTOBJ_ACCEPTS_DROP sUU` s,aIf FALSE, the objects RECTOBJ_DROP_PROC will not be called when a drop event has occured on it. r&UU` Boolean E 2UU` NETRUE >UU`create, get, set cJUU`w_ VUU` hRECTOBJ_ADD_CHILD_PROC RIPfUU , fThe callback function that is called when a child has been created or added to an rectobj (by setting rUUUBiXV_OWNER). Usually this function sets up data structures to manage the child, then returns. The geometry U~UU@>manage proc will be called right after this callback returns. UU`in Proc_ptr pUU` bdepends on class eUU`UUcreate, get, set sUU` R`voidadd_child_proc( `Rectobjparent,/*self*/ `Rectobjchild, `Rect*rect) ꪜUU` UU`# RECTOBJ_BG REUU`$ s^The background color for a RECTOBJ, an index into the cms. Setting it to -1 sets the default. UU`% iint "UU`&Bo.-1 (The Canvas_shells WIN_BACKGROUND_COLOR.) .UU`'gecreate, get, set U:UU`( UFUU`ADRECTOBJ_BORDER fVUU`Th1Used by Rectobj subclasses that support borders. fUU`deint n rUU`g 0 ~UU`XVcreate, get, set iUU` d UU`geRECTOBJ_CANVAS retUU` U/The Canvas_shell that an object is painted on. rigUU`ban/a urªUU`n/a PrΪUU`UUget bڪUU` e `cr@canvas_shell = (Canvas_shell) xv_get(rectobj, RECTOBJ_CANVAS); dUU` UU` ecRECTOBJ_CHILDREN * UU )tThe list of children for an object. This does not return a copy of the list, so it should be copied if children are OBUU@)UU,to be destroyed while traversing this list. an)UU`*s.Rectobj_list * se5UU`+NULL UAUU`,get UUMUU`-Ca sd!teHH UHH-UUUU`@ReRECTOBJ_DBL_CLICK_PROC porUU AkThe callback function that is called when an object is double clicked on. The callback is invoked when the "UUAREgmouse button goes up. This callback is only invoked by the rectobj_selection_event_proc event handling ba.UU@AUU routine. />UU`B Proc_ptr bJUU`C eNULL VUU`Dccreate, get, set abUU`Ect ,m`Fdvoiddouble_click_proc( x`GREXv_windowpaint_window, )`HchEvent*event, t`ItuCanvas_shellcanvas_shell, `JhiRectobjrectobj); UUU`Kst eUU`/ tRECTOBJ_DEL_CHILD_PROC `*UU 0 *eThe callback function that is called when a child is destroyed or removed from a rectobj (by setting ͪUU@0XXV_OWNER). This function is used to clean up data structures associated with the child. ݪUU`1 Proc_ptr @骝UU`2CLdepends on class UU`3cacreate, get, set tUU`4 o c `5d voiddel_child_proc( `6Rectobjparent,/*self*/ g"`7acRectobjchild, the-`8_eRect*oldrect); ng9UU`9A UEUU`URECTOBJ_DRAGGABLE UUU VC\If FALSE, the objects RECTOBJ_START_DRAG_PROC will not be called when the mouse pointer is daUU@VckNdragged beyond the threshold distance (SlingShot.ClickMoveThreshold). qUU`WBoolean }UU`X_sTRUE aUU`Ycreate, get, set tUU`Z UU`LRECTOBJ_DROP_PROC UU MOCUThe callback function that is called when an object receives an ACTION_DRAG_PREVIEW, dUUM r@ACTION_DRAG_COPY, ACTION_DRAG_LOAD, ACTION_DRAG_LOAD event. For iɪUUM dbACTION_DRAG_PREVIEW events, the callback function should examine the event_id to determine if the ժUU@M+event was a LOC_WINENTER or a LOC_WINEXIT. UU`Nvoiddrop_proc( `OXv_windowpaint_window, pa`PEvent*drag_event, `QCanvas_shellcanvas_shell, `RUURectobjrectobj); U`SDR A'UU`V CdTA"beHH dHHhr1 dUU`aShRECTOBJ_EVENT_PROC UU bWiThe event handling function for an object. When an event occurs on an object, the event is passed to the "UUbdobject via this callback. Applications may change this attribute to one of the predefined callbacks a.UUbIEU(rectobj_selection_event_proc, rectobj_toggle_event_proc, rectobj_button_event_proc, o:UUbMbrectobj_background_event_proc). Applications that need special event handling not provided by the FUUbMkprovided callbacks may wish to write their own callback functions, or interpose by calling these functions RUU@bnt#from their own callback functions. venbUU`c Proc_ptr QnUU`dll+rectobj_event_proc (also depends on class) bjzUU`ecreate, get, set UU`f C `gvoidevent_proc( `hXv_windowpaint_window, d`iEvent*event, `jCanvas_shellcanvas_shell C`kbRectobjrectobj); g`lbj .ԪUU`mur nઞUU`nenRECTOBJ_EXCLUSIVE_SELECT UU`octVIf TRUE, when this object is selected, all other selected objects will be deselected. UU`pUUBoolean (r UU`qveFALSE UU`rencreate, get, set t$UU`s 0UU`[ob RECTOBJ_FG eve@UU`\io^The foreground color for a RECTOBJ, an index into the cms. Setting it to -1 sets the default. PUU`] tint wn\UU`^s,.-1 (The Canvas_shells WIN_FOREGROUND_COLOR.) hUU`_frcreate, get, set ctUU`` UU`v_pRECTOBJ_GEOMETRY_SILENT reUU walpIf this is TRUE, the parent will not be informed if the geometry of the rectobj has changed. This is useful for dUU@w^classes that explicitly set the positions of children and are not interested in size changes. UU`x_sBoolean asUU`yFALSE ĪUU`zbjcreate, get, set lЪUU`{UU mܪUU`|UURECTOBJ_MAP_EVENT_PROC VE_쪊UU UUoThe callback function that traverses the rectobj hierarchy to map events to rectobjs. If a match is found, the UUUU@(object that matches should be returned. crUU`Rectobj (*)() UU`[/rectobj_map_event_proc (also depends on class) egr UU`ECcreate, get, set ,UU`t  -7`. Rectobjmap_event_proc( B`s,Rectobjrectobj, M`LOEvent*event); frX` c dUU`  d_S#wHH wiHHre,haUU` u RECTOBJ_MENU UU QclgThe XView Menu object associated with an object. The menu appears when the user clicks the right mouse `x"UUQmbutton. There may be several menus associated with a hierarchy of a user interface, the menu that is closest E.UU@QOC&to the leaf object will be displayed. >UU`RrsMenu rJUU`So XV_NULL tVUU`Uatcreate, set, get UbUU` bnUU`shRECTOBJ_MENU_CLIENT ~UU RekThis attribute is set on a XView menu and can be retrieved from a menu callback to determine the SlingShot ateUU@1object that was clicked on to bring up the menu. _UU`Rectobj s,UU`ton/a UU`get tUU` ʪUU`VRECTOBJ_MIN_WIDTH ֪UU`RECTOBJ_MIN_HEIGHT 檙UU`PThe minimum dimensions that an object may be. Usually calculated by the object. UU`REint MEUU`Qn/a ThUU`t get atUU` T m&UU`.heRECTOBJ_NORMAL rig2UU`RECTOBJ_HIGHLIGHT >UU`WRECTOBJ_PREHIGHLIGHT hJUU`usRECTOBJ_PREDROP_NORMAL at VUU`RECTOBJ_PREDROP_HIGHLIGHT fUU ayjThe paint style of the rectobj. These attributes take no arguments and are usually used internally to the rUU@ bSlingShot extensions. UU` UU`TThRECTOBJ_NTH_CHILD UU`d The nth child of the parent. lUU` tint ngUU`UUn/a ƪUU`cl get, set ҪUU` _ `Re:child = (Rectobj) xv_get(parent, RECTOBJ_NTH_CHILD, 10); 骆UU` UU`VRECTOBJ_N_CHILDREN TH UU`&The number of children a rectobj has. UU`diint ns!UU`y 0 -UU` bget ob9UU`UU dn/$t HH HH'UU`tLI RECTOBJ_OPS UUUU uPRoAll the callback functions for a rectobj are grouped into one structure, Rectobj_ops. This is an alternate way "UU@upalto manipulate those callbacks. It is also more efficient because it reduces the amount of allocated memory. UU2UU`t Rectobj_ops* >UU` defined by class hJUU`D create, get, set VUU` t pbUU`UURECTOBJ_PAINT_PROC rUU ,nThe callback function that paints an object. Generally only used for class implementations, it can be used by ~UU, 1japplications if a specific appearance is desired. The paint proc should not paint outside its XV_RECT and UU@, hthe xrects argument. iUU`-UU Proc_ptr UU`. bdepends on class UUU`/create, get, set UU`0 `1void paint_proc( `3Rectobjrectobj, `4Display*display, P`5Windowwindow, `6 rXv_xrectlist*xrects); UU`2_o  UU`teRECTOBJ_SELECTABLE @uUU`e 9If TRUE, the object can be selected with a single click. e-UU`loBoolean ry9UU`True eEUU`create, get, set eQUU` U]UU`geRECTOBJ_SELECTED UmUU`+If TRUE, the object is currently selected. UU}UU`baBoolean n UU`ec get, set yUU`ss pUU`anRECTOBJ_SELECTION_OWNER ,UU  ilThe XView Selection_owner object used to acquire a selection when an object is selected. This should be set hUU@enpby the application on the highest object in the rectobj hierarchy that has children that will hold a selection. ͪUU`Selection_owner 1٪UU`prNULL 媊UU`create, get, set UU` d5%, HH stHH1UU`CTRECTOBJ_SELECTION_PROC e UU ecmThe callback function that is called when an object is selected or deselected. The second argument indicates U"UUgelthe new state of the object (TRUE if selected). The event parameter is helpful if you need to determine the ec.UUecitimestamp of the selection (be warned that sometimes this is NULL). You also need to be careful when the U:UU@SEFobject is being deselected because the object may be being destroyed. JUU`el Proc_ptr VUU`"teNULL bUU`$create, get, set ynUU`%n  y`+thvoidselection_proc( `4 wRectobjrectobj, `9intselected, `QprEvent*event); ``; s UU` UU`RECTOBJ_SET_GEOMETRY_PROC ͪUU MiThe callback function that is called when an objects geometry is changed. The function should propagate B٪UU@Me the changes to its children. a骝UU`Ns Proc_ptr UU`Otedepends on class eUU`Pndcreate, get, set U UU`Qst `E voidset_geometry_proc( a#`f Rectobjrectobj, h.`Rect*newrect, e s9`d Rect*oldrect); NEUU`Wd  bQUU` URECTOBJ_SINGLE_CLICK_PROC aUU edjThe callback function that is called when an object is clicked on. The callback is invoked when the mouse mUUcrmbutton goes up. When using rectobj_toggle_click_proc(), the state parameter indicates if the object has been cyUU@*toggled on (highlighted) or off (normal). UU`ve Proc_ptr ;UU`;NULL UU`create, get, set UU`5 T`UUvoidsingle_click_proc( t` wXv_windowpaint_window, han`shEvent*event, `thCanvas_shellcanvas_shell, `PrRectobjrectobj, O`Olaintstate); `PUU` s UUU`stRECTOBJ_STACKING_POSITION UU rokThe stacking position of an object, relative to siblings of the same parent. Higher numbers will bring the d #UU@t)object to the top. d 3UU`int RE?UU`_P*N/A (newly created objects appear on top) KUU` w get, set cWUU`he ld&onHH e_HHs . oUU`RECTOBJ_START_DRAG_PROC onUU `ofcThe callback function that is called when the user drags the object more beyond the drag threshold ge"UU`UUp(SlingShot.ClickMoveThreshold). This callback is only invoked by the rectobj_selection_event_proc event .UU@`handling routine. >UU`a Proc_ptr lJUU`bNULL VUU`cjcreate, get, set bUU`dt am`eUUvoidstart_drag_proc( `x`~KIXv_windowpaint_window, ro`itEvent*event, e` oCanvas_shellcanvas_shell, `d Rectobjrectobj, ob`d intbutton_down_x, `intbutton_down_y, ` tintadjust); ƪUU`f ҪUU`RECTOBJ_STYLE_CHANGE_PROC ⪠UU`gGThe notification routine for when an object goes between paint styles. UU` o UU`}RERECTOBJ_TOGGLE_STATE nUU IofiWhen using rectobj_toggle_event_proc(), this returns the state of the object, TRUE if it is highlighted, UU@IFALSE otherwise. o*UU`LThRectobj k 6UU`M tFALSE BUU`N_pcreate, set, get NUU`Pli rZUU`CUU RECTOBJ_X fUU`~UU RECTOBJ_Y vUU cpThe X and Y position of an objects upper left corner, relative to the coordinates of the paint window. This is KIUU@ntmeasured in pixels. UU`*int eUU` on/a nvUU`hecreate, get, set UU`ec jªUU`TREE_ADD_LINK ҪUU mConnects the second argument (a rectobj) as a subtree of the first argument (a rectobj). Both objects should UުUU@STBbe owned by the same tree. The tree itself acts as the root node. UU` bRectobj, Rectobj .UU`n/a UU`REset OBUU` ` uxv_set(tree, (`th#TREE_ADD_LINK, object1, object2, RUE3`te NULL); ?UU` edob' tHH teHH+CUU` TREE_BORDER UUUU`=Space in pixels that is reserved around each node of a tree. r&UU`heint in2UU`wi4 >UU`create, get, set rJUU` VUU` eTREE_DRAWLINE fUU`AReturns the handle to the drawline object that points to a node. UvUU`_LRectobj UU`ecn/a sUU`reget aUU` f t`bj<drawline = (Drawline) xv_get(tree, TREE_DRAWLINE, object); saUU`it fUU`no TREE_LAYOUT UUͪUU` RThe orientation of the tree. /ݪUU` Tree_layout ` /TREE_LAYOUT_HORIZONTAL, TREE_LAYOUT_VERTICAL `UU`INTREE_LAYOUT_HORIZONTAL 3UU`create, get, set U UU` UU`TREE_LINK_FROM '(UU`BReturns the node (Rectobj) that points to the argument (Rectobj). 8UU`UURectobj TRDUU`n/a PUU`elget i\UU`ea ng`<object1 = (Rectobj) xv_get(tree, TREE_LINK_FROM, object2); sUU` s rUU`TREE_LINK_TO_LIST UU`E 4Returns the list of Rectobjs that a node points to. neUU`s Rectobj_list* UU`Ren/a UU`ecget sêUU`re e`Blist = (Rectobj_list*) xv_get(tree, TREE_LINK_TO_LIST, object1); ڪUU`t) a檉UU`itTREE_PARENT_DISTANCE oUU`9The distance, in pixels, between nodes and their leaves. UUU`ouint UU`30 LAYUU`EEcreate, get, set *UU`IN RdUU( sHH HHUU'UU` ( TREE_UNLINK poUU`nt)Detaches a node from the tree hierarchy. R&UU`Rectobj 2UU`gen/a >UU` nset JUU`ec =U`trxv_set(tree, ``TREE_UNLINK, object, k`_L NULL); wUU`E  eUU`ReXV_RECT t UU`ne.A pointer to a XView Rect structure. UU`Rect * `UU` n/a UU`!create, get, set RUU`"et e˪UU`:STXV_SHOW ; ۪UU`;t)hIf FALSE, the object is not visible. The object remains on the selected list when it is made invisible. es몛UU`< UBoolean UUUU`=TRUE UUU`>create, get, set rUU`? UU` XV_WIDTH 'UU`UU XV_HEIGHT 7UU hThe width and height of the object, measured in pixels. Some subclasses calculate these values based on _UCUU@UUother attributes. SUU`e int ch_UU`0 kUU`create, get, set wUU` n eUU`XV_X =UU`trXV_Y eUU oThe X and Y position of an objects upper left corner. This is measured in pixels and relative to the parents XVUU@UU=origin. Some objects explicitly set these on their children. UU` *int ǪUU`n/0 ӪUU`create, get, set RߪUU`et e몇UU`ST VA)duIfLeftdvblRightoecdte Reference iddUUd Udted?dddUUdigd id cad  od ! otd! " UUd"!#UUd#"$d$#%d%$&d&%'d'&(d('po=}?f=P =or attr-namecattr-description t$$f>t ߪclass-description class-endVf@qo ce Hl  UDhtecode?fAA  class-end i$$fBp UUattr-description attr-argument$( fDP ( class-name Single Lineclass-descriptionfEp  atcodefF  CellHeadingfG CellBodyfHT  h TableTitleT:Table : fI Body@J at dti HeaderenfKq   Hcls-lSiles-scn fDhcode$$fLq l attr-default Default: attr-procsCefNA HlCef Dattr-end@O>  Footer$$fQp attr-description attr-argument$$fSA l attr-usageUsage:attr-end@Ude  Footer@V def  a  rFooterfWP  attr-nameeattr-description( fXP  class-name Single Lineclass-description$$fZq Ql attr-argument Argument: attr-defaultat$$f[q l attr-argument Argument: attr-defaultsa$$f\q l attr-default Default: attr-procsFo$$f]q l attr-procsProcs: attr-usage$$f^q l attr-procsProcs:s attr-usage$$f_A lme attr-usageUsage:eattr-endfbA QH lrgenAr:atauat Dattr-endfcA r-d class-endf zV  Times-12-i _ttr Courier-9   _ ttr Courier-10 egY   zV _Pr Courier-10 zV h Times-12-i zV Times-12egY  Times-10-i hQ Times-10-iatTimes-16at ttrTimes-12Times-24  Courier-9  Helvetica-12  ;eujeThinfMediumgDoublehThick@i Very Thin eeeeeeeeegHHFGFHFGFHFGF0HFGFHFGFFormat A efeeeeefHHFGFHFGFHFGFHFGFHFGFFormat B-=-.CommentCourierTimes Helvetica Regulare Regular BoldRegularItalic=2-BX99Oq#RQmT*UT_ WJ FХ(! T:f jANqn* (Ӳ,佸KBpR9# 5^zh ́ cxɧ0%XMm"4K#)w*_RG1~ lIn, ˽jp/qwH~&cIŴ l#H+c>v҃VxSaK;0flsҫ-