Annotation of GNUtools/libg++/libio/PlotFile.cc, revision 1.1

1.1     ! root        1: /* 
        !             2: Copyright (C) 1993 Free Software Foundation
        !             3: 
        !             4: This file is part of the GNU IO Library.  This library is free
        !             5: software; you can redistribute it and/or modify it under the
        !             6: terms of the GNU General Public License as published by the
        !             7: Free Software Foundation; either version 2, or (at your option)
        !             8: any later version.
        !             9: 
        !            10: This library is distributed in the hope that it will be useful,
        !            11: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            12: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            13: GNU General Public License for more details.
        !            14: 
        !            15: You should have received a copy of the GNU General Public License
        !            16: along with GNU CC; see the file COPYING.  If not, write to
        !            17: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
        !            18: 
        !            19: As a special exception, if you link this library with files
        !            20: compiled with a GNU compiler to produce an executable, this does not cause
        !            21: the resulting executable to be covered by the GNU General Public License.
        !            22: This exception does not however invalidate any other reasons why
        !            23: the executable file might be covered by the GNU General Public License. */
        !            24: 
        !            25: // This may look like C code, but it is really -*- C++ -*-
        !            26: /* 
        !            27: Copyright (C) 1988, 1992, 1993 Free Software Foundation
        !            28:     written by Doug Lea ([email protected])
        !            29:     converted to use iostream library by Per Bothner ([email protected])
        !            30: 
        !            31: This file is part of the GNU IO Library.  This library is free
        !            32: software; you can redistribute it and/or modify it under the
        !            33: terms of the GNU General Public License as published by the
        !            34: Free Software Foundation; either version 2, or (at your option)
        !            35: any later version.
        !            36: 
        !            37: This library is distributed in the hope that it will be useful,
        !            38: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            39: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            40: GNU General Public License for more details.
        !            41: 
        !            42: You should have received a copy of the GNU General Public License
        !            43: along with GNU CC; see the file COPYING.  If not, write to
        !            44: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
        !            45: 
        !            46: As a special exception, if you link this library with files
        !            47: compiled with GCC to produce an executable, this does not cause
        !            48: the resulting executable to be covered by the GNU General Public License.
        !            49: This exception does not however invalidate any other reasons why
        !            50: the executable file might be covered by the GNU General Public License.  */
        !            51: 
        !            52: #ifdef __GNUG__
        !            53: #pragma implementation
        !            54: #endif
        !            55: #include <PlotFile.h>
        !            56: 
        !            57: /*
        !            58:  PlotFile implementation module
        !            59: */
        !            60: 
        !            61: 
        !            62: PlotFile& PlotFile:: cmd(char c)
        !            63: { 
        !            64:   ofstream::put(c); 
        !            65:   return *this; 
        !            66: }
        !            67: 
        !            68: PlotFile& PlotFile:: operator<<(const int x)
        !            69: { 
        !            70: #if defined(convex)
        !            71:   ofstream::put((char)(x>>8)); 
        !            72:   ofstream::put((char)(x&0377)); 
        !            73: #else
        !            74:   ofstream::put((char)(x&0377)); 
        !            75:   ofstream::put((char)(x>>8)); 
        !            76: #endif
        !            77:   return *this; 
        !            78: }
        !            79: 
        !            80: PlotFile& PlotFile:: operator<<(const char *s)
        !            81: { 
        !            82:   *(ofstream*)this << s;
        !            83:   return *this;
        !            84: }
        !            85: 
        !            86: 
        !            87: PlotFile& PlotFile:: arc(const int xi, const int yi,
        !            88:                         const int x0, const int y0,
        !            89:                         const int x1, const int y1)
        !            90: { 
        !            91:   return cmd('a') << xi << yi << x0 << y0 << x1 << y1; 
        !            92: }
        !            93: 
        !            94: 
        !            95: PlotFile& PlotFile:: box(const int x0, const int y0,
        !            96:                         const int x1, const int y1)
        !            97: { 
        !            98:   line(x0, y0, x0, y1);
        !            99:   line(x0, y1, x1, y1);
        !           100:   line(x1, y1, x1, y0);
        !           101:   return line(x1, y0, x0, y0);
        !           102: }
        !           103: 
        !           104: PlotFile& PlotFile:: circle(const int x, const int y, const int r)
        !           105: { 
        !           106:   return cmd('c') << x << y << r; 
        !           107: }
        !           108: 
        !           109: PlotFile& PlotFile:: cont(const int xi, const int yi)
        !           110: { 
        !           111:   return cmd('n') << xi << yi;
        !           112: }
        !           113: 
        !           114: PlotFile& PlotFile:: dot(const int xi, const int yi, const int dx,
        !           115:                         int n, const int* pat)
        !           116: { 
        !           117:   cmd('d') << xi << yi << dx << n;
        !           118:   while (n-- > 0) *this << *pat++;
        !           119:   return *this; 
        !           120: }
        !           121: 
        !           122: PlotFile& PlotFile:: erase()
        !           123: { 
        !           124:   return cmd('e'); 
        !           125: }
        !           126: 
        !           127: PlotFile& PlotFile:: label(const char* s)
        !           128: { 
        !           129:   return cmd('t') << s << "\n"; 
        !           130: }
        !           131: 
        !           132: PlotFile& PlotFile:: line(const int x0, const int y0,
        !           133:                          const int x1, const int y1)
        !           134: { 
        !           135:   return cmd('l') << x0 << y0 << x1 << y1; 
        !           136: }
        !           137: 
        !           138: PlotFile& PlotFile:: linemod(const char* s)
        !           139: { 
        !           140:   return cmd('f') << s << "\n"; 
        !           141: }
        !           142: 
        !           143: PlotFile& PlotFile:: move(const int xi, const int yi)
        !           144: { 
        !           145:   return cmd('m') << xi << yi;
        !           146: }
        !           147: 
        !           148: PlotFile& PlotFile:: point(const int xi, const int yi)
        !           149: { 
        !           150:   return cmd('p') << xi << yi; 
        !           151: }
        !           152: 
        !           153: PlotFile& PlotFile:: space(const int x0, const int y0,
        !           154:                           const int x1, const int y1)
        !           155: { 
        !           156:   return cmd('s') << x0 << y0 << x1 << y1; 
        !           157: }

unix.superglobalmegacorp.com

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