#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.