// This file is part of dvi2bitmap. // Copyright 1999--2002, Council for the Central Laboratory of the Research Councils // // This program is part of the Starlink Software Distribution: see // http://www.starlink.ac.uk // // dvi2bitmap is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // dvi2bitmap is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with dvi2bitmap; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // The General Public License is distributed along with this // program in the file LICENCE. // // Author: Norman Gray // $Id: XBMBitmap.cc,v 1.16 2005/06/04 15:51:04 normang Exp $ #include #include "Bitmap.h" #include "XBMBitmap.h" //#include // debug code writes to cerr #if HAVE_CSTD_INCLUDE # include # include # if CCTYPE_IN_STD using std::isalnum; # endif #else # include # include #endif XBMBitmap::XBMBitmap (const int w, const int h) : BitmapImage (w, h) { } XBMBitmap::~XBMBitmap () { } void XBMBitmap::write (const string filename) { FILE *op; if ((op = fopen (filename.c_str(), "w")) == NULL) throw BitmapError ("can't open XBM file"+filename+" to write"); size_t dotpos = filename.find_last_of('.'); size_t seppos = filename.find_last_of(FSPATH_SEP); if (seppos == string::npos) seppos = 0; if (dotpos == string::npos) dotpos = filename.length(); string fnroot_str = ""; for (unsigned int charno=(unsigned int)seppos; charno(1<(b)); fprintf (op, "\n"); } fprintf (op, "};\n"); fclose (op); }