/usr/include/tuxcap/Image.h is in libtuxcap-dev 1.4.0.dfsg2-2.3+b2.
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | #ifndef __IMAGE_H__
#define __IMAGE_H__
#include "Common.h"
#include "Color.h"
#include "Rect.h"
#include "Point.h"
namespace Sexy
{
struct Span
{
int mY;
int mX;
int mWidth;
};
enum AnimType
{
AnimType_None,
AnimType_Once,
AnimType_PingPong,
AnimType_Loop
};
struct AnimInfo
{
AnimType mAnimType;
int mFrameDelay; // 1/100s
int mNumCels;
std::vector<int> mPerFrameDelay;
std::vector<int> mFrameMap;
int mTotalAnimTime;
AnimInfo();
void SetPerFrameDelay(int theFrame, int theTime);
void Compute(int theNumCels, int theBeginFrameTime = 0, int theEndFrameTime = 0);
int GetPerFrameCel(int theTime);
int GetCel(int theTime);
};
class Graphics;
class SexyMatrix3;
#if 0
class SysFont;
#endif
class TriVertex;
class Image
{
#if 0
friend class Sexy::SysFont;
#endif
public:
bool mDrawn;
std::string mFilePath;
int mWidth;
int mHeight;
// for image strips
int mNumRows;
int mNumCols;
// for animations
AnimInfo *mAnimInfo;
public:
Image();
Image(const Image& theImage);
virtual ~Image();
int GetWidth();
int GetHeight();
int GetCelWidth(); // returns the width of just 1 cel in a strip of images
int GetCelHeight(); // like above but for vertical strips
int GetAnimCel(int theTime); // use animinfo to return appropriate cel to draw at the time
Rect GetAnimCelRect(int theTime);
Rect GetCelRect(int theCel); // Gets the rectangle for the given cel at the specified row/col
Rect GetCelRect(int theCol, int theRow); // Same as above, but for an image with both multiple rows and cols
void CopyAttributes(Image *from);
Graphics* GetGraphics();
virtual bool PolyFill3D(const Point theVertices[], int theNumVertices, const Rect *theClipRect, const Color &theColor, int theDrawMode, int tx, int ty, bool convex);
virtual void FillRect(const Rect& theRect, const Color& theColor, int theDrawMode);
virtual void DrawRect(const Rect& theRect, const Color& theColor, int theDrawMode);
virtual void ClearRect(const Rect& theRect);
virtual void DrawLine(double theStartX, double theStartY, double theEndX, double theEndY, const Color& theColor, int theDrawMode);
virtual void DrawLineAA(double theStartX, double theStartY, double theEndX, double theEndY, const Color& theColor, int theDrawMode);
virtual void FillScanLines(Span* theSpans, int theSpanCount, const Color& theColor, int theDrawMode);
virtual void FillScanLinesWithCoverage(Span* theSpans, int theSpanCount, const Color& theColor, int theDrawMode, const unsigned char* theCoverage, int theCoverX, int theCoverY, int theCoverWidth, int theCoverHeight);
virtual void Blt(Image* theImage, int theX, int theY, const Rect& theSrcRect, const Color& theColor, int theDrawMode);
virtual void BltF(Image* theImage, float theX, float theY, const Rect& theSrcRect, const Rect &theClipRect, const Color& theColor, int theDrawMode);
virtual void BltRotated(Image* theImage, float theX, float theY, const Rect &theSrcRect, const Rect& theClipRect, const Color& theColor, int theDrawMode, double theRot, float theRotCenterX, float theRotCenterY);
virtual void StretchBlt(Image* theImage, const Rect& theDestRect, const Rect& theSrcRect, const Rect& theClipRect, const Color& theColor, int theDrawMode, bool fastStretch);
virtual void BltMatrix(Image* theImage, float x, float y, const SexyMatrix3 &theMatrix, const Rect& theClipRect, const Color& theColor, int theDrawMode, const Rect &theSrcRect, bool blend);
virtual void BltTrianglesTex(Image *theTexture, const TriVertex theVertices[][3], int theNumTriangles, const Rect& theClipRect, const Color &theColor, int theDrawMode, float tx, float ty, bool blend);
virtual void BltMirror(Image* theImage, int theX, int theY, const Rect& theSrcRect, const Color& theColor, int theDrawMode);
virtual void StretchBltMirror(Image* theImage, const Rect& theDestRect, const Rect& theSrcRect, const Rect& theClipRect, const Color& theColor, int theDrawMode, bool fastStretch);
};
}
#endif //__IMAGE_H__
|