Commit Graph
100 Commits
Author SHA1 Message Date
Michael Lotz d30ac125dd Respect the transfer direction. Control transfers with buffers work in both directions now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 23:36:37 +00:00
Michael Lotz 61119116a2 Fixed the debug output of the short descriptor and replaced remaining deviceNum with deviceAddress as that's what it is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 22:24:29 +00:00
Michael Lotz b7a062b5ad * Calmed down debug output a bit
* Removed all friends in the USB stack classes (as they are not needed)
* Added max packet size to the pipe and respect it on transfers
* Use pipes with the same speed as the device

Device descriptors can now also be retrieved from full speed devices and devices with a packet size of more than 8 bytes. The devices are also correctly initialized to their default configuration.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 22:09:21 +00:00
Michael Lotz 96da8285b0 Applying style to remaining classes. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-28 23:29:06 +00:00
Michael Lotz 64312bc94c * Moved the transfer descriptor handling to separate functions
* Added debugging facilities
* Implemented the data stage of control messages

The device descriptor can now be successfully retrieved. Now interrupt, bulk and isochronous data transfers need to be implemented.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-28 20:33:25 +00:00
Michael Lotz 64d49b54fc And another forgotten header. Sorry to pollute the logs :-).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-28 11:12:34 +00:00
Michael Lotz 30c18ecbf6 Forgot these two in last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-28 11:11:28 +00:00
Michael Lotz 11bd72c28c * Cleaned up / applied style to the Pipe class
* Introduced a Queue class that manages itself and where transfers are attached to
* Added "set feature" to the roothub and use it to enable the port of new devices

It is now possible to successfully detect new devices and send at least one transfer descriptor to them.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-28 11:09:43 +00:00
Michael Lotz 26f34d1c06 * Cleaned up / applied style to the BusManager class
* Fixed some copy&paste errors I introduced earlier
* Removed the "one UHCI bus only" limit
* Other fixes

The hub now sees when a new device is connected but failes when getting its descriptor.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-27 19:33:30 +00:00
Michael Lotz 76e69839f7 The framelist was allocated in the object which caused the host controller to fail. Also the root hub is now setup after the host controller is started since new devices are created which use transfers to discover their parameters. The controller should now be correctly initialized and stay up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-27 16:02:54 +00:00
Michael Lotz 5430d867b4 The buffersize variable was not reset after the loop which caused the UHCI bus driver not to be found. Changed debug output a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-27 15:52:52 +00:00
Michael Lotz 12b0511534 Picking up work on the USB stack. First of all adapting the style of the UHCI driver. Not yet working any more than until now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-27 13:07:11 +00:00
Michael Lotz f2274165dd Changing AddMessage() and ReplaceMessage() to use R5 message format to ensure compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-04 19:42:09 +00:00
Michael Lotz 3279f3b055 Detect recursions of UpdateIfNeeded. This is necessary as we may call hook functions (FrameResized(), FrameMoved()) that in turn could call UpdateIfNeeded again. This is the case for DarkSite which uses GetMouse() inside FrameResized(). This fixes resizing DarkSite and probably fixes bug 539 too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 22:30:52 +00:00
Michael Lotz 035eafc5f3 We should never mess with fQueueLink as it's maintained by the BMessageQueue. Small simplification.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 22:23:09 +00:00
Michael Lotz 17fee3eab7 Removed the extra info struct in the cpu_ent union and made said union a struct instead. Same as r1137 in NewOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 22:38:19 +00:00
Michael Lotz 2a03240eb1 Reverted my last change as it turned out that the lazy FPU state handling was not SMP safe afterall and the performance gain is questionable. Maybe it'll be implemented correctly in the future. Sorry for any inconvenience this may have cost.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 22:10:04 +00:00
Michael Lotz 7eee76e65a Implemented lazy FPU state save/restore. In the end mostly ported from NewOS. SMP safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-27 22:02:48 +00:00
Michael Lotz b026647574 Changed the temporary buffer to be static to avoid using that much stack. Replaced wrong maximum buffer length (oops).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 10:56:00 +00:00
Michael Lotz 1df23ecc52 Should finally fix the eaten up messages. We obviously must not use the output buffer to write the repeat count as the output buffer already contains the new message...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-14 12:38:31 +00:00
Michael Lotz 34ff238b88 Implemented the BRect version of DragMessage(). This just creates a drag bitmap with the rect. We may want to switch to a less heavy implementation later on though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-12 20:26:56 +00:00
Michael Lotz eef8149582 Fixed wrong length calculation for memmove. This should at least fix bug #314 and probably more yet unknown problems with ReplaceData(). Also optimized removing data from the end of the buffer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-11 23:01:32 +00:00
Michael Lotz 2f5143505b Another try at removing the "Last message repeated 1 times.", this time with locking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-11 21:11:50 +00:00
Michael Lotz 6ac6b512a0 Reverted my last change as it causes a segfault with syslog output enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-11 19:40:49 +00:00
Michael Lotz d7faea3f20 Replaced "Last message repeated 1 times." with just reprinting the message (requested by Jerome Duval).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-10 21:28:43 +00:00
Michael Lotz 39cdae74a7 First steps at getting drag & drop to work properly. Simple drag & drop (draging Tracker items) should work now. Not sure about the negotiated version (with mimetype exchange). Fixed left behind drag bitmaps. Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-10 21:22:05 +00:00
Michael Lotz f51fb4696c Corrected the repeat checks (did not compare the right buffers) and added a length argument to debug_puts() to safe the strlen in the syslog case. Also removed some leftover.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-03 20:48:30 +00:00
Michael Lotz 3647d70ded Replaced the hash based approach to repeat detection with the probably more efficient strncmp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-02 16:45:04 +00:00
Michael Lotz 3352a462a7 Implemented the "Last message repeated x times." thing in the kernel (hash based).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-02 16:23:47 +00:00
Michael Lotz 0ef40c5e17 This should fix the wrong colors for selected Tracker icons. Fixes bug #205.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-01 14:31:21 +00:00
Michael Lotz 0581480cfe * Fixed ServerBitmap::ImportBits() to use the correct width/height
* Extended ConvertBits() to properly handle negative offsets and overlapping lines
* Implemented blitting the software cursor to the bitmap returned from ReadBitmap()

Note: In the future we will have to directly use the final graphics buffer for ReadBitmap() if we want DirectWindow output too (R5 includes it). I don't know how R5 handles the hardware cursor though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-13 16:48:44 +00:00
Michael Lotz 641a8290a7 Fixed converting KMessages, their target and reply info weren't preserved. Fixes bug 295.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-12 13:21:08 +00:00
Michael Lotz 1daa34ec2c Fixed two small errors that prevented _NativeFlatten() from working. Should fix at least the Deskbar and shutdown issues of bug 295.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-12 12:35:26 +00:00
Michael Lotz a45369f00a Renaming the Message4 magic to Haiku Message Format 1. Now off to real work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 18:39:42 +00:00
Michael Lotz bdbd1cb441 Removing the USING_MESSAGE4 define.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 18:06:46 +00:00
Michael Lotz 2bf8fb3a96 Putting Message4 into place to become the new BMessage implementation. Will cleanup USING_MESSAGE4 now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 17:55:47 +00:00
Michael Lotz 16ba0dc5ca Removing old BMessage implementation. Message4 will replace it in the next commit.
This will allow to fix message related problems like drag and drop and scripting.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 17:52:56 +00:00
Michael Lotz be25ae8698 Flushing last changes in preparation of replacing the old BMessage with Message4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 17:36:13 +00:00
Michael Lotz d6bada84a3 Fixing white background on different B_CMAP8 icons. Fixes bug 268.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-08 20:03:22 +00:00
Michael Lotz 404ccd1a92 Added extended ImportBits() to BBitmap to allow the use of BPoint offsets.
Is this too much feature creep?

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-06 01:05:47 +00:00
Michael Lotz 2a6e97186b Actually commit the change to ReadBitmap()...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-06 00:23:16 +00:00
Michael Lotz ee18c3ccff Added an extended ImportBits() to ServerBitmap to allow the use of offsets and made ReadBitmap() use it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-06 00:18:26 +00:00
Michael Lotz bdc6f9e7ef * Fixed a swapping bug for 16 bit colorspaces
* Added some comments
* Added some checking to avoid noop shifts
* Added buffer length checks
* Implemented (as Stephan suggested) a version of ConvertBits() that takes offsets.
This new version allows to move a region of the source into a region (possibly not at the same point) on the dest while converting colorspaces on the fly.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-05 23:53:33 +00:00
Michael Lotz a97ee677a7 Ensure that the cursor is not drawn (it was visible in single buffered mode). Drawing the cursor is not implemented yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-05 14:41:52 +00:00
Michael Lotz acfad7920c Added an ImportBits() function to ServerBitmap and used it in ReadBitmap(). Should work for all colorspaces now.
Magnify does now work correctly, fixed bug 197.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-05 12:59:39 +00:00
Michael Lotz b09e53fae0 Wrote a new color conversion engine. It's 2-5 times faster than the old one (depending on colorspaces) and about half in size.
I've put it into ColorConversion.cpp and moved PaletteConverter there too, cleaning up Bitmap.cpp.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-05 05:01:15 +00:00
Michael Lotz f1fb383d6f Small fix for the last commit. Next thing is color conversion using a subset of what is in Bitmap.cpp. Maybe the conversion functions should be put into a conversion class that can be used by the app_server too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-03 00:13:43 +00:00
Michael Lotz 3e2ee69551 Started implementing the server side of BScreen()->ReadBitmap().
Colorspace conversion is not done yet so that it only works correct in 32bit modes.
Also drawCursor is not respected yet. Partially fixes bug 197.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-02 23:50:06 +00:00
Michael Lotz 5d5077a088 As on R5, Messenger.h is not included in Message4.h. This should fix the ShowImage build when using Message4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-23 09:36:47 +00:00
Michael Lotz 20a4e7265c * Changed the AGGTextRenderer to use the new UTF8 handling
* Added more char codes to is_white_space(), should be all I think

Sorry if I stepped on your toes Stephan, but I wanted these changes flushed before I leave for holidays :-).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-23 09:04:26 +00:00
Michael Lotz 6990418519 * Fixed some more bugs in the message passing by area
* Reordered some functions
* Area messages can now be unflattened instead of using the private _Reference and a special port code

Passing by area is now mostly working but it's not yet enabled. I will have to conduct performance tests first to see if and starting at what messagesize the overhead is reasonable.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-23 09:02:03 +00:00
Michael Lotz 5b62df9d36 * Fixed some bugs noticed by rereading the whole implementation
* Added checksum generation and checking

The data itself is now checksummed too (unlike R5 where only the header gets a checksum). This might be a performance problem for larger messages. Opinions?

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-20 22:05:39 +00:00
Michael Lotz 8900925bf7 Fixed some bugs reported by Marcus Overhagen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-19 23:29:26 +00:00
Michael Lotz 38b52de937 Hopefully fixed the build when not using Message4. As Message4 works well and is less broken than the older implementation we should maybe switch to it completely.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-18 17:25:58 +00:00
Michael Lotz 721a0fe3e4 Started implementing message passing by area. This will be needed for drag & drop messages and will probably be used for large messages instead of sending them through a port. Not yet finished and not enabled. Cleaned up a part of BLooper - this class should probably be cleaned up completely.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-18 12:29:05 +00:00
Michael Lotz 9e7948f45e * Fixed locking of the FT_Face by moving it into Get/PutTransformedFace()
* Removed the FaceGetter as it was only needed for locking
* Cleaned up TruncateString()
* Fixed a typo in moreUTF8.h

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-06 17:42:18 +00:00
Michael Lotz db5734a452 More work on the BFont special functions.
* Reworked functions like GetEscapements(), GetBoundingBoxesAsString() and GetGlyphShapes() completely
* Made the ServerFont functions uniform in their prototypes and cleaned out unnecessary arguments
* Added new UTF8 handling functions to moreUTF8.h that are now used by ServerFont
* Put the common transformations of the FT_Face into an own GetTransformedFace() to lessen code duplication

In other words, ServerFont is now cleaned and handles UTF8 pretty efficiently. Some ToDo's are still left though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 23:36:59 +00:00
Michael Lotz 739ccb9b2f Changed the way the pen location is applied to shapes according to Stephan, removing the slower matrix calculation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 11:51:13 +00:00
Michael Lotz 7213cb626c * Changed DrawShape() to take the current pen location into account (Stephan please review that AGG part)
* Fixed GetEscapements() to return the correct values
* Corrected and enabled the rotate / shear transform for GetGlyphShapes() and GetEscapements()

The Iterview sample code demo is now working. If you play with it a bit you can also rotate the text.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-05 02:03:09 +00:00
Michael Lotz bb96bd0a70 * Fixed GetGlyphShapes(). The BShapes that are outputted are correct now but the app_server still cannot draw them correctly.
* Changed the allocation to new for GetGlyphShapes() and GetEscapements() as the data is deleted in ServerApp.cpp
* Minor cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-04 22:20:00 +00:00
Michael Lotz ec56c2c1dc Fixed and cleaned up BShape and BShapeIterator. They should now work and behave like the R5 version.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-04 22:11:57 +00:00
Michael Lotz 76c0041c51 I suppose setting the height was forgotten?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 17:49:38 +00:00
Michael Lotz c919ec6862 Fixed build for non-Message4 again. Both BMessage::Private classes should be compatible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 19:10:13 +00:00
Michael Lotz 85b31e1b69 Removing Message2 and Message3. They did not proof to be good enough so they don't need to take up space either.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 18:47:51 +00:00
Michael Lotz 174459d703 Fix build when not using Message4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 02:40:49 +00:00
Michael Lotz cf10934e5f Introducing Message4. The changes to the related sources are ifdefed with USING_MESSAGE4 which is defined in Message4.h. To use Message4 the Message4.cpp, Message4.h, MessageUtils4.cpp, MessageUtils4.h and MessagePrivate4.h have to be linked to their counterparts without 4 suffix. Then MessageBody.cpp and MessageField.cpp have to be commented out in the app kit Jamfile and r5_message.cpp has to be added. There remain some bugs to be found. Feel free to change that.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 11:31:07 +00:00
Michael Lotz 7638a8e285 Fixing dano_message some more. Tested successfully with all field types I could find.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-08 00:37:46 +00:00
Michael Lotz 5f9ebca64c Adapting the dano message reader to the documentation. Not really tested yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 01:39:34 +00:00
Michael Lotz 69db808ea3 Add a documentation of the Dano message format. These are my findings from looking at flattened Dano messages. I will adjust the Dano message reader accordingly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 00:17:34 +00:00
Michael Lotz 41ab7dff11 This should probably have been BASE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-24 19:57:47 +00:00
Michael Lotz d9c69ef133 Corrected the format constant (its 0010b) and set the msf bit to 1. MMC Specs say it shall not have an effect on the result, but it also states that the time bit shall be set to 1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-23 23:24:10 +00:00
Michael Lotz 7e7b081cba This should fix hanging keyboards when no ps2 mouse is connected. We also stop publishing devices we didn't explicitly find. This disables the questionable hot-plug support but keeps the input_server from stalling the keyboard by probing the non-present mouse.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-11 12:02:58 +00:00
Michael Lotz 3ddebe7ec2 Moved the CursorManager over to the Desktop too.
Maybe the CursorManager should be used to set the cursors directly instead of using
fDesktop->GetCursorManager.FindCursor() and then fDesktop->GetHWInterface()->SetCursor()
in ServerApp.cpp.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 10:28:40 +00:00
Michael Lotz d35c42a0c9 Ok, hopefully fixed all problems with Message3 now. Flat buffers are so fragile...
Also cleaned up Message3.h revert it if you think its a binary compatibility issue.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-09 14:27:35 +00:00
Michael Lotz 629192bcaa Corrected the count in building the MessageSpeedTestLookup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-09 13:34:37 +00:00
Michael Lotz 90dc946130 Actually the Message3 implementation was broken. It still is, because we lose one (but an important) byte somewhere when resizing the flat buffer. But at least the design flaws should be corrected with this commit. You can go ahead and review it Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-09 05:49:13 +00:00
Michael Lotz 3019039f4f This is the third implementation of BMessage. It operates purly on a flat buffer. It should be completely working and it is fast. See: http://haiku.mlotz.ch/messagespeed.html
Sorry to pollute the repository with all those extra files, they will be (re-)moved when the decision about which implementation to use is made.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-08 01:34:09 +00:00
Michael Lotz 896d777151 Changed the MessageSpeedTests for flatten/unflatten. They now measure the actual flatten/unflatten and not reading from or writing to disk. Otherwise comparison would be worthless.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-08 01:10:42 +00:00
Michael Lotz 3a7d8dfa74 Tiny fix for the MessageItemTest10
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-07 23:43:43 +00:00
Michael Lotz 49b4f78f95 Minor correction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-07 17:49:38 +00:00
Michael Lotz 97d2f9c04d Redone the MessageSpeedTests. Results can now be logged to file too.
For a comparison see: http://haiku.mlotz.ch/messagespeed.html

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-07 17:26:42 +00:00
Michael Lotz 024ef0b800 Fixing and adding more BMessage speed tests. Previously messages weren't written at all. This shows that Message2 is actually much faster than the R5 version in flattening. The current implementation is sometimes a lot faster than Message2 though but doesn't scale that well.
Added libmessagetest.so to test specifically the BMessage implementation.
Fixing some other unit tests along the way - quite many of them are borken.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-07 13:19:49 +00:00
Michael Lotz 54ca2a11db Moving towards more flat buffering. Speed is still lower than the original Be implementation, but it's not because of the backend, it's probably the slow BMessage::Header implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-06 15:03:18 +00:00
Michael Lotz 0401007080 Fix build of libopenbeos.so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-05 17:20:38 +00:00
Michael Lotz 0c22832d6b Hopefully fixed build of libbe.so and libopenbeos.so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-05 17:18:07 +00:00
Michael Lotz 43abf8a345 More optimization for Message2. It now uses a more lightweight BSimpleMallocIO instead of the full blown BMallocIO. This wastes less memory and reduces unnecessary overhead when unflattening.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-31 11:48:38 +00:00
Michael Lotz 63d5a418ab Cleaned up and optimized Message2.cpp. It avoids as many unnecessary copies as it can now.
The unflatten time is now reduced to about a third of the current BMessage implementation but it's still
about half as quick as R5 (we're talking about microseconds here).
A third version of BMessage that operates purely on a flat buffer is in the works. We'll see which one
will be faster for normal uses.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-25 00:06:34 +00:00
Michael Lotz fcf209d9ce Added padding calculation (not final) so that flattening / unflattening actually works.
Passes all unit tests now and works on Haiku too. Speed is not yet optimized and Message2.cpp is still not cleaned up.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-20 23:15:03 +00:00
Michael Lotz bbe759b31b Took Ingos considerations into account and added a simple hashtable implementation.
It's currently really broken so don't even try to test it, but you can still review it ;-).
Message2.cpp is not yet cleaned - more to come...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-20 21:11:27 +00:00
Michael Lotz 5707106109 These should have gone with the last commit. Last commit for tonight.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-20 01:17:46 +00:00
Michael Lotz e8b43dc055 Fixed includes and removed some debug output. You could now switch Message.cpp, MessageBody.cpp and MessageField.cpp in src/kits/app/app.src to Message2.cpp, MessageBody2.cpp and MessageField2.cpp to test the new implementation. Fixed the wrong commit message by the way (via svn propset).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-20 01:11:19 +00:00
Michael Lotz 1a3441a4a1 Added a new BMessageBody and BMessageField implementation and added a version of BMessage to
use it. It is not (yet) included in the build and won't break anything.
As we now only have thin wrappers around the *Data() functions, the templatized implementation does
not make much sense anymore and wouldn't work either.
I started this new implementation to be as clean as possible. Instead of using a std::map and
BDataBuffer it uses BList and BMallocIO. It passes the unit tests and it even seems to be a bit quicker
in some tests (but not as quick as the R5 one).
Flattening/Unflattening does not work yet so you can't use it under Haiku right now. It's completely work in progress (I started it just 4 hours ago).
Shout if you see something completely broken, reviews welcome.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-20 00:36:50 +00:00
Michael Lotz d1c86c04c1 Fixed some miss-allocation when getting the the workspace windows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 17:48:32 +00:00
Michael Lotz a83bffa77a Removed {set|get}_syscursor according to DW. Scratch that last sentence in the last commit, with this Appearance builds again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 00:35:18 +00:00
Michael Lotz 2213782534 All cursor related changes:
* Moved setting the default cursor from ServerScreen to Desktop
* Getting the default cursor is now done using the CursorManager
* Removed outdated setcursor from SysCursor.cpp (we have a new implementation by now)
* Renamed SysCursor.cpp to CursorSet.cpp as that's what it is
* Moved  headers/private/app/SysCursor.h to headers/private/servers/app/CursorSet.h
* Removed some unneeded header includes along the way

There remains {set|get}_syscursor now in CursorSet.cpp. Serverside for these are not implemented
and they are obvious hacks. Do we need to keep them?
Also this commit _would_ break Appearance, but 1) all the related code is currently commented out
with the comment "cursor set management belongs in another app" and 2) it is already broken
because of ColorSet.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-18 00:22:08 +00:00
Michael Lotz fc6c82dc35 Cleanup and style changes. Removed global cursormanager as each RootLayer has it's own.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 21:26:28 +00:00
Michael Lotz 9ea776d708 Removed (unimplemented) BMessageBody::Unflatten() as Unflattening happens directly at the BMessage level.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-12 17:49:33 +00:00
Michael Lotz 13b42e5eb4 Just some style cleanups again. Sorry I couldn't resist, won't happen again ;-).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-12 17:41:22 +00:00
Michael Lotz b43356dbeb Removed some noise from the status icons, this bothered me some time now :).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-11 20:38:46 +00:00
Michael Lotz 11a861d4dc Added another comment suggested by Rogier van der Hee.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-10 23:11:40 +00:00