[haiku-bugs] Re: [Haiku] #1837: Implement Begin- and EndRectTracking() in the app_server

  • From: "stippi" <trac@xxxxxxxxxxxx>
  • Date: Sun, 12 Dec 2010 11:31:28 -0000

#1837: Implement Begin- and EndRectTracking() in the app_server
---------------------------------+-----------------------------
  Reporter:  stippi              |        Owner:  stippi
      Type:  bug                 |       Status:  new
  Priority:  normal              |    Milestone:  R1
 Component:  Servers/app_server  |      Version:  R1/pre-alpha1
Resolution:                      |     Keywords:
Blocked By:                      |  Has a Patch:  1
  Platform:  All                 |     Blocking:
---------------------------------+-----------------------------

Comment (by stippi):

 Unfortunately, the patch is not what I had in mind for the implementation.
 Also it is not complete, please read up on the functionality in the
 BeBook, there is a dragging mode which drags the rect at a fixed size,
 instead of resizing it. A drag rect operation is global, therefor it is
 misplaced in ServerWindow. The implementation should be beneath the
 Desktop class, ServerWindow should only forward the request to begin and
 end a session. Then Desktop should implement it probably in the
 MouseFilter, or better with a dedicated class for this purpose (attached
 to the filter chain on the fly). Then the dragged rect drawing should be
 implemented as a "transparent overlay" like the cursor is being rendered.
 A while ago I already started refactoring this stuff so the cursor is not
 something special, but there is a dynamic list of overlays (which in some
 configurations need to be hidden to draw something and than shown back on
 top of the drawing, it's complex, sorry). Your redrawing problems come
 from the problem that you can only invalidate what's inside the window
 that initiated the drag operation, but like I said it's supposed to be
 something global, i.e. the graphics overlay all windows on the screen.

 Hope this helps. Please don't let this discourage you, I will be glad to
 assist you further. If it would be as simple as in your patch (no
 offense!), I would have implemented this long ago. But I am glad you
 started it!

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/1837#comment:5>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: