diff options
Diffstat (limited to 'src/XPM.h')
-rw-r--r-- | src/XPM.h | 19 |
1 files changed, 6 insertions, 13 deletions
@@ -1,6 +1,6 @@ // Scintilla source code edit control /** @file XPM.h - ** Define a class that holds data in the X Pixmap (XPM) format. + ** Define a classes to hold image data in the X Pixmap (XPM) and RGBA formats. **/ // Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org> // The License.txt file describes the conditions under which this software may be distributed. @@ -16,19 +16,14 @@ namespace Scintilla { * Hold a pixmap in XPM format. */ class XPM { - int pid; // Assigned by container int height; int width; int nColours; - char *data; + std::vector<unsigned char> pixels; + ColourDesired colourCodeTable[256]; char codeTransparent; - char *codes; - ColourDesired *colours; - ColourDesired ColourDesiredFromCode(int ch) const; ColourDesired ColourFromCode(int ch) const; void FillRun(Surface *surface, int code, int startX, int y, int x); - char **lines; - ColourDesired *colourCodeTable[256]; public: XPM(const char *textForm); XPM(const char *const *linesForm); @@ -38,17 +33,15 @@ public: void Clear(); /// Decompose image into runs and use FillRectangle for each run void Draw(Surface *surface, PRectangle &rc); - char **InLinesForm() { return lines; } - void SetId(int pid_) { pid = pid_; } - int GetId() const { return pid; } int GetHeight() const { return height; } int GetWidth() const { return width; } void PixelAt(int x, int y, ColourDesired &colour, bool &transparent) const; - static const char **LinesFormFromTextForm(const char *textForm); +private: + static std::vector<const char *>LinesFormFromTextForm(const char *textForm); }; /** - * An translucent image stoed as a sequence of RGBA bytes. + * A translucent image stored as a sequence of RGBA bytes. */ class RGBAImage { // Private so RGBAImage objects can not be copied |