Annotation of researchv10dc/630/man/src/p_man/man3/circle.3l, revision 1.1.1.1

1.1       root        1: .TH CIRCLE 3L "630 MTG"
                      2: .XE "circle()"
                      3: .XE "disc()"
                      4: .XE "discture()"
                      5: .XE "arc()"
                      6: .SH NAME
                      7: circle, disc, discture, arc \- circle routines
                      8: .SH SYNOPSIS
                      9: .B #include <dmd.h>
                     10: .sp
                     11: \f3void circle (b, p, r, f)\f1
                     12: .sp
                     13: .B void disc (b, p, r, f)
                     14: .sp
                     15: \f3void discture (b, p, r, t, f)\f1
                     16: .sp
                     17: \f3void arc (b, p, p1, p2, f)\f1
                     18: .sp
                     19: .B Bitmap \(**b;
                     20: .br
                     21: .B Point p, p1, p2;
                     22: .br
                     23: .B int r;
                     24: .br
                     25: .B Texture16 \(**t;
                     26: .br
                     27: .B Code f;
                     28: .SH DESCRIPTION
                     29: The
                     30: .I circle
                     31: function
                     32: draws the best approximate circle of radius
                     33: .I r
                     34: centered at Point
                     35: .I p
                     36: in the Bitmap
                     37: .I b
                     38: with Code
                     39: .IR f .
                     40: The circle is guaranteed to be symmetrical about the horizontal,
                     41: vertical, and diagonal axes.
                     42: .PP
                     43: The
                     44: .I disc
                     45: function
                     46: draws a disc of radius
                     47: .I r
                     48: centered at Point
                     49: .I p
                     50: in the Bitmap
                     51: .I b
                     52: with Code
                     53: .IR f .
                     54: A disc is a circle which has been completely filled.
                     55: .PP
                     56: The
                     57: .I discture
                     58: function
                     59: draws a disc of radius
                     60: .I r
                     61: centered at Point
                     62: .I p
                     63: in the Bitmap
                     64: .I b
                     65: using the Texture16
                     66: .I t
                     67: with Code
                     68: .IR f .
                     69: The
                     70: .I discture
                     71: function
                     72: is similar to
                     73: the
                     74: .I disc
                     75: function
                     76: except it allows one to specify a pattern to fill the disc.
                     77: .PP
                     78: The
                     79: .I arc
                     80: function
                     81: draws a circular arc centered on
                     82: .IR p ,
                     83: traveling counter-clockwise from
                     84: .I p1
                     85: to the point on the circle closest to
                     86: .IR p2 .
                     87: .SH EXAMPLE
                     88: The following routine draws a ``smiling face'' in the display Bitmap
                     89: with center specified by clicking button 1.
                     90: .PP
                     91: .RS 3
                     92: .ft CM
                     93: .nf
                     94: .S -4
                     95: #include <dmd.h>
                     96: 
                     97: 
                     98: main()
                     99: {
                    100:        int radius;
                    101:        extern Texture16 T_darkgrey;
                    102:        Point s;
                    103:        
                    104:        request(MOUSE);
                    105:        wait(MOUSE);
                    106:        bttns(1);
                    107: 
                    108:        s = mouse.xy;
                    109:        radius = 50;
                    110: 
                    111:        /* smiling will draw the face.  The nose will be 
                    112:         * placed wherever the mouse is clicked in
                    113:         * the window.
                    114:         */
                    115:        
                    116:        smiling(&display, s, radius, &T_darkgrey, F_XOR); 
                    117: 
                    118:        request(KBD);
                    119:        wait(KBD);
                    120: }
                    121: 
                    122: 
                    123: smiling(b, c, rad, t, f)
                    124: Bitmap  *b;
                    125: Point    c;
                    126: int      rad;
                    127: Texture16 *t;
                    128: Code     f;
                    129: {
                    130:     int mino, e; /* offsets for placing */
                    131:                 /* eyes, nose and mouth */
                    132:     int enrad;   /* radius of eyes and nose */
                    133: 
                    134:     mino = rad/2;
                    135:     e = rad/3;
                    136:     enrad = e/3;
                    137:     circle (b, c, rad, f); /* face outline */
                    138:     disc (b, Pt(c.x-e, c.y-mino),
                    139:          enrad, f);        /* left eye */
                    140:     disc (b, Pt(c.x+e, c.y-mino),
                    141:          enrad, f);        /* right eye */
                    142:     discture (b, c, enrad, t, f); /* nose */
                    143:     arc (b, c, Pt(c.x-mino, c.y+mino),
                    144:        Pt(c.x+mino, c.y+mino),f);
                    145:      /* mouth */
                    146: }
                    147: .fi
                    148: .ft R
                    149: .RE
                    150: .S +4
                    151: .SH SEE ALSO
                    152: ellipse(3L), jcircle(3L), jellipse(3L), texture(3R).

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.