aboutsummaryrefslogtreecommitdiff
path: root/lib/gdi
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-04-17 20:01:28 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-04-17 20:01:28 +0000
commit78c828aae07db0b15a66577d9230cb848fe536fa (patch)
tree28f8a54388094420c73c01938a389b52b6c2015b /lib/gdi
parent18ee5e9c8a01b3ddd899a6aeea40ab0a6ce3da7d (diff)
downloadenigma2-78c828aae07db0b15a66577d9230cb848fe536fa.tar.gz
enigma2-78c828aae07db0b15a66577d9230cb848fe536fa.zip
- load palette from png
- named color support
Diffstat (limited to 'lib/gdi')
-rw-r--r--lib/gdi/gpixmap.cpp2
-rw-r--r--lib/gdi/grc.cpp6
-rw-r--r--lib/gdi/grc.h1
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);