aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/XPM.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/XPM.h')
-rw-r--r--src/XPM.h19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/XPM.h b/src/XPM.h
index 5deeffa48..c19025d1a 100644
--- a/src/XPM.h
+++ b/src/XPM.h
@@ -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