[haiku-appserver] resize operation

  • From: Adi Oanca <adioanca@xxxxxxxxxxxxxx>
  • To: AppServer <haiku-appserver@xxxxxxxxxxxxx>
  • Date: Tue, 07 Jun 2005 16:00:39 +0300

Hi all,

        Have a question for you.

        Have a BView with 2 children. One is bottom aligned, the other right
aligned. We're resizing the view.

resize (50,0)
        - child 1 is not invalidated
        - child 2 is completely invalidated
resize (0,50)
        - child 1 is completely invalidated
        - child 2 is not invalidated
resize(50, 50)
        - both are invalidated.

This is how R5 behaves.

We can do better, the problem is how?
  - in the first case I can copy child2 to the right using HW acc.
  - in the 2nd case I can copy child1 to the bottom using HW acc.
  - in the 3rd case I can copy _only one_ of them using HW acc,
the other being completely redrawn. The problem is: which one
should I copy? The obvious answer would be: copy in the direction
that has the biggest area of right or bottom aligned views. BUT,
should I spend CPU cycles and memory to calculate which area is
the biggest? Is it feasible? (BTW, same could be done for bottom-right
aligned ones)
        The approach I took was to always copy right aligned views,
but that is not of much use when resizing on the vertical.

What should I do?


Other related posts: