summaryrefslogtreecommitdiff
path: root/imagecache.c
diff options
context:
space:
mode:
authorManuel Reimer <manuel.reimer@gmx.de>2013-11-12 17:03:11 +0100
committerlouis <louis.braun@gmx.de>2013-11-12 17:03:11 +0100
commit735f22370b0d48c8c121a31c115e9d72af895eca (patch)
treef947bcec75ebf52ce78ec59071944a2a2ed55f0f /imagecache.c
parent09a6323046f959a748a6a15fc2aa1e1af1ffba7c (diff)
downloadskin-nopacity-735f22370b0d48c8c121a31c115e9d72af895eca.tar.gz
skin-nopacity-735f22370b0d48c8c121a31c115e9d72af895eca.tar.bz2
implemented GraphicsMagick compatibility
Diffstat (limited to 'imagecache.c')
-rw-r--r--imagecache.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/imagecache.c b/imagecache.c
index 5b6cbcf..9fb1690 100644
--- a/imagecache.c
+++ b/imagecache.c
@@ -324,12 +324,9 @@ bool cImageCache::LoadIcon(eCacheType type, std::string name) {
}
void cImageCache::InsertIntoIconCache(eCacheType type, std::string name, int width, int height, bool preserveAspect) {
- if (preserveAspect) {
- buffer.sample(Geometry(width, height));
- } else {
- cString geometry = cString::sprintf("%dx%d!", width, height);
- buffer.resize(Geometry(*geometry));
- }
+ Geometry size(width, height);
+ size.aspect(!preserveAspect);
+ buffer.sample(size);
cImage *image = CreateImage();
if (type == ctMenuIcon)
menuIconCache.insert(std::pair<std::string, cImage*>(name, image));
@@ -692,8 +689,9 @@ void cImageCache::CreateSkinElementsGraphics(void) {
void cImageCache::InsertIntoSkinElementCache(eSkinElementType type, int width, int height) {
if (width>0 && height>0) {
- cString geometry = cString::sprintf("%dx%d!", width, height);
- buffer.resize(Geometry(*geometry));
+ Geometry size(width, height);
+ size.aspect(true);
+ buffer.sample(size);
}
cImage *image = CreateImage();
skinElementCache.insert(std::pair<eSkinElementType, cImage*>(type, image));
@@ -735,4 +733,4 @@ void cImageCache::Clear(void) {
delete img;
}
logoTimerCache.clear();
-} \ No newline at end of file
+}