Commit Graph
54 Commits
Author SHA1 Message Date
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 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
Axel Dörfler 75936a02e4 BPortLink now has a FlushWithReply() method itself.
BPortLink::AttachString() now accepts a length argument, and will no longer
send a terminating null byte; LinkMsgReader::ReadString(), however, will
make sure the string read is null terminated.
Changed client communication code to use FlushWithReply() instead of Flush()
and GetNextReply() - there were many bugs and shortcomings in the code, I
hope I've fixed them all.
Converted ClientFontList.cpp to our coding style (but not completely, the
class members are missing).
Some more cleanup - I hope Adi will adopt our coding style one day!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 00:36:26 +00:00
Stephan Aßmus 743a147353 better ResizeToPreferred implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:51:34 +00:00
Stefano Ceccherini 45ca1c948c Simplified code for BView::ClipToPicture() a lot (both server side and client side). Regions passed with that method should take the place of regions passed with BView::ConstrainClippingRegion(). Note that the needed server support hasn't yet been implemented.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 14:20:10 +00:00
Stefano Ceccherini 38b35d9caa BBitmap now uses the correct (private) BWindow constructor. Partially implemented that constructor. Fixed another typo in BView, verified and removed some TODOs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 06:32:16 +00:00
Stefano Ceccherini 7d8462aed5 Fixed bad typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 17:44:09 +00:00
Stefano Ceccherini 58b78e471e Convert mouse coordinates from screen to view, thus fixing GetMouse(). Menus at least open now, and textview works in synchronous mode
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 17:40:42 +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
Axel Dörfler 097d641852 Didn't know that BView::do_owner_check() also checks the lock - maybe
it should be renamed to do_owner_and_lock_check().
Removed looper locking again, since it's not needed, then. Thanks to
Adi for the hint.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 14:58:49 +00:00
Axel Dörfler 52005fdaff Finally fixed Adi's repeatedly mentioned pet peeve: in AS_LAYER_GET_MOUSE_COORDS
communication, the port's reply port is no longer sent to the app_server (as it
knows where to reply to, anyway).
Also made sure the view's looper is locked while getting the coords - I guess
BPortLink doesn't like to be written to from two different threads :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 02:42:52 +00:00
Axel Dörfler 25500bdfd9 Fixed BWindow::UpdateIfNeeded() by moving the code from BView::GetMouse() over.
GetMouse() will now just call UpdateIfNeeded().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 17:20:36 +00:00
Axel Dörfler d6fad1d006 Changes due to Adi's insight:
- there can only be one _UPDATE_ message at a time in the queue so we
  can stop searching after we hit the first one
- mouse coordinates are always send in screen coordinates (unlike R5,
  which means this is a compatibility problem), so we need to convert
  them even for the current view.
Apps should now work with the old synchronous controls method (even
though their drawing updates look clumsy and are slow compared to
asynchronous controls for whatever reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 14:12:02 +00:00
Axel Dörfler 3405fff2a9 Implemented private function BWindow::DequeueAll() which reads all pending
messages from the port.
BView::GetMouse() now calls this function if it was called from the window's
thread and thus blocking the message loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 16:54:56 +00:00
Axel Dörfler 25b0ec461d Now, GetMouse() processes and removes all _UPDATE_ messages, not
just those before the first mouse message.
This should be more correct and look better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:47:49 +00:00
Axel Dörfler c66f958bb6 Corrected BView::GetMouse(), untested though:
- it returned on _UPDATE_ messages without a mouse position
- it no longer calls DispatchMessage() for everything anymore,
  however, it will still call BWindow::DispatchMessage() directly
  for _UPDATE_ messages
- it didn't care for B_MOUSE_DOWN messages
- it didn't unlock the queue in case it found a message.
(this message actually reflects the differences to r12683 of this
file, but the newer one r12705 was even more broken, but in other
ways)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:40:29 +00:00
DarkWyrm d73474eee9 Removed an infinite recursion bug in StrokePolygon
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 10:01:52 +00:00
Stefano Ceccherini 898289a3f1 Improved a bit BView::GetMouse(). Added more ToDOs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 07:02:25 +00:00
Stephan Aßmus d557af5b96 Fixes to my fixes of BView::MakeFocus(), the previous focus BView needs to be unfocused of course so the derived classes implementation gets called. Simplified BWindow::setFocus(). BView calls FrameResized() and FrameMoved() if it has no parent, I don't know how R5 handles it, but I added a TODO...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 11:59:42 +00:00
Stefano Ceccherini ffe7181e7c Added a TODO item in GetMouse(). I hope to fix the problems
this weekend, if no one does it before.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-11 11:00:27 +00:00
Stephan Aßmus 587d699c28 It seemed to me that the MakeFocus() implementation was overly complicated and even incorrect (cyclic) if the view in question already had focus.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-10 11:33:14 +00:00
Stefano Ceccherini d6b3de8ccb Added a todo comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 12:07:44 +00:00
Stephan Aßmus 9715a3e1bf fixed BWindow::MoveXX(), BWindow::ResizeXX() and BView::ConvertToScreen()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 12:31:25 +00:00
Stephan Aßmus 3505574164 Added some TODO comments in Window.cpp, improved coordinate conversion in View.cpp. I'm not sure if this really works correctly, I need to write more tests. The scrolling test actually does more of what it is supposed to. At least the scrolling properly follows the mouse now. Missing are the movement of child views, the rebuilding of clipping, and I think that the scrolling needs to be synced to update requests having been fullfilled, or else some parts of the View will be CopyBits()ed which have not been drawn after having been scrolled into view by previous calls to ScrollBy(). Any insights appreciated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 23:27:37 +00:00
Stephan Aßmus 28930a1240 small changes and fixes here and there
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 17:25:29 +00:00
Adi Oanca 642d7ca95e Implemented BView::SetEventMask()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-21 20:26:44 +00:00
Adi Oanca 0eed276cf7 'Attach' hooks are now called after the complete tree of children of the BView to be added is completely known by app_server
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 20:08:27 +00:00
DarkWyrm 61d65d37ea GetMouse works properly
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-05 21:38:24 +00:00
DarkWyrm 4b5bc01405 Send message to create top view immediately to prevent problems with graphics display
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 17:30:53 +00:00
Axel Dörfler e9e39349b0 Big cleanup, many parts now fulfill our style guide.
Made instantiation from BMessage more robust.
Fixed some crashing bugs (in ResolveSpecifier() (don't delete a string
that you don't own, in the BView iteration code in deleteView(), ...).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 04:10:16 +00:00
DarkWyrm ce3a18db3d Added the forgotten length parameter to DrawString
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-16 22:39:41 +00:00
DarkWyrm 11620a7e4c Fixed the message code for making LineArray calls in the server
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-16 01:59:40 +00:00
DarkWyrm c33ef86b1d Made some tweaks for region, shape, and polygon support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-17 10:21:41 +00:00
DarkWyrm bb32d497e9 Checking in some fixes to StrokePolygon protocol before I forget they're there
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-15 01:06:17 +00:00
DarkWyrm 0ea7755d28 Rearranged attachment protocols for Stroke/Fill Arc and Ellipse
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 22:20:16 +00:00
haydentech 208b62ed86 gcc3 fix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-02 21:09:22 +00:00
DarkWyrm 3ceb31b96a Pahtz's changes from PortLink/BSession/PortMessage/PortQueue to BPortLink
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-30 15:15:27 +00:00
Adi Oanca 1889be2a4d hidden state was wrongly reported
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 11:53:44 +00:00
Adi Oanca 2d4c02036e little fixes/updates for the coordinate conversion system
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-03 14:56:40 +00:00
Adi Oanca b19660cbd8 minor fixes to make my version match with the one in CVS
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-13 00:20:52 +00:00
DarkWyrm ef94fcd875 A couple bugfixes, some comment tweaks, and PortLink conversion for a couple functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-11 14:49:56 +00:00
DarkWyrm 21c49a5cf3 Replaced _view_attr_ struct with a comparable ViewAttr class - removes a crash
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-07 22:08:45 +00:00
Axel Dörfler b22232f591 Implemented the missing BView::IsHidden(BView *lookingFrom), fixed
BView::IsHidden().
Commented a ToDo: item in BView::Hide().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-19 14:56:32 +00:00
haydentech 84e57fc918 Fix line array bugs, missing breaks, gcc3 incompatibilities, and a few typos
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-10 19:47:16 +00:00
Adi Oanca 6e62790567 some changes in ConvertXXXYYYY(...) methods.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-25 12:15:11 +00:00
Adi Oanca 2f8db4e46a * Modified a few lines from BSession::WriteInt32( uint32 ) into WriteUInt32( uint32 )
* in updateCachedState(), now all font attributes are received at once; I realized app_server doesn't need the flag based system. :-)
* added a new method: PrintToStream() - used for debugging.
* now the view state is allocated and initialized in BView::InitData(...)
* modified a few things in addToList(...) 'cause I don't know what was in my head when I wrote it?!
* added _ReservedView2-18() methods because of linker errors.
* a new method used for debugging: PrintTree()
* added debugging messages for a few methods
* TESTED view hierarchy methods like AddChild() and RemoveChild() RemoveSelf() - They WORK! :-)))
* minor but significant :-) ( = instead of == ) change in findView(...)
*** Tree structure is in place now, mirrored on app_server ... and working :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-15 19:03:59 +00:00
Adi Oanca eaedbddb89 added code for appserver sync/communication...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 22:15:16 +00:00
haydentech e8cf08732d gcc3 compile fixes: default arguments in implementation no longer allowed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 19:55:47 +00:00
Adi Oanca 46eecea483 added scripting support - stil needs some work, and others...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 21:26:10 +00:00
Adi Oanca b56bbfdf4e WELL... here you go: from 5% to more than 95% !!!!!! :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-31 17:33:22 +00:00