summaryrefslogtreecommitdiffstats
path: root/scintilla/src/XPM.h
diff options
context:
space:
mode:
Diffstat (limited to 'scintilla/src/XPM.h')
-rw-r--r--scintilla/src/XPM.h43
1 files changed, 6 insertions, 37 deletions
diff --git a/scintilla/src/XPM.h b/scintilla/src/XPM.h
index 9ecb1d5..ddac02e 100644
--- a/scintilla/src/XPM.h
+++ b/scintilla/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,41 +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);
};
/**
- * A collection of pixmaps indexed by integer id.
- */
-class XPMSet {
- XPM **set; ///< The stored XPMs.
- int len; ///< Current number of XPMs.
- int maximum; ///< Current maximum number of XPMs, increased by steps if reached.
- int height; ///< Memorize largest height of the set.
- int width; ///< Memorize largest width of the set.
-public:
- XPMSet();
- ~XPMSet();
- /// Remove all XPMs.
- void Clear();
- /// Add a XPM.
- void Add(int ident, const char *textForm);
- /// Get XPM by id.
- XPM *Get(int ident);
- /// Give the largest height of the set.
- int GetHeight();
- /// Give the largest width of the set.
- int GetWidth();
-};
-
-/**
- * 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