pepper: View damage processing
authorTaekyun Kim <tkq.kim@samsung.com>
Thu, 11 Jun 2015 02:19:30 +0000 (11:19 +0900)
committerTaekyun Kim <tkq.kim@samsung.com>
Tue, 7 Jul 2015 06:56:50 +0000 (15:56 +0900)
commitce0e6ba7390fb91a02062988bc12e1d23ce026da
tree1d31f7dee354c45a3a3a9b13e477d6fc969ff28e
parente8f4be179edf5fc04ed69cad2bfe135691763580
pepper: View damage processing

Damage processing algorithm.

1. inflict damage for current visible area of a view when geometry or z-order
   change. Mark those views as "need_damage" so that damages for updated
   visible regions are getting inflicted.

2. Build a list of views sorted in z-order.

3. Do following things while traversing the view list from front to back

    a. update view geometry
    b. calculate visible region of the view : visible = bounding - opaque
    c. inflict damage for visible region of the view if marked as "need_damage"
    d. inflict damage for surface damage set by the client
    e. accumulate view's opaque region on the global opaque region

Now we have total damage region in compositor->damage_region.

Change-Id: I06c7098bb7edc954172177ee36442800d2b3ce26
pepper/src/compositor.c
pepper/src/pepper-internal.h
pepper/src/pepper.h
pepper/src/surface.c
pepper/src/view.c