Commit Graph
100 Commits
Author SHA1 Message Date
Adi Oanca 12aa597dc6 Played a bit :-)
* Introduced WindowLayer::Hide/Show/IsHidden()
* Made ViewLayer::IsHidden() more robust.
* Same with ::TopLayer()
* modified a little ViewLayer::MoveBy() - prepared it to work with
hidden/shown code that will come soon; only calculate dirty regions if a
ViewLayer has a parent, otherwise the move action is pointless.
* Did the same thing with ::MoveBy() except for the parent stuff - no need
for a parent on resizing.




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 17:08:57 +00:00
Adi Oanca ace01f864b Removed BWindow::_DetermineTarget(). BWindow's task_looper() just calls BLooper's one. Took Message4 stuff from BWindow's task_looper() and put it in BLooper::task_looper() - guess this is wanted...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 21:44:51 +00:00
Adi Oanca 2899b880f6 Uncommented a correct piece of code. B_FRAME_RESIZED/MOVED are sent more accurately. Renamed AddToViewsWithInvalidCoords, SendViewCoordUpdateMsg into _AddToViewsWithInvalidCoords, _SendViewCoordUpdateMsg.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 21:16:57 +00:00
Adi Oanca 8e81fc4919 Some cleanup. Removed do_Hide, do_Show and do_CopyBits
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 18:25:27 +00:00
Adi Oanca 0139f287b4 Following recent changes (Axel's token stuff or Message4 impl) I could not launch a single application/window in app_server. This fixes the problem. Note I always test with DEBUG=1. Am I the only one who had this problem?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 16:22:39 +00:00
Adi Oanca 9a3090b0ed this fixes the problem Axel signaled with the OK button in terminal's about box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 18:10:54 +00:00
Adi Oanca e2ad4ab9b2 Not in mood for too much coding, I had a look through the code tonight. And guess what? Like Stefano
the other day, I discovered, not a bug, but how to invalidate only the area that requires it when
changing window order (selecting or moving to back a window). Stuppid me, that stuff didn't worked
because I forgot how windows were arranged in the list returned by Workspace::GetWMState(). I was
iterating the wrong way! :-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-10 21:52:59 +00:00
Adi Oanca 76d68e8ad8 More cleanup.
* moved code from Layer::do_MoveBy/do_ResizeBy/do_ScrollBy into
Layer::MoveBy/ResizeBy/ScrollBy()
* removed do_Move/Resize/ScrollBy()
* removed WinBorder::_ResizeBy()




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 20:14:52 +00:00
Adi Oanca b89fefc7c4 use DEBUG_CONV to print some output not the global DEBUG
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 17:33:47 +00:00
Adi Oanca 68e424c88b fix app_server build for R5 testing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-08 18:18:18 +00:00
Adi Oanca 02414ebd4e Cleanup.
* removed old Convert{To|From}{Parent|Top} methods. They were replaced by
Convert{To|From}{Parent|Screen}(type *data)
* removed some unused methods from Layer class.
* re-aranged Layer's class declaration - grouped methods
* made all Layer's members private.
* renamed a few private methods from method_name _MethodName




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-08 17:38:07 +00:00
Adi Oanca d4e4f29a42 Cleanup after the old clipping code. Removed a few methods as others took their place. More cleanup to follow on tomorrow. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 21:24:53 +00:00
Adi Oanca 2c8cfe2dfc Bye-bye old clipping codesvn update Some cleanup to follow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 19:01:12 +00:00
Adi Oanca d7467f6923 Fixed resize limits problem
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 18:09:49 +00:00
Adi Oanca ac4f06c5c6 Fixed invalidation with new clipping code. Only what's needed is
redrawn/invalidated now, with a single exception which I am working
on(when changing the front window the whole window area is invalidated
not just the region that became visible). The old Clipping code is broken
now. I will remove it in the next days.

Actual changes:
* removed Layer::GetWantedRegion() - was badly implemented.
* made Layer::_GetWantedRegion public and renamed it to: you guessed! :-)

* introduced Layer::MarkForRebuild(), TriggerRebuild(). You want to
calculate the new clipping regions, mark an area and then call
TRiggerRebuild() which will rebuild the visible regions for the current
Layer and all its descendants.

* for a Layer to redraw some parts of it, use
RootLayer::MarkForRedraw() to mark a region and then
RootLayer::TriggerRedraw() to see the changes (or send _UPDATE_ message in
case of a WinBorder).






git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-06 17:47:06 +00:00
Adi Oanca ce2fbc6151 Fixed a mistake I did a couple hours ago. Thanks Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 22:30:29 +00:00
Adi Oanca fc0c33529d Added support for BRoster::ActivateApp(). Code not tested yet, but it should work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 20:05:18 +00:00
Adi Oanca ac89958f6e Removed RootLayer::EnqueueMessage(). Added support for BWindow's EnableUpdates(), DisableUpdates(), NeedsUpdate() and SendBehind(). The last one does not work as expected, for the moment it sends the window to back, just as Activate(false) does.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 11:33:31 +00:00
Adi Oanca 9783d238c2 just a change of constants.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 11:23:37 +00:00
Adi Oanca 5412b02d50 cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 11:39:34 +00:00
Adi Oanca 412586888e cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 11:38:38 +00:00
Adi Oanca 31ec092be1 Introduced Layer::Activated() hook function. Moved some functionality from RootLayer to WinBorder
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 11:15:47 +00:00
Adi Oanca a577cf141f Immediately close app_server window after pressing close button in R5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 10:35:09 +00:00
Adi Oanca 9f0d28e921 Fixed a stupid bug when checking if the window order changed. Added support for BWindow::Activate(false). Added some debug support for Workspace::WMState. Simplified a bit code for sending a window to back.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 10:19:23 +00:00
Adi Oanca 88820e7210 the new clipping code uses the same mechanism for updating frame/bounds, so we don't need some things anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-28 17:05:46 +00:00
Adi Oanca fc9c02aa4f Made the new clipping code to use a single message to update client frame/bounds. ACTIVATED new clipping code! If someone notices problems please write to any list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-28 17:04:31 +00:00
Adi Oanca 3e5b79a7c6 Send BMessages to Haiku's app_server instead of PortLink ones. This is untested, but should work fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-25 18:44:48 +00:00
Adi Oanca 28d42d6e75 RootLayer thread receives BMessages only. Changed ViewHWInterface to send BMessages for input events
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-25 18:42:10 +00:00
Adi Oanca 557411309f preparing RootLayer thread to receive BMessages instead of PortLink ones
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 17:46:37 +00:00
Adi Oanca 3b19c4531d Introduced Layer::KeyDown/KeyUp/UnmappedKeyDown/UnmappedKeyUp/ModifiersChanged hooks. Simplified a bit RootLayer::KeyboardEventHandler().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 17:03:46 +00:00
Adi Oanca 9e5c574703 Layer::SendUpdateMsg() will tell us if sending _UPDATE_ message succeded. We'll use that information to clear WinBorder::fCumulativeRegion(server per-window dirty region) only on success.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 16:39:53 +00:00
Adi Oanca 66156adf92 In case SendMessageToClient() fails, it's good to know why
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 16:21:49 +00:00
Adi Oanca 70a4b5ce1e We don't need those message codes anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 16:20:51 +00:00
Adi Oanca 182db85c0c Introduced Layer::MouseWheelChanged(). Cleaned up RootLayer::MouseEventHandler::case B_MOUSE_WHEEL_CHANGED.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 16:11:50 +00:00
Adi Oanca da4a68b7f5 RootLayer thread only handles input messages now. All other actions (move/resize/scroll/invalidate/etc) are performed by locking the RootLayer object and taking the respective action from the calling thread(usulay a ServerWindow one).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 16:02:23 +00:00
Adi Oanca eead807371 removed Layer::fClassID
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 14:44:26 +00:00
Adi Oanca a5cd1aeed0 small checkin to make the new clipping code work if one desires
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 18:49:36 +00:00
Adi Oanca f2f3ee8fe7 Undid my last checkin
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-17 18:13:16 +00:00
Adi Oanca 908915fb91 This change should've been checked in for well over a week, back when I activated the NEW_INPUT_HANDLING define. Sorry about that!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-15 19:06:38 +00:00
Adi Oanca 33691ce0ac Removed NEW_INPUT_HANDLING define and the old code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-11 18:11:25 +00:00
Adi Oanca b961b59696 - replaced Layer::get_user_regions with _GetWantedRegion()
- replaced Layer::alter_visible_for_children with _ReserveRegions()
- simplified a bit Layer::rebuild_visible_regions()

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-07 16:05:22 +00:00
Adi Oanca 88ef6ce8fe - fixed build for NEW_CLIPPING define
- implemented RootLayer::SetActive(WinBorder*).
- added support for BWindow::Activate(). I realize now that I only added support for Activate(true). :-D In the next days I will add support for Activate(false).
- removed a few cases from ServerWindow as they are not needed.
- addapted WinBorder::MouseDown() to work with the new RootLayer::SetActive() implementation. 

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-06 10:45:46 +00:00
Adi Oanca f59edb4bf0 - removed RootLayer::WinBorderAt(). Use Layer::LayerAt() instead.
- Added a skeleton for RootLayer::SetActive()
- removed Workspace::SetFocus(). Use AttemptToSetFocus() instead.
- properly implemented Workspace::_SetFocus().
- removed Workspace::fActiveItem - it had/has no use.
- fixed a problem with Decorator buttons being drawn improperly when
B_MOUSE_UP was generated outside their area.
- added 2 TODOs to later fix Decorator's (re)drawing path.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-02 21:55:45 +00:00
Adi Oanca bbf8c95b5a * added Layer/WinBorder::WorkspaceChanged() hook.
* make RootLayer::SetWinBorderWorkspaces() work under NEW_INPUT_HANDLING
define. Soon I think I'll move this method under WinBorder's hood.
* RootLayer::change_winBorder_feel() is also working under this define

** NEW_INPUT_HANDLING define is active.
   If someone discovers something bad happening after this checkin please
notify me on app_server list. If in one week no major problems appear,
I'll remove this define and the old code.
   Thanks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-01 10:03:43 +00:00
Adi Oanca 8285d6b3c0 * implemented/fixed RootLayer::SetActiveWorkspace() under
NEW_INPUT_HANDLING define.
* added Layer/WinBorder::WorkspaceActivated()



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-28 21:12:38 +00:00
Adi Oanca 482a9b5d8c * replaced (Focus|Front|Active)WinBorder methods in RootLayer with shorter
names like Front|Focus|Active because in a not so later stage of
development these methods will return Layer* instead of WinBorder*
* fixed a problem where (floating) windows were not shown because their
visible regions were not cleared and taken as valid.
* fixed a bug where clicking on a border button actualy performed the
specific action instead of first activating the window.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-23 20:34:19 +00:00
Adi Oanca 42fb26b604 * changed the way we get data from the Window Manager (Workspace class for
now) (there will be a WindowManager class soon). We use a simple BList
now, for simplicity reasons; performance comes later :-).
* added RootLayer::RevealNewWMState() which will actualise the window list
and display/repaint differences between this state and the previous one,
including focus. It also sends B_WINDOW_ACTIVATED as appropriate. This
method removes other like get_workspace_windows(), draw_window_tab(),
winborder_activation(), show_final_scene() which were a bit confussing.
* ALL these changes are available under NEW_INPUT_HANDLING define which
isn't active yet. Soon...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-22 21:43:23 +00:00
Adi Oanca 534bc2c360 moving and resizing windows works very well now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-19 22:41:48 +00:00
Adi Oanca 715e2973a9 Fix for an app_server bug. Thanks Ingo\!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-19 19:45:17 +00:00
Adi Oanca 1b65556d66 more work on the input handling. I let Layer/WinBorder handle the MouseDown/Moved/Up instead of doing this in RootLayer::MouseEventHandler(). I did this because I felt it's more clean and in the near future RootLayer may have other children than WinBorders, for example simple Layers representing tooltips/bubbles/etc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-18 22:43:31 +00:00
Adi Oanca 8b94d5ecdd Work in progress for the new input handling stuff...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-16 05:10:21 +00:00
Adi Oanca 5c65e26c5b DEC_MOVETOFRONT was never used. We're using DEC_DRAG for this purpose also.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-10 16:45:15 +00:00
Adi Oanca 2138d632a6 In adding support for BView input events I got to rework/refractor the mouse input handling. This should be ready in a few days, so don't worry about the code being #ifdef-ed :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-08 16:53:42 +00:00
Adi Oanca ffd509fd9b more code for input events. refractored some code in RootLayer class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-05 18:55:32 +00:00
Adi Oanca 448f8b3243 update. added some code to support BView::SetMouseEventMask. code inactive ATM.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-03 18:08:49 +00:00
Adi Oanca 144022be62 Started to properly implement support for BView's events mask
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-03 17:55:16 +00:00
Adi Oanca be2eea8cf9 implemented hooks for resizing and moving operations. BViews now resize corectly in Playground app. Ignore the Convert*() stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-02 10:40:14 +00:00
Adi Oanca 4a9bbc7d20 addapted to new clipping code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-02 10:37:53 +00:00
Adi Oanca b72bef8630 Added Flags(), ResizeMode(), made virtuals be prototypes only.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-02 10:36:24 +00:00
Adi Oanca 173c6e9597 Fixed resizing/moving using the new clipping code. Stephan (I know I wrote about these changes in Layer.cpp) I saw the changes you did at how B_VIEW_RESIZE/MOVED are handled. This might break compatibility with R5. I think you guys should discuss this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-02 10:09:35 +00:00
Adi Oanca f97b5cb586 Moved CopyBits from ServerWindow to Layer. Also, made CopyBits code execute in RootLayer's thread
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 15:34:54 +00:00
Adi Oanca 843c11c953 another message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 15:09:02 +00:00
Adi Oanca 1302949204 Layer::Show/Hide now works. Improved some invalidating calls. fixed some potential problems
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:57:16 +00:00
Adi Oanca ecf3bc3eb4 moving and resizing windows works with the new clipping code. scrolling BViews also works.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:25:32 +00:00
Adi Oanca 876a13d8dc added a scroll message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:02:49 +00:00
Adi Oanca e3fbc7752f integration of the new clipping code continues
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-25 15:45:58 +00:00
Adi Oanca e603410b82 - simplified a little the update code/process.
- moved part of the update code from Layer to WinBorder. Fits better
there.
- renamed a couple members.
- some cleanup.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-25 13:09:19 +00:00
Adi Oanca b62270533e removed a printf
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-25 08:47:51 +00:00
Adi Oanca 94fa2bd256 inlined a few methods in header file, otherwise app_server would not build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-25 08:45:00 +00:00
Adi Oanca 4801a9a97d Fixed the problem Axel signaled with hidden views
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-23 21:23:01 +00:00
Adi Oanca 8734d03e14 removed 3 printf(s) that I intruduced in my last checkin
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-23 19:30:29 +00:00
Adi Oanca 3df649ecb3 managed to show/hide empty windows with the new clipping code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-21 20:11:44 +00:00
Adi Oanca 5fcce1f54b renamed a few members so that I don't have problems later. removed more methods/members
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 20:43:53 +00:00
Adi Oanca e0911bbb29 yes, yes... removing unneeded methods/members.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 19:44:55 +00:00
Adi Oanca 83265d84db More work for integrating the new clipping code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 18:58:14 +00:00
Adi Oanca 8dbc637219 cosmetic
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 20:39:28 +00:00
Adi Oanca d41a1e80b8 Integrated the new clipping code. It compiles but it does not work yet. Do not worry, it's guarded by a #define :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 20:36:43 +00:00
Adi Oanca 0f0232c767 Started adding new clipping code - not active ATM. Removed Virtual prefix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 19:01:43 +00:00
Adi Oanca 524c020956 Bounds() takes into account previous pushed states
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 18:47:41 +00:00
Adi Oanca 2e8bd79774 all view that have B_FULL_UPDATE_ON_RESIZE flag set invalidate their visible area now. not just the one being resized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 16:20:40 +00:00
Adi Oanca e274da0fa5 Optimized resizing operations. They behave exactly like in R5. Abandoned HW acc for resize operations, this turned out to be quite hard to implement and would make the code a lot harder to understand.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:09:40 +00:00
Adi Oanca 7faaf6ba8b fixed the viewColor bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 15:37:43 +00:00
Adi Oanca b81c5513c5 addapted code as a result of removing viewColor, background and overlay bitmap members from LayerData
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 16:20:38 +00:00
Adi Oanca 9080b4b47c viewColor, background and overlay bitmaps are not part of a view graphics state anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 16:05:34 +00:00
Adi Oanca c24e9a8838 BView's color is not part of a graphic state
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 16:00:06 +00:00
Adi Oanca 15409bba6e added a todo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 15:55:49 +00:00
Adi Oanca 4a7973e335 update
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 05:43:44 +00:00
Adi Oanca a4aff61d76 Imported Stephan's CopyRegion. Trying to optimize resize operations - work in progress.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 20:58:18 +00:00
Adi Oanca 9a92483e6f made things clearer, removed a useless exclude operation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 14:00:45 +00:00
Adi Oanca 60d5a3fc59 fixed the clipping bug I was talking in my previous checkin.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 20:58:27 +00:00
Adi Oanca a332730df7 - moving and resizing is new performed only with the primary mouse button
- by holding the secondary mouse button pressed one can draw random lines
so you can see what regions are invalidated durring a move, resize or
scroll operation
- clicking the third mouse button issues a redraw, WITHOUT a region
rebuild action (this is to force a redraw because the window does not
redraw itself, I've been lazy :-)
- playing with the mouse wheel results in the layer under mouse cursor
being scrolled on the y-axis.

- fixed redraw and copyRegion of this sandbox app. They work correctly
now.

- TODO: fix a clipping bug which appears when moving a layer arround.


 --This line, and those below, will be ignored--

M    newClipping/MyView.cpp
M    newClipping/main.cpp
M    newClipping/MyView.h
M    newClipping/Layer.cpp
M    newClipping/Clipping.proj


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 16:11:16 +00:00
Adi Oanca 6e795cfe26 fully implemented support for B_DOCUMENT_WINDOW_LOOK windows (resize tab overlapping top_view's area). Added support for live moving and resizing the layers shown, resizing is done by dragging from the lower right corner of a layer or winborder. Fixed a bug with for B_FULL_UPDATE_ON_RESIZE flag. More testing remains to be done because there seems to be a problem with clipping under certain circumstances, but I'm nearly finished. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 20:09:17 +00:00
Adi Oanca 67c26792aa Added some support for WinBorders. support B_DOCUMENT_WINDOW_LOOK remains to implemented as the border in this case overlaps the white view area with the resize box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 08:53:19 +00:00
Adi Oanca 1afd64e8b1 Added some support for WinBorders. support B_DOCUMENT_WINDOW_LOOK remains to implemented as the border in this case overlaps the white view area with the resize box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 08:51:09 +00:00
Adi Oanca ccf52fa4fe resizing layers with any rule seems to work now. lots of testing remains to be done...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 17:05:28 +00:00
Adi Oanca 8a17a6ea37 lots of changes this time...
* further optimized clipping
* implemented support for B_FULL_UPDATE_ON_RESIZE flag
* added support for hidden layers
* implemented Show()/Hide()
* implemented Invalidate(region)

remains to be done:
* fully redraw center and right alligned layers on a resize operation.
* additional testing.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 14:39:16 +00:00
Adi Oanca 89d4bfbf2a Added initial support for BView::SetMouseEventMask(). Buttons appear to be working well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 17:23:20 +00:00
Adi Oanca 24a075f4e4 Implemented SetMouseEventMask()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 17:20:04 +00:00
Adi Oanca e897030468 Added a new message code. It's for setting mouse event mask
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 17:18:59 +00:00
Adi Oanca fd5fe00cb1 Got scrolling to work properly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 20:47:13 +00:00