$ od -c -N 50000 [_CDMiwok_01_]<bonsai2.0>cedar>release>CII>ciitest.c!2
0000000    /   *       c   i   i   t   e   s   t   .   c  \n   *       C
0000020    o   p   y   r   i   g   h   t     323       1   9   9   0   ,
0000040        1   9   9   3       b   y       X   e   r   o   x       C
0000060    o   r   p   o   r   a   t   i   o   n   .           A   l   l
0000100        r   i   g   h   t   s       r   e   s   e   r   v   e   d
0000120    .  \n   *       M   i   c   h   a   e   l       P   l   a   s
0000140    s   ,       D   e   c   e   m   b   e   r       2   6   ,    
0000160    1   9   9   0       8   :   5   0   :   3   7       a   m    
0000200    P   S   T  \n   *   /  \n  \n   #   i   n   c   l   u   d   e
0000220        "   c   i   i   .   h   "  \n   #   i   n   c   l   u   d
0000240    e       "   c   i   i   _   m   a   t   r   i   x   .   h   "
0000260   \n   #   d   e   f   i   n   e       N   I   L       (   (   v
0000300    o   i   d   *   )   0   )   ;  \n  \n   C   I   I   _   R   E
0000320    S  \n   S   h   a   p   e   1   (   C   I   I   _   P   a   t
0000340    h   G   e   n   e   r   a   t   o   r       s   e   l   f   ,
0000360        C   I   I   _   P   a   t   h   S   i   n   k       s   i
0000400    n   k   )  \n   {  \n  \t   C   I   I   _   R   e   c   t   a
0000420    n   g   l   e   R   e   p   *       r   e   c   t       =    
0000440    s   e   l   f   -   >   d   a   t   a   ;  \n  \t   C   I   I
0000460    _   V   e   c   t   o   r   R   e   p       p   ;  \n  \t   C
0000500    I   I   _   V   e   c   t   o   r   R   e   p       c   [   3
0000520    ]   ;  \n  \t   p   .   x       =       r   e   c   t   -   >
0000540    x   ;  \n  \t   p   .   y       =       r   e   c   t   -   >
0000560    y   ;  \n  \t   C   I   I   _   M   o   v   e   T   o   (   s
0000600    i   n   k   ,       &   p   )   ;  \n  \t   c   [   0   ]   .
0000620    x       =       r   e   c   t   -   >   x   ;  \n  \t   c   [
0000640    0   ]   .   y       =       r   e   c   t   -   >   y       +
0000660        r   e   c   t   -   >   h   ;  \n  \t   c   [   1   ]   .
0000700    x       =       r   e   c   t   -   >   x       +       r   e
0000720    c   t   -   >   w   ;  \n  \t   c   [   1   ]   .   y       =
0000740        r   e   c   t   -   >   y       +       r   e   c   t   -
0000760    >   h   ;  \n  \t   c   [   2   ]   .   x       =       r   e
0001000    c   t   -   >   x       +       r   e   c   t   -   >   w   ;
0001020   \n  \t   c   [   2   ]   .   y       =       r   e   c   t   -
0001040    >   y   ;  \n  \t   C   I   I   _   C   u   r   v   e   T   o
0001060    (   s   i   n   k   ,       c   )   ;  \n  \t   r   e   t   u
0001100    r   n   (   C   I   I   _   R   E   S   _   o   k   )   ;  \n
0001120    }  \n  \n  \n   C   I   I   _   R   E   S  \n   H   a   r   d
0001140    C   h   a   r   (   C   I   I   _   H   a   n   d   l   e    
0001160    h   ,       s   t   r   u   c   t       C   I   I   _   S   h
0001200    o   w   A   r   g   s   *       s   )  \n   {  \n   r   e   t
0001220    u   r   n       (   C   I   I   _   D   o   H   a   r   d   C
0001240    h   a   r   (   h   ,       s   )   )   ;  \n   }  \n  \n   C
0001260    I   I   _   R   E   S  \n   H   a   r   d   M   e   t   r   i
0001300    c   s   4   0   (   C   I   I   _   H   a   n   d   l   e    
0001320    h   ,       s   t   r   u   c   t       C   I   I   _   S   h
0001340    o   w   A   r   g   s   *       s   ,       C   I   I   _   M
0001360    a   s   k   I   n   f   o   *       m   )  \n   {  \n  \t   s
0001400    -   >   c   p   .   y       =       s   -   >   c   p   .   y
0001420        +       4   0   .   0   ;  \n  \t   r   e   t   u   r   n
0001440        (   C   I   I   _   R   E   S   _   o   k   )   ;  \n   }
0001460   \n  \n   v   o   i   d  \n   T   e   x   t   E   x   a   m   p
0001500    l   e   (   C   I   I   _   H   a   n   d   l   e       d   e
0001520    v   )  \n   {  \n  \t   C   I   I   _   S   h   o   w   A   r
0001540    g   s       s   h   o   w   A   r   g   s   ;  \n  \t   f   l
0001560    o   a   t       m   [   6   ]   ;  \n  \t   f   l   o   a   t
0001600        c   t   [   6   ]   ;  \n  \t   C   I   I   _   V   e   c
0001620    t   o   r   R   e   p       s   c   a   l   e       =       {
0001640    3   0   .   0   ,       4   2   .   0   }   ;  \n  \t   C   I
0001660    I   _   V   e   c   t   o   r   R   e   p       p   0       =
0001700        {   4   0   .   0   ,       2   0   0   .   0   }   ;  \n
0001720   \t   C   I   I   _   C   h   a   r   C   o   d   e       c   h
0001740    a   r   s   [   5   ]       =       {   '   H   '   ,   '   e
0001760    '   ,   '   l   '   ,   '   l   '   ,   '   o   '   }   ;  \n
0002000   \t   C   I   I   _   F   o   n   t       f   o   n   t   ;  \n
0002020   \t   C   I   I   _   F   o   n   t       m   f   o   n   t   ;
0002040   \n  \t   f   l   o   a   t       b   l   a   c   k       =    
0002060    0   .   0   ;  \n  \t   C   I   I   _   G   e   t   M   a   t
0002100    r   i   x   (   d   e   v   ,       c   t   )   ;  \n  \t   C
0002120    I   U   _   M   a   k   e   S   c   a   l   e   (   1   .   0
0002140    ,       m   )   ;  \n  \t   C   I   U   _   A   p   p   l   y
0002160    P   r   e   S   c   a   l   e   2   (   s   c   a   l   e   .
0002200    x   ,       s   c   a   l   e   .   y   ,       m   )   ;  \n
0002220   \t   C   I   I   _   F   i   n   d   F   o   n   t   (   d   e
0002240    v   ,       "   x   e   r   o   x   /   p   s   /   g   a   r
0002260    a   m   o   n   d   -   b   o   l   d   i   t   a   l   i   c
0002300    "   ,       &   f   o   n   t   )   ;  \n  \t   C   I   I   _
0002320    M   o   d   i   f   y   F   o   n   t   (   d   e   v   ,    
0002340    f   o   n   t   ,       m   ,       &   m   f   o   n   t   )
0002360    ;  \n  \t   C   I   I   _   M   a   k   e   F   o   n   t   A
0002400    t   o   m   (   d   e   v   ,       m   f   o   n   t   ,    
0002420    c   t   ,       &   s   h   o   w   A   r   g   s   .   f   o
0002440    n   t   A   t   o   m   )   ;  \n  \t   C   I   I   _   D   e
0002460    s   t   r   o   y   F   o   n   t   (   d   e   v   ,       m
0002500    f   o   n   t   )   ;  \n  \t   s   h   o   w   A   r   g   s
0002520    .   e   a   s   y   M   e   t   r   i   c   s       =       C
0002540    I   I   _   A   L   L   _   E   A   S   Y   _   M   E   T   R
0002560    I   C   S   ;  \n  \t   s   h   o   w   A   r   g   s   .   n
0002600    o   I   m   a   g   e       =       0   ;  \n  \t   s   h   o
0002620    w   A   r   g   s   .   h   a   r   d   C   h   a   r       =
0002640        &   H   a   r   d   C   h   a   r   ;  \n  \t   s   h   o
0002660    w   A   r   g   s   .   h   a   r   d   M   e   t   r   i   c
0002700    s       =       &   H   a   r   d   M   e   t   r   i   c   s
0002720    4   0   ;  \n  \t   C   I   U   _   T   r   a   n   s   f   o
0002740    r   m   P   o   i   n   t   (   &   p   0   ,       c   t   ,
0002760        &   (   s   h   o   w   A   r   g   s   .   c   p   )   )
0003000    ;  \n  \t   s   h   o   w   A   r   g   s   .   s   t   a   r
0003020    t       =       0   ;  \n  \t   s   h   o   w   A   r   g   s
0003040    .   e   n   d       =       5   ;  \n  \t   s   h   o   w   A
0003060    r   g   s   .   c   h   a   r   a   c   t   e   r   s       =
0003100        c   h   a   r   s   ;  \n  \t   s   h   o   w   A   r   g
0003120    s   .   c   l   i   e   n   t   D   a   t   a       =       (
0003140    v   o   i   d   *   )   0   ;  \n  \t   C   I   I   _   S   h
0003160    o   w   (   d   e   v   ,       &   s   h   o   w   A   r   g
0003200    s   )   ;  \n  \t   s   h   o   w   A   r   g   s   .   e   a
0003220    s   y   M   e   t   r   i   c   s       =       C   I   I   _
0003240    N   O   N   E   _   E   A   S   Y   _   M   E   T   R   I   C
0003260    S   ;  \n  \t   s   h   o   w   A   r   g   s   .   s   t   a
0003300    r   t       =       0   ;  \n  \t   C   I   I   _   S   h   o
0003320    w   (   d   e   v   ,       &   s   h   o   w   A   r   g   s
0003340    )   ;  \n  \t   s   h   o   w   A   r   g   s   .   h   a   r
0003360    d   C   h   a   r       =       d   e   v   -   >   D   o   H
0003400    a   r   d   C   h   a   r   ;  \n  \t   s   h   o   w   A   r
0003420    g   s   .   h   a   r   d   M   e   t   r   i   c   s       =
0003440        d   e   v   -   >   D   o   H   a   r   d   M   e   t   r
0003460    i   c   s   ;  \n  \t   s   h   o   w   A   r   g   s   .   s
0003500    t   a   r   t       =       0   ;  \n  \t   C   I   I   _   S
0003520    h   o   w   (   d   e   v   ,       &   s   h   o   w   A   r
0003540    g   s   )   ;  \n  \t   C   I   I   _   M   o   d   i   f   y
0003560    F   o   n   t   (   d   e   v   ,       f   o   n   t   ,    
0003600    m   ,       &   m   f   o   n   t   )   ;  \n  \t   C   I   I
0003620    _   D   e   s   t   r   o   y   F   o   n   t   (   d   e   v
0003640    ,       s   h   o   w   A   r   g   s   .   f   o   n   t   A
0003660    t   o   m   )   ;  \n  \t   C   I   I   _   M   a   k   e   F
0003700    o   n   t   A   t   o   m   (   d   e   v   ,       m   f   o
0003720    n   t   ,       c   t   ,       &   (   s   h   o   w   A   r
0003740    g   s   .   f   o   n   t   A   t   o   m   )   )   ;  \n  \t
0003760    s   h   o   w   A   r   g   s   .   s   t   a   r   t       =
0004000        0   ;  \n  \t   C   I   U   _   T   r   a   n   s   f   o
0004020    r   m   P   o   i   n   t   (   &   p   0   ,       c   t   ,
0004040        &   (   s   h   o   w   A   r   g   s   .   c   p   )   )
0004060    ;  \n  \t   C   I   I   _   S   e   t   G   r   a   y   (   d
0004100    e   v   ,       &   b   l   a   c   k   )   ;  \n  \t   C   I
0004120    I   _   S   h   o   w   (   d   e   v   ,       &   s   h   o
0004140    w   A   r   g   s   )   ;  \n  \t   C   I   I   _   D   e   s
0004160    t   r   o   y   F   o   n   t   (   d   e   v   ,       s   h
0004200    o   w   A   r   g   s   .   f   o   n   t   A   t   o   m   )
0004220    ;  \n  \t   C   I   I   _   D   e   s   t   r   o   y   F   o
0004240    n   t   (   d   e   v   ,       m   f   o   n   t   )   ;  \n
0004260   \t   C   I   I   _   D   e   s   t   r   o   y   F   o   n   t
0004300    (   d   e   v   ,       f   o   n   t   )   ;  \n   }  \n  \n
0004320    v   o   i   d  \n   X   R   _   r   u   n   _   c   i   i   t
0004340    e   s   t   (   )  \n   {  \n  \t   C   I   I   _   H   a   n
0004360    d   l   e       d   e   v       =       (   C   I   I   _   H
0004400    a   n   d   l   e   )   C   I   I   _   T   e   s   t   D   e
0004420    v   i   c   e   (   )   ;  \n  \t   C   I   I   _   R   e   c
0004440    t   a   n   g   l   e   R   e   p       r   e   c   t   1    
0004460    =       {   5   0   .   0   ,       1   0   0   .   0   ,    
0004500    3   .   0   ,       1   0   0   .   0   }   ;  \n  \t   C   I
0004520    I   _   R   e   c   t   a   n   g   l   e   R   e   p       r
0004540    e   c   t   2       =       {   2   .   0   ,       1   5   0
0004560    .   0   ,       1   0   0   .   0   ,       3   .   0   }   ;
0004600   \n  \t   C   I   I   _   R   e   c   t   a   n   g   l   e   R
0004620    e   p       r   e   c   t   3       =       {   2   .   0   ,
0004640        1   0   0   .   0   ,       1   0   0   .   0   ,       1
0004660    0   0   .   0   }   ;  \n  \t   C   I   I   _   S   t   r   o
0004700    k   e   C   o   n   t   r   o   l   R   e   p       s   t   r
0004720    o   k   e   1       =       C   I   I   _   I   N   I   T   I
0004740    A   L   S   T   R   O   K   E   C   O   N   T   R   O   L   ;
0004760   \n  \t   f   l   o   a   t       p   a   t   t   e   r   n   [
0005000    1   ]       =       {   1   3   .   0   }   ;  \n  \t   C   I
0005020    I   _   P   a   t   h   G   e   n   e   r   a   t   o   r   O
0005040    b   j   e   c   t   R   e   p       s   h   a   p   e   1   ;
0005060   \n  \t   f   l   o   a   t       r   e   d   [   3   ]       =
0005100        {   1   .   ,   0   .   ,   0   .   }   ;  \n  \t   f   l
0005120    o   a   t       g   r   e   e   n   [   3   ]       =       {
0005140    0   .   ,   1   .   ,   0   .   }   ;  \n  \t   f   l   o   a
0005160    t       b   l   u   e   [   3   ]       =       {   0   .   ,
0005200    0   .   ,   1   .   }   ;  \n  \t   f   l   o   a   t       l
0005220    i   g   h   t   b   l   u   e   [   3   ]       =       {   0
0005240    .   6   ,   0   .   6   ,   1   .   }   ;  \n  \t   f   l   o
0005260    a   t       g   r   a   y       =       0   .   7   5   ;  \n
0005300   \t   f   l   o   a   t       t   [   6   ]   ;  \n  \t   C   I
0005320    I   _   G   e   t   I   n   i   t   i   a   l   M   a   t   r
0005340    i   x   (   d   e   v   ,       t   )   ;  \n  \t   C   I   I
0005360    _   S   e   t   M   a   t   r   i   x   (   d   e   v   ,    
0005400    t   )   ;  \n  \t   C   I   I   _   S   e   t   R   G   B   (
0005420    d   e   v   ,       b   l   u   e   )   ;  \n  \t   s   h   a
0005440    p   e   1   .   G   e   n   e   r   a   t   e   P   a   t   h
0005460        =       &   S   h   a   p   e   1   ;  \n  \t   s   h   a
0005500    p   e   1   .   d   a   t   a       =       &   r   e   c   t
0005520    3   ;  \n  \t   C   I   I   _   M   a   s   k   F   i   l   l
0005540    (   d   e   v   ,       &   s   h   a   p   e   1   ,       C
0005560    I   I   _   N   O   N   Z   E   R   O   _   F   I   L   L   )
0005600    ;  \n  \t   C   I   I   _   S   e   t   R   G   B   (   d   e
0005620    v   ,       g   r   e   e   n   )   ;  \n  \t   r   e   c   t
0005640    3   .   x       =       r   e   c   t   3   .   x       +    
0005660    1   0   0   .   0   ;  \n  \t   C   I   I   _   M   a   s   k
0005700    F   i   l   l   (   d   e   v   ,       &   s   h   a   p   e
0005720    1   ,       C   I   I   _   N   O   N   Z   E   R   O   _   F
0005740    I   L   L   )   ;  \n  \t   C   I   I   _   S   e   t   R   G
0005760    B   (   d   e   v   ,       r   e   d   )   ;  \n  \t   r   e
0006000    c   t   3   .   x       =       r   e   c   t   3   .   x    
0006020    +       1   0   0   .   0   ;  \n  \t   C   I   I   _   M   a
0006040    s   k   F   i   l   l   (   d   e   v   ,       &   s   h   a
0006060    p   e   1   ,       C   I   I   _   N   O   N   Z   E   R   O
0006100    _   F   I   L   L   )   ;  \n  \t   C   I   I   _   S   e   t
0006120    R   G   B   (   d   e   v   ,       r   e   d   )   ;  \n  \t
0006140    C   I   I   _   M   a   s   k   R   e   c   t   a   n   g   l
0006160    e   (   d   e   v   ,       &   r   e   c   t   1   )   ;  \n
0006200   \t   C   I   I   _   S   e   t   R   G   B   (   d   e   v   ,
0006220        g   r   e   e   n   )   ;  \n  \t   C   I   I   _   M   a
0006240    s   k   R   e   c   t   a   n   g   l   e   (   d   e   v   ,
0006260        &   r   e   c   t   2   )   ;  \n  \t   C   I   I   _   S
0006300    e   t   R   G   B   (   d   e   v   ,       b   l   u   e   )
0006320    ;  \n  \t   s   t   r   o   k   e   1   .   s   t   r   o   k
0006340    e   T   y   p   e       =       C   I   I   _   O   P   E   N
0006360    _   S   T   R   O   K   E   ;  \n  \t   s   t   r   o   k   e
0006400    1   .   e   n   d       =       C   I   I   _   B   U   T   T
0006420    _   E   N   D   ;  \n  \t   s   t   r   o   k   e   1   .   j
0006440    o   i   n   t       =       C   I   I   _   R   O   U   N   D
0006460    _   J   O   I   N   T   ;  \n  \t   s   t   r   o   k   e   1
0006500    .   s   t   r   o   k   e   W   i   d   t   h       =       8
0006520    .   0   ;  \n  \t   s   t   r   o   k   e   1   .   d   a   s
0006540    h   C   o   u   n   t       =       1   ;  \n  \t   s   t   r
0006560    o   k   e   1   .   d   a   s   h   A   r   r   a   y       =
0006600        p   a   t   t   e   r   n   ;  \n  \t   s   t   r   o   k
0006620    e   1   .   d   a   s   h   O   f   f   s   e   t       =    
0006640    6   .   5   ;  \n  \t   s   t   r   o   k   e   1   .   d   a
0006660    s   h   C   o   r   r   e   c   t   L   e   n   g   t   h    
0006700    =       2   0   8   .   0   ;  \n  \t   C   I   I   _   M   a
0006720    s   k   S   t   r   o   k   e   (   d   e   v   ,       &   s
0006740    h   a   p   e   1   ,       &   s   t   r   o   k   e   1   )
0006760    ;  \n  \t   C   I   I   _   S   e   t   R   G   B   (   d   e
0007000    v   ,       l   i   g   h   t   b   l   u   e   )   ;  \n  \t
0007020    C   I   I   _   M   a   s   k   D   e   v   i   c   e   T   r
0007040    a   p   e   z   o   i   d   (   d   e   v   ,      \n  \t  \t
0007060    /   *       i   n   t       s   M   i   n       *   /       3
0007100    0   0   ,  \n  \t  \t   /   *       i   n   t       f   M   i
0007120    n       *   /       2   0   0   ,  \n  \t  \t   /   *       i
0007140    n   t       s   M   a   x       *   /       7   0   0   ,  \n
0007160   \t  \t   /   *       i   n   t       f   M   a   x       *   /
0007200        5   0   0   ,  \n  \t  \t   /   *       C   I   I   _   S
0007220    c   a   l   e   d       f   0       *   /           2   0   0
0007240        <   <       1   6   ,  \n  \t  \t   /   *       C   I   I
0007260    _   S   c   a   l   e   d       d   f   0       *   /       (
0007300    (   (   i   n   t   )   (   2   5   0   -   2   0   0   )   )
0007320        <   <       1   6   )   /   (   7   0   0   -   3   0   0
0007340    -   1   )   ,  \n  \t  \t   /   *       C   I   I   _   S   c
0007360    a   l   e   d       f   1       *   /           5   0   0    
0007400    <   <       1   6   ,  \n  \t  \t   /   *       C   I   I   _
0007420    S   c   a   l   e   d       d   f   1       *   /       (   (
0007440    (   i   n   t   )   (   4   0   0   -   5   0   0   )   )    
0007460    <   <       1   6   )   /   (   7   0   0   -   3   0   0   -
0007500    1   )  \n  \t   )   ;  \n   #   i   f   d   e   f       M   A
0007520    S   K   T  \n  \t   C   I   I   _   M   a   s   k   D   e   v
0007540    i   c   e   T   r   a   p   e   z   o   i   d   (   d   e   v
0007560    ,       7   0   0   ,       8   0   0   ,       2   5   0   ,
0007600        4   0   0   ,       3   0   0   ,       3   0   0   )   ;
0007620   \n   #   e   n   d   i   f  \n  \t   C   I   I   _   S   e   t
0007640    G   r   a   y   (   d   e   v   ,       &   g   r   a   y   )
0007660    ;  \n  \t   T   e   x   t   E   x   a   m   p   l   e   (   d
0007700    e   v   )   ;  \n  \t   C   I   I   _   D   e   s   t   r   o
0007720    y   (   d   e   v   )   ;  \n   }  \n                        
0007732