diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-04-17 20:01:28 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-04-17 20:01:28 +0000 |
| commit | 78c828aae07db0b15a66577d9230cb848fe536fa (patch) | |
| tree | 28f8a54388094420c73c01938a389b52b6c2015b /lib/gdi | |
| parent | 18ee5e9c8a01b3ddd899a6aeea40ab0a6ce3da7d (diff) | |
| download | enigma2-78c828aae07db0b15a66577d9230cb848fe536fa.tar.gz enigma2-78c828aae07db0b15a66577d9230cb848fe536fa.zip | |
- load palette from png
- named color support
Diffstat (limited to 'lib/gdi')
| -rw-r--r-- | lib/gdi/gpixmap.cpp | 2 | ||||
| -rw-r--r-- | lib/gdi/grc.cpp | 6 | ||||
| -rw-r--r-- | lib/gdi/grc.h | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/lib/gdi/gpixmap.cpp b/lib/gdi/gpixmap.cpp index e9c469c4..9e8219a5 100644 --- a/lib/gdi/gpixmap.cpp +++ b/lib/gdi/gpixmap.cpp @@ -388,6 +388,8 @@ gColor gPalette::findColor(const gRGB &rgb) const ttd+=td; if (ttd>=difference) continue; + if (!ttd) + return t; difference=ttd; best_choice=t; } diff --git a/lib/gdi/grc.cpp b/lib/gdi/grc.cpp index 9cb1a072..756ed9b7 100644 --- a/lib/gdi/grc.cpp +++ b/lib/gdi/grc.cpp @@ -240,6 +240,12 @@ void gPainter::setPalette(gRGB *colors, int start, int len) m_rc->submit(o); } +void gPainter::setPalette(gPixmap *source) +{ + ASSERT(source); + setPalette(source->surface->clut.data, source->surface->clut.start, source->surface->clut.colors); +} + void gPainter::mergePalette(gPixmap *target) { gOpcode o; diff --git a/lib/gdi/grc.h b/lib/gdi/grc.h index 57439178..53bf7f09 100644 --- a/lib/gdi/grc.h +++ b/lib/gdi/grc.h @@ -215,6 +215,7 @@ public: void blit(gPixmap *pixmap, ePoint pos, const eRect &what=eRect(), int flags=0); void setPalette(gRGB *colors, int start=0, int len=256); + void setPalette(gPixmap *source); void mergePalette(gPixmap *target); void line(ePoint start, ePoint end); |
