41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
|
diff -r 9ad9a88a8e91 include/mgl2/base.h
|
||
|
--- include/mgl2/base.h Sun Apr 14 22:38:31 2013 +0100
|
||
|
+++ include/mgl2/base.h Sun Apr 14 22:42:46 2013 +0100
|
||
|
@@ -161,11 +161,14 @@
|
||
|
{ Create(a.nt, a.nl); memcpy(trig, a.trig, 6*nt*sizeof(short));
|
||
|
memcpy(line, a.line, 2*nl*sizeof(short)); return *this; }
|
||
|
};
|
||
|
+
|
||
|
+const int MGL_TEXTURE_COLOURS=512;
|
||
|
+
|
||
|
//-----------------------------------------------------------------------------
|
||
|
/// Structure for texture (color scheme + palette) representation
|
||
|
struct MGL_EXPORT mglTexture
|
||
|
{
|
||
|
- mglColor col[512]; ///< Colors itself
|
||
|
+ mglColor col[MGL_TEXTURE_COLOURS]; ///< Colors itself
|
||
|
long n; ///< Number of initial colors along u
|
||
|
|
||
|
char Sch[260]; ///< Color scheme used
|
||
|
@@ -179,6 +182,7 @@
|
||
|
void Set(const char *cols, int smooth=0,mreal alpha=1);
|
||
|
void Set(HCDT val, const char *cols);
|
||
|
void GetC(mreal u,mreal v,mglPnt &p) const;
|
||
|
+ size_t GetNumColours() { return MGL_TEXTURE_COLOURS;}
|
||
|
mglColor GetC(mreal u,mreal v=0) const;
|
||
|
inline bool IsSame(const mglTexture &t) const
|
||
|
{ return n==t.n && !memcmp(col,t.col,512*sizeof(mglColor)); }
|
||
|
diff -r 9ad9a88a8e91 src/base.cpp
|
||
|
--- src/base.cpp Sun Apr 14 22:38:31 2013 +0100
|
||
|
+++ src/base.cpp Sun Apr 14 22:42:46 2013 +0100
|
||
|
@@ -882,7 +882,8 @@
|
||
|
return i+j/255.;
|
||
|
// add new texture
|
||
|
mglTexture t;
|
||
|
- for(i=0;i<514;i++) t.col[i]=c;
|
||
|
+ size_t maxColours=t.GetNumColours();
|
||
|
+ for(i=0;i<maxColours;i++) t.col[i]=c;
|
||
|
MGL_PUSH(Txt,t,mutexTxt); return Txt.size()-1;
|
||
|
}
|
||
|
//-----------------------------------------------------------------------------
|