/usr/include/pstoedit/psimage.h is in libpstoedit-dev 3.70-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | #ifndef __psimage_h
#define __psimage_h
/*
psimage.h : This file is part of pstoedit.
Copyright (C) 1997 - 2014 Wolfgang Glunz, wglunz35_AT_pstoedit.net
This program 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.
This program 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 this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef cppcomp_h
#include "cppcomp.h"
#endif
#include "miscutil.h"
enum ImageType { colorimage, normalimage, imagemask };
// maybe do subclassing later
class DLLEXPORT PSImage
{
public:
ImageType type; // the image type
unsigned int height; // height
unsigned int width; // width
short int bits; // bits per component
short int ncomp; // number of color components 1 (grey), 3 (RGB) or 4 (CMYB)
float imageMatrix[6]; // the matrix given as argument to the *image* operator in PostScript
float normalizedImageCurrentMatrix[6]; // the effective matrix that transforms the ideal image into the device space.
bool polarity; // used for imagemask only
unsigned char * data; // the array of values
unsigned int nextfreedataitem; // the current write index into the data array
bool isFileImage; // true for PNG file images (Q: is this orthogonal to ImageType ? - I guess yes)
RSString FileName; // for PNG file images
PSImage(): type(colorimage),height(0),width(0),bits(0),ncomp(0),
polarity(true),data(0),nextfreedataitem(0),isFileImage(false),FileName("")
{
for (int i = 0; i < 6 ; i++)
imageMatrix[i] = normalizedImageCurrentMatrix[i] = 0.0f;
}
~PSImage() { delete [] data; data = 0; nextfreedataitem = 0;}
void writeEPSImage(ostream & outi) const;
void writeIdrawImage(ostream & outi, float scalefactor) const;
//obsolete void writePNGImage(const char * pngFileName, const char * source, const char * title, const char * generator) const;
//obsolete static bool PNGSupported();
void getBoundingBox(Point & ll_p, Point & ur_p) const
{ ll_p = ll; ur_p = ur; }
void calculateBoundingBox();
unsigned char getComponent(
unsigned int x,
unsigned int y,
char numComponent) const;
private:
// Bounding Box
Point ll;
Point ur;
NOCOPYANDASSIGN(PSImage)
};
#endif
|