From: Gonzalo Odiard <[email protected]>

This patch apply over "Do the preview in the activity using cairo intead of 
GdkPixbuf -v2"

Signed-off-by: Gonzalo Odiard <[email protected]>
---
 src/sugar3/activity/activity.py |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/sugar3/activity/activity.py b/src/sugar3/activity/activity.py
index 8c1200c..7b0693b 100644
--- a/src/sugar3/activity/activity.py
+++ b/src/sugar3/activity/activity.py
@@ -664,7 +664,20 @@ class Activity(Window, Gtk.Container):
         cairo_context = cairo.Context(preview_surface)
         preview_scale_w = preview_width * 1.0 / width
         preview_scale_h = preview_height * 1.0 / height
-        cairo_context.scale(preview_scale_w, preview_scale_h)
+        scale = min(preview_scale_w, preview_scale_h)
+
+        margin_x = int((preview_width - (width * scale)) / 2)
+        margin_y = int((preview_height - (height * scale)) / 2)
+
+        cairo_context.rectangle(0, 0, preview_width, preview_height)
+        cairo_context.set_source_rgb(1, 1, 1)
+        cairo_context.fill()
+
+        cairo_context.rectangle(margin_x, margin_y, preview_width,
+                preview_height)
+        cairo_context.clip()
+        cairo_context.translate(margin_x, margin_y)
+        cairo_context.scale(scale, scale)
         Gdk.cairo_set_source_window(cairo_context, window, -x, -y)
         cairo_context.paint()
 
-- 
1.7.7.6

_______________________________________________
Sugar-devel mailing list
[email protected]
http://lists.sugarlabs.org/listinfo/sugar-devel

Reply via email to