Commit Graph

767 Commits

Author SHA1 Message Date
Stephan Aßmus
2734243aca Preparation of more correct support for state stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-17 13:20:45 +00:00
Jérôme Duval
587e093725 reworked registrar launch wait, avoids snoozing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 22:30:50 +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
Stephan Aßmus
faaa62c751 update cached HW acceleration flags on mode changes. Fixes HW acc on ATI after Axels changes. Axel, is it working on Matrox as well now?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 15:10:24 +00:00
Stephan Aßmus
54cc0f1b56 reverted some unintentional changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 13:07:36 +00:00
Stephan Aßmus
99b9d5ac8a a new state begins life as a copy from the previous state, fixed Scale(). Note that BoundsOrigin() (and therefor Scale()) is called _a lot_ so we should cache the value! I started to work on this, but our lack of encapsulation strikes again... Layer::fLayerData is used directly all over the place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 12:32:42 +00:00
Axel Dörfler
53442520cc Fixed a bad bug in the app_server:
fCurrentLayer was used to determine to which layer a new one would be
added to, but BView::AddChild() would only set this correctly for the
current view, ie. all children of the new child were added to the
wrong layer in the app_server.
Now, AS_LAYER_CREATE sends the parent's token to the server, and the
server relies on this to build the layer hierarchy.
All of a sudden a lot of hidden views are visible now. I noticed the
bug while refactoring the task manager, but a lot of apps were affected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-16 00:46:02 +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
DarkWyrm
e67e7dd995 Some cleanups to ColorSet in anticipation of future cleanups for Appearance app
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 17:20:17 +00:00
Stephan Aßmus
cf5ff0c0d0 fixed memory corruption in the stuff I added to moreUTF8. This fixes GetEscapement crashes. The rest of the file needs reviewing as well, but I wanted to commit this ASAP
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 17:09:00 +00:00
Axel Dörfler
dd10337fd0 Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:28:56 +00:00
DarkWyrm
57bbc53987 Moved some system colors code to be monitored by a client's ServerApp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 19:48:30 +00:00
Stefano Ceccherini
6deb7c6749 Documented the public methods, changed the file description
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 07:29:16 +00:00
Stephan Aßmus
75d26e104a fInitialized is also set in the copy constructor. BTW, the Haiku Logo is displayed now (forgot to commit this earlier). Thanks to Axel for finding out about this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 00:38:21 +00:00
Axel Dörfler
6262418e6a fInitialized was never set to "true", so InitCheck() could never succeed.
Also fixed _AllocateBuffer() to handle out of memory situations gracefully.
It should probably also have upper limits with regard to the bitmap size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 00:12:45 +00:00
Stefano Ceccherini
3a27ae791e Added server support for activate_workspace(). Looks like it's not doing anything, though SetActiveWorkspace() returns true....
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 22:11:29 +00:00
Stefano Ceccherini
eef16dda7d implemented server support for current_workspace(), just because I had enough of the 'blablah got unknown reply' message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 21:54:11 +00:00
Axel Dörfler
aadb0f6bb8 The acceleration hooks are now set after a SetMode(), and get a display_mode as parameter
as required by the interface.
Unfortunately, this doesn't help the slow window moving with Rudolf's drivers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 17:42:52 +00:00
Stefano Ceccherini
d039af7469 Reverted to the previous algorithm, which is just another version of the same one: they produce slightly different results, but this one should be faster as it doesn't use divisions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 15:29:08 +00:00
Stefano Ceccherini
44bb301774 Improved some more.
Why were the components or'ed with 5 ?

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 14:42:06 +00:00
Stefano Ceccherini
6ec6f3f831 Better color distance-measuring algorithm, taken from here:
http://www.stud.uni-hannover.de/~michaelt/juggle/Algorithms.pdf.

Still not 100% identical to be's one, but much closer.
Small cleanups.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 13:22:50 +00:00
Stefano Ceccherini
1f1ed1c62c Generate the inversion map.
Note that the inversion_map and the index_map aren't the same as in Beos, due to bugs (or different behaviour) in color_distance.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 10:28:51 +00:00
Stefano Ceccherini
509db2a318 Generate the index map using some code stolen from BBitmap. The Mandelbrot sample app starts looking good. Only the inversion map is missing now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-13 05:03:42 +00:00
Stephan Aßmus
9851ab5c1e The Haiku Logo is displayed on the Desktop. :-) Of course this will be removed as soon as Tracker runs. If you don't want it, you can disable it in RootLayer.h. Fixed a clipping bug with text rendering.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-11 13:00:17 +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
Stefano Ceccherini
2c9931e911 no more friends for ServerWindow... Poor ServerWindow
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 15:56:55 +00:00
Stefano Ceccherini
7cb5e7b146 removed another friendship
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 15:50:24 +00:00
Stefano Ceccherini
e1bc5f2def Added Layer::Push/PopState() and moved their implementation from ServerWindow.cpp. We definitely need more encapsulation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 15:28:34 +00:00
Stefano Ceccherini
f1496739a3 removed AS_SET_SCREEN_MODE handler
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 08:29:49 +00:00
Stefano Ceccherini
2ed35bc88c Thanks to Axel's change, now we can pass the app_server's colormap to libbe. Methods like BScreen::ColorMap() and BScreen::ColorForIndex() work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-09 04:36:00 +00:00
Axel Dörfler
e60b1ff1d8 Reserved space for the close and zoom buttons, even if they were absent.
Hack workaround: enlarged the text width a bit, because the title often appeared
truncated for no apparent reason.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 14:35:25 +00:00
Axel Dörfler
3ba7d6f350 Added AS_{GET|SET}_DESKTOP_COLOR.
(Incorrectly) implemented AS_GET_DESKTOP_COLOR - works for now.
Minor cleanup.
Is AS_SET_SCREEN_MODE used at all?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 13:24:40 +00:00
Axel Dörfler
bd28b3c746 BAppServerLink is now using BApplication::fServerTo/From for its messaging.
Added LinkMsgReader::NeedsReply() method.
Completely redone ServerApp messaging: no more "replyport" from BAppServerLink; instead,
the registered client reply port is used. Fixed some more weak messaging stuff.
ServerApp now recognizes if an unknown message needs a reply, and sends it - for example,
the "Screen" preferences app no longer hangs, but crashes on start :)
Made LinkMsgReader::Read() virtual again, since it's needed by RAMLinkMsgReader.cpp.
Renamed BPortLink::GetNextReply() to GetNextMessage().
Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 04:01:59 +00:00
Axel Dörfler
0aa69a9cd4 Fixed the crashing bug when quitting the app_server.
The display driver is now owned by the Screen object.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 01:40:22 +00:00
Axel Dörfler
d673482488 Under Haiku, the "stub" driver is called "vesa", so we're trying to use this one.
Note, the special case can go as soon as we've moved the driver over to the new
driver architecture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-08 01:39:14 +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
Stefano Ceccherini
7475dcdf3a Added an app server command to retrieve the color map. Made some adjustments to SystemPalette.cpp, implemented support for it in BPrivateScreen. Moved get_scs() a bit down to avoid a deadlock. Note that getting the colormap doesn't work due to port capacity limit (?)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 21:32:24 +00:00
DarkWyrm
47a1e5d189 Implemented the settings functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 01:29:12 +00:00
Stephan Aßmus
457820a6ef quick fix for windows resizing/moving at fractional offsets, fix for bitmap drawing placement, small clean ups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-05 22:02:25 +00:00
Stephan Aßmus
6a2575c9d2 fixed resizing of hidden windows
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 11:18:30 +00:00
Stephan Aßmus
f9e3895bf2 added tracing to some messages
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 11:17:30 +00:00
Stephan Aßmus
59345e264f huge cleanup, support for SetSizeLimits, support for truncating strings, numerous decorator bug fixes, Layer does not draw when view color is B_TRANSPARENT_COLOR, cleaner dispatching of mouse events to the WinBorder in RootLayer, commented the char map selection in the font server, as it seems glyph lookup by unicode index works much better with the default map
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:50:30 +00:00
Stephan Aßmus
e4f0f510a9 added support for non-antialiased text rendering, cleanup in AGGTextRenderer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:33:11 +00:00
Stephan Aßmus
7aca21e6bf added const to some operators
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:31:26 +00:00
Stephan Aßmus
11f97ed147 large cleanup, should have fixed some memory leaks too
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:30:32 +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