render: fix pixman repaint()
authorYuyeon Oh <yuyeon.oh@samsung.com>
Thu, 2 Jul 2015 09:47:27 +0000 (18:47 +0900)
committerGerrit Code Review <root@ap3>
Tue, 7 Jul 2015 08:14:37 +0000 (17:14 +0900)
- Add NULL check
- Indent

Change-Id: Ieb4006cd804fc64a9d961e64e91776a1d676cfd2

render/src/pixman-renderer.c

index 22a9a0d..e1f1b07 100644 (file)
@@ -231,41 +231,46 @@ static void
 repaint_view(pepper_renderer_t *renderer, pepper_object_t *output, pepper_view_state_t *view_state,
              const pixman_region32_t *global_damage) /* global coordinate */
 {
-    pixman_region32_t repaint;
-    pixman_image_t *dest = ((pixman_render_target_t *)renderer->target)->image;
-    pepper_object_t *view = view_state->view;
-    pepper_object_t *view_surf = pepper_view_get_surface(view);
-    pixman_surface_state_t *ps = get_surface_state(renderer, view_surf);
-    const pixman_region32_t *visible = view_state->visible;
-    const pepper_output_geometry_t *geometry;
-    const pepper_mat4_t *transform = view_state->transform;
-    int viewport_x, viewport_y, viewport_w, viewport_h;
-
-    if (!ps->image || !dest)
+    pixman_render_target_t  *target = (pixman_render_target_t*)renderer->target;
+    pixman_region32_t        repaint;
+    pepper_object_t         *view;
+    pepper_object_t         *view_surf;
+    pixman_surface_state_t  *ps;
+
+    view = view_state->view;
+    PEPPER_ASSERT(view);
+
+    view_surf = pepper_view_get_surface(view);
+    if (!view_surf)
+        return;
+
+    ps = get_surface_state(renderer, view_surf);
+    if (!ps || !ps->image)
         return;
 
     pixman_region32_init(&repaint);
-    pixman_region32_intersect(&repaint, (pixman_region32_t*) visible,
+    pixman_region32_intersect(&repaint, (pixman_region32_t*) view_state->visible,
                               (pixman_region32_t*) global_damage);
 
     if (pixman_region32_not_empty(&repaint))
     {
-        /* damage region global to output */
-        geometry = pepper_output_get_geometry(output);
-        pixman_region32_translate(&repaint, -geometry->x, -geometry->y);
-        /* set clip on target destination */
-        pixman_image_set_clip_region32(dest, &repaint);
-        /* get viewport */
+        int                         x, y, w, h;
+        const pepper_mat4_t        *transform = view_state->transform;
+
+        /* set clip on destination */
+        pixman_image_set_clip_region32(target->image, &repaint);
+
         /* TODO: consider transform such as rotation */
-        viewport_x = transform->m[3];
-        viewport_y = transform->m[7];
-        pepper_view_get_size(view, &viewport_w, &viewport_h);
+        x = transform->m[3];
+        y = transform->m[7];
+        pepper_view_get_size(view, &w, &h);
+
         /* composite */
-        pixman_image_composite32(PIXMAN_OP_SRC, ps->image, NULL, dest,
+        pixman_image_composite32(PIXMAN_OP_SRC, ps->image, NULL, target->image,
                                  0, 0, /* src_x, src_y */
                                  0, 0, /* mask_x, mask_y */
-                                 viewport_x, viewport_y, /* dest_x, dest_y */
-                                 viewport_w, viewport_h);
+                                 x, y, /* dest_x, dest_y */
+                                 w, h);
     }
 
     pixman_region32_fini(&repaint);
@@ -273,16 +278,18 @@ repaint_view(pepper_renderer_t *renderer, pepper_object_t *output, pepper_view_s
 
 static void
 pixman_renderer_repaint_output(pepper_renderer_t *renderer, pepper_object_t *output,
-                               const pepper_list_t *view_list, const pixman_region32_t *output_damage)
+                               const pepper_list_t *view_list,
+                               const pixman_region32_t *output_damage)
 {
-    const pixman_image_t *dst = ((pixman_render_target_t *)renderer->target)->image;
-    const pepper_list_t *cur_list;
-    pepper_view_state_t *view_state;
-    const pepper_output_geometry_t *geometry;
-    pixman_region32_t global_damage;
+    pixman_render_target_t      *target = (pixman_render_target_t *)renderer->target;
 
-    if (dst && pixman_region32_not_empty((pixman_region32_t*) output_damage))
+    if (target && pixman_region32_not_empty((pixman_region32_t*) output_damage))
     {
+        const pepper_output_geometry_t  *geometry;
+        pixman_region32_t                global_damage;
+        pepper_list_t                   *cur_list;
+        pepper_view_state_t             *view_state;
+
         /* translate damage to global coordinate */
         geometry = pepper_output_get_geometry(output);
         pixman_region32_init(&global_damage);