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

1.1       root        1: .ds ZZ DEVELOPMENT PACKAGE
                      2: .TH ELLIPSE 3L "630 MTG"
                      3: .XE "ellipse()"
                      4: .XE "eldisc()"
                      5: .XE "eldiscture()"
                      6: .XE "elarc()"
                      7: .SH NAME
                      8: ellipse, eldisc, eldiscture, elarc \- draw an ellipse
                      9: .SH SYNOPSIS
                     10: .B "#include <dmd.h>"
                     11: .sp
                     12: .B "void ellipse (bp, p, a, b, f)"
                     13: .PP
                     14: .B "void eldisc (bp, p, a, b, f)"
                     15: .PP
                     16: .B "void eldiscture (bp, p, a, b, t, f)"
                     17: .PP
                     18: .B "void elarc (bp, p, a, b, p1, p2, f)"
                     19: .PP
                     20: .B Bitmap \(**bp;   
                     21: .br
                     22: .B Point p, p1, p2;
                     23: .br
                     24: .B int a, b;
                     25: .br
                     26: .B Texture16 \(**t;
                     27: .br
                     28: .B Code f;
                     29: .SH DESCRIPTION
                     30: The
                     31: .I ellipse
                     32: function
                     33: draws an ellipse centered at
                     34: .I p
                     35: with horizontal semi-axis
                     36: .I a
                     37: and vertical semi-axis
                     38: .I b
                     39: in Bitmap
                     40: .I bp
                     41: with Code
                     42: .IR f .
                     43: .PP
                     44: The
                     45: .I eldisc
                     46: function
                     47: draws an elliptical disc centered at
                     48: .I p
                     49: with horizontal semi-axis
                     50: .I a
                     51: and vertical semi-axis
                     52: .I b
                     53: in Bitmap
                     54: .I bp
                     55: with Code
                     56: .IR f .
                     57: .PP
                     58: The
                     59: .I eldiscture
                     60: function
                     61: draws an elliptical disc centered at
                     62: .I p
                     63: with horizontal semi-axis
                     64: .I a
                     65: and vertical semi-axis
                     66: .I b
                     67: in Bitmap
                     68: .I bp
                     69: using Texture16
                     70: .I t
                     71: with Code
                     72: .IR f .
                     73: .PP
                     74: The
                     75: .I elarc
                     76: function
                     77: draws the corresponding elliptical arc, traveling
                     78: counterclockwise from the ellipse point closest to
                     79: .I p1
                     80: to the point closest to
                     81: .IR p2 .
                     82: Note: Differences exist between the calling conventions for
                     83: .I arc
                     84: and
                     85: .IR elarc .
                     86: .SH EXAMPLE
                     87: The following routine can be used to allow a user to sweep out an
                     88: ellipse by holding button 1 down.
                     89: When button 1 is released,
                     90: the ellipse is filled using the elliptical disc routine.
                     91: .PP
                     92: .RS 3
                     93: .nf
                     94: .ft CM
                     95: #include <dmd.h>
                     96: 
                     97: main()
                     98: {
                     99:        sweep_eldisc();
                    100:        request(KBD);
                    101:        wait(KBD);
                    102: }
                    103:   
                    104: sweep_eldisc()
                    105: {
                    106:    Point p, c;
                    107:    int a, b;
                    108: 
                    109:    request(MOUSE);
                    110: 
                    111:    while (!button1() )
                    112:       wait (MOUSE);       
                    113:    c = p = mouse.xy;
                    114:    while (button1())
                    115:       if (!eqpt(p, mouse.xy)){
                    116:          if( !eqpt( p, c))  /* undraw old ellipse */
                    117:             ellipse (&display, c, a, b, F_XOR);
                    118:          p = mouse.xy;
                    119:          a = abs (p.x - c.x);
                    120:          b = abs (p.y - c.y);
                    121:          ellipse (&display, c, a, b, F_XOR);
                    122:       }
                    123:    ellipse (&display, c, a, b, F_XOR);
                    124:    eldisc  (&display, c, a, b, F_XOR);
                    125: }
                    126: .fi
                    127: .RE
                    128: .SH SEE ALSO
                    129: circle(3L), jcircle(3L), jellipse(3L).

unix.superglobalmegacorp.com

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