Annotation of 43BSDReno/lib/libplot/gigi/linemod.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  */
                      6: 
                      7: #ifndef lint
                      8: static char sccsid[] = "@(#)linemod.c  5.1 (Berkeley) 5/7/85";
                      9: #endif not lint
                     10: 
                     11: #include "gigi.h"
                     12: 
                     13: linemod( line )
                     14: char   *line;
                     15: {
                     16:        /*
                     17:         * Note that the bit patterns could be compacted using the
                     18:         *  repeat field conventions.  They aren't for clarity.
                     19:         *  Examples of almost identical packed patterns are in the
                     20:         *  comments.
                     21:         *  If linemod is changed really often, a ~15% savings
                     22:         *  could be achieved.
                     23:         */
                     24:        if ( *(line) == 's' ) {
                     25:                if ( *(++line) == 'o' ) {
                     26:                        /*
                     27:                         * solid mode 1
                     28:                         */
                     29:                        printf( "W(P1)" );
                     30:                        return;
                     31:                }
                     32:                else if ( *(line) == 'h' ) {
                     33:                        /*
                     34:                         * shortdashed mode 4
                     35:                         *  printf( "W(P000111)" );
                     36:                         */
                     37:                        printf( "W(P00011100)" );
                     38:                        return;
                     39:                }
                     40:        }
                     41:        else if ( *(line) == 'd' ) {
                     42:                if ( *(++line) == 'o' && *(++line) == 't' ) {
                     43:                        if ( *(++line) == 't' ) {
                     44:                                /*
                     45:                                 * dotted mode 2
                     46:                                 *  printf( "W(P00001)" );
                     47:                                 */
                     48:                                printf( "W(P10000000)" );
                     49:                                return;
                     50:                        }
                     51:                        else if ( *(line) == 'd' ) {
                     52:                                /*
                     53:                                 * dotdashed mode 3
                     54:                                 *  printf( "W(P0110010)" );
                     55:                                 */
                     56:                                printf( "W(P10001100)" );
                     57:                                return;
                     58:                        }
                     59:                }
                     60:        }
                     61:        else if ( *(line) == 'l' ) {
                     62:                /*
                     63:                 * longdashed mode 5
                     64:                 *  printf( "W(P11100)" );
                     65:                 */
                     66:                printf( "W(P11111100)" );
                     67:                return;
                     68:        }
                     69:        printf( "W(P1)" );                      /* default to solid */
                     70:        return;
                     71: }

unix.superglobalmegacorp.com

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