pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] r3725 - trunk/pingus/src


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3725 - trunk/pingus/src
Date: Tue, 8 Jul 2008 02:42:50 +0200

Author: grumbel
Date: 2008-07-08 02:42:49 +0200 (Tue, 08 Jul 2008)
New Revision: 3725

Modified:
   trunk/pingus/src/resource.cpp
Log:
Added support for loading pregenerated thumbnails

Modified: trunk/pingus/src/resource.cpp
===================================================================
--- trunk/pingus/src/resource.cpp       2008-07-07 23:26:24 UTC (rev 3724)
+++ trunk/pingus/src/resource.cpp       2008-07-08 00:42:49 UTC (rev 3725)
@@ -117,24 +117,33 @@
 Sprite
 Resource::load_thumb_sprite(const std::string& name)
 {
-  Sprite sprite(name);
-
-  Size thumb_size;
-  if (sprite.get_width() <= 48)
-    thumb_size.width = sprite.get_width();
+  Pathname thumb_path("thumbnails/" + name + ".png", Pathname::DATA_PATH);
+  if (thumb_path.exist())
+    {
+      std::cout << "Loading thumb from: " << thumb_path.str() << std::endl;
+      return Sprite(thumb_path);
+    }
   else
-    thumb_size.width = 48;
+    {
+      Sprite sprite(name);
 
-  if (sprite.get_height() <= 48)
-    thumb_size.height = sprite.get_height();
-  else
-    thumb_size.height = 48;
+      Size thumb_size;
+      if (sprite.get_width() <= 48)
+        thumb_size.width = sprite.get_width();
+      else
+        thumb_size.width = 48;
 
-  sprite.scale(thumb_size.width, thumb_size.height);
+      if (sprite.get_height() <= 48)
+        thumb_size.height = sprite.get_height();
+      else
+        thumb_size.height = 48;
 
-  sprite.set_hotspot(origin_top_left, (48 - sprite.get_width())/2, (48 - 
sprite.get_height())/2);
+      sprite.scale(thumb_size.width, thumb_size.height);
 
-  return sprite;
+      sprite.set_hotspot(origin_top_left, (48 - sprite.get_width())/2, (48 - 
sprite.get_height())/2);
+
+      return sprite;
+    }
 }
 
 /* EOF */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]