You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
//========================================================================
|
|
//
|
|
// SplashBitmap.h
|
|
//
|
|
//========================================================================
|
|
|
|
#ifndef SPLASHBITMAP_H
|
|
#define SPLASHBITMAP_H
|
|
|
|
#include <aconf.h>
|
|
|
|
#ifdef USE_GCC_PRAGMAS
|
|
#pragma interface
|
|
#endif
|
|
|
|
#include "SplashTypes.h"
|
|
|
|
//------------------------------------------------------------------------
|
|
// SplashBitmap
|
|
//------------------------------------------------------------------------
|
|
|
|
class SplashBitmap {
|
|
public:
|
|
|
|
// Create a new bitmap. It will have <widthA> x <heightA> pixels in
|
|
// color mode <modeA>. Rows will be padded out to a multiple of
|
|
// <rowPad> bytes. If <topDown> is false, the bitmap will be stored
|
|
// upside-down, i.e., with the last row first in memory.
|
|
SplashBitmap(int widthA, int heightA, int rowPad,
|
|
SplashColorMode modeA, GBool alphaA,
|
|
GBool topDown = gTrue);
|
|
|
|
~SplashBitmap();
|
|
|
|
int getWidth() { return width; }
|
|
int getHeight() { return height; }
|
|
int getRowSize() { return rowSize; }
|
|
int getAlphaRowSize() { return width; }
|
|
SplashColorMode getMode() { return mode; }
|
|
SplashColorPtr getDataPtr() { return data; }
|
|
Guchar *getAlphaPtr() { return alpha; }
|
|
|
|
SplashError writePNMFile(char *fileName);
|
|
|
|
void getPixel(int x, int y, SplashColorPtr pixel);
|
|
Guchar getAlpha(int x, int y);
|
|
|
|
private:
|
|
|
|
int width, height; // size of bitmap
|
|
int rowSize; // size of one row of data, in bytes
|
|
// - negative for bottom-up bitmaps
|
|
SplashColorMode mode; // color mode
|
|
SplashColorPtr data; // pointer to row zero of the color data
|
|
Guchar *alpha; // pointer to row zero of the alpha data
|
|
// (always top-down)
|
|
|
|
friend class Splash;
|
|
};
|
|
|
|
#endif
|
|
|