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

1.1     ! root        1: /* This is part of libio/iostream, providing -*- C++ -*- input/output.
        !             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: /* 
        !            26:   a very simple implementation of a class to output unix "plot"
        !            27:   format plotter files. See corresponding unix man pages for
        !            28:   more details. 
        !            29: 
        !            30:   written by Doug Lea ([email protected])
        !            31:   converted to use iostream library by Per Bothner ([email protected])
        !            32: */
        !            33: 
        !            34: #ifndef _PlotFile_h
        !            35: #ifdef __GNUG__
        !            36: #pragma interface
        !            37: #pragma cplusplus
        !            38: #endif
        !            39: #define _PlotFile_h
        !            40: 
        !            41: #include <fstream.h>
        !            42: 
        !            43: /*   
        !            44:    Some plot libraries have the `box' command to draw boxes. Some don't.
        !            45:    `box' is included here via moves & lines to allow both possiblilties.
        !            46: */
        !            47: 
        !            48: 
        !            49: class PlotFile : public ofstream
        !            50: {
        !            51: protected:
        !            52:   PlotFile& cmd(char c);
        !            53:   PlotFile& operator << (const int x);
        !            54:   PlotFile& operator << (const char *s);
        !            55:   
        !            56: public:
        !            57:   
        !            58:   PlotFile() : ofstream() { }
        !            59:   PlotFile(int fd) : ofstream(fd) { }
        !            60:   PlotFile(const char *name, int mode=ios::out, int prot=0664)
        !            61:       : ofstream(name, mode, prot) { }
        !            62:   
        !            63: //  PlotFile& remove() { ofstream::remove(); return *this; }
        !            64:   
        !            65: //  int           filedesc() { return ofstream::filedesc(); }
        !            66: //  const char*   name() { return File::name(); }
        !            67: //  void          setname(const char* newname) { File::setname(newname); }
        !            68: //  int           iocount() { return File::iocount(); }
        !            69:   
        !            70:   PlotFile& arc(const int xi, const int yi,
        !            71:                 const int x0, const int y0,
        !            72:                 const int x1, const int y1);
        !            73:   PlotFile& box(const int x0, const int y0,
        !            74:                 const int x1, const int y1);
        !            75:   PlotFile& circle(const int x, const int y, const int r);
        !            76:   PlotFile& cont(const int xi, const int yi);
        !            77:   PlotFile& dot(const int xi, const int yi, const int dx,
        !            78:                 int n, const int* pat);
        !            79:   PlotFile& erase(); 
        !            80:   PlotFile& label(const char* s);
        !            81:   PlotFile& line(const int x0, const int y0,
        !            82:                  const int x1, const int y1);
        !            83:   PlotFile& linemod(const char* s);
        !            84:   PlotFile& move(const int xi, const int yi);
        !            85:   PlotFile& point(const int xi, const int yi);
        !            86:   PlotFile& space(const int x0, const int y0,
        !            87:                   const int x1, const int y1);
        !            88: };
        !            89: #endif
        !            90: 
        !            91: 
        !            92: 
        !            93: 
        !            94: 
        !            95: 
        !            96: 
        !            97: 
        !            98: 
        !            99: 
        !           100: 
        !           101: 
        !           102: 
        !           103: 
        !           104: 
        !           105: 
        !           106: 
        !           107: 
        !           108: 
        !           109: 
        !           110: 
        !           111: 
        !           112: 
        !           113: 
        !           114: 
        !           115: 
        !           116: 
        !           117: 
        !           118: 
        !           119: 
        !           120: 
        !           121: 
        !           122: 

unix.superglobalmegacorp.com

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