Commit Graph

821 Commits

Author SHA1 Message Date
Ingo Weinhold
0353d33137 Added kernel util header for DoublyLinkedList.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:48:08 +00:00
Ingo Weinhold
634f747e29 Now we use the MessageDeliverer to send asynchronous messages to other apps. Seems to work when the target port is not full. The other case has not been tested yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:49:32 +00:00
Ingo Weinhold
f64fc02f89 Added another DeliverMessage version for broadcasting.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 17:45:59 +00:00
shadow303
b9717a7150 Long overdue fixes for internal API change, now if I could just unbork my system enough to test them...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 00:19:38 +00:00
Stephan Aßmus
aaea96798d the version for B_OP_COPY that ignores the pattern and uses the color from the AGG renderer directly, thus the renderer color needs to be set up correctly, which Painter does take care of
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:49:00 +00:00
Stephan Aßmus
884e8bc6b5 flag for using a solid version of a DrawingMode, currently only B_OP_COPY actually has an implementation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:45:59 +00:00
Stephan Aßmus
597841da50 trying to optimize for B_SOLID_XXXX, implemented separate _SetPattern function, which encourages usage of a special DrawinMode instance, but it is currently not used, because it didn't give much speedup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:44:38 +00:00
Jérôme Duval
a77de570a2 useful pieces of code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 18:46:36 +00:00
Stephan Aßmus
4f6cd6ef55 some additional status information
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:10:06 +00:00
Stephan Aßmus
d4734e04d1 support for switching the alpha drawing mode when the blending mode changes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:07:21 +00:00
Stephan Aßmus
8eca754bfd support for the rest of the drawing modes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:05:37 +00:00
Stephan Aßmus
3741b755dc huge clean up
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:02:27 +00:00
Stephan Aßmus
681c4b3ba5 rest of the drawing modes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 12:59:17 +00:00
haydentech
c0e4d12489 AS_LAYER_POP_STATE was inadvertantly deleting the entire layerdata stack instead of just popping the top one off
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 23:16:28 +00:00
Ingo Weinhold
d306a4652c * Added a timeout to the delivery functions. This is the time after which
the message will be finally dropped. Makes sense for periodic message
  runners for instance.
* Set the target of a BMessage before flattening it. Thus there will be
  space in the flattened header for it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 15:18:29 +00:00
Axel Dörfler
e4e9b6a7a4 The input_server now works on R5 and on Haiku (depending on COMPILE_FOR_R5).
Fixed two minor warnings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 03:45:13 +00:00
Ingo Weinhold
56833e831f Implemented the actual message sending. The implementation is complete now, but still untested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:20:28 +00:00
Jérôme Duval
3d64143151 added code for a bottom line window, not working
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 23:42:59 +00:00
Adi Oanca
faa0ed6a33 s/(c) 2001-2002, OpenBeOS./(c) 2001-2005, Haiku, Inc.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 20:44:09 +00:00
Ingo Weinhold
757bc7b934 Renamed Referencable to Referenceable (mainly to make Axel happier :-).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 16:10:03 +00:00
Ingo Weinhold
2c17b743c7 Implemented all missing functionality save the actual sending of a
flattened message. Support for this needs to be added to BMessage first.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 16:05:26 +00:00
Ingo Weinhold
42be32659a TRoster is no longer a friend of BMessenger -- use BMessenger::Private.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:08:15 +00:00
Ingo Weinhold
35d70f9eca The MessagingService is now a singleton. Added creation of the MessageDeliverer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:06:42 +00:00
Ingo Weinhold
c36e75d1cb Added Referencable.cpp and MessageDeliverer.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:52 +00:00
Ingo Weinhold
2467cef0f0 This class encapsulates the service delivering messages without dropping
them immediately when the target port is full at the moment. It's not
quite complete. The data structures are there, but the actual delivery is
still missing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:05 +00:00
Ingo Weinhold
47e01f5075 Added helper class Referencable (a simple base class for reference counting).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:00:12 +00:00
Ingo Weinhold
73895a69a0 * Added the class MessagingCommandHandler, instances of which can be
registered as handlers for specific commands sent by the kernel.
  (Beautifully object-oriented :-)
* Fixed a bug regarding MessageArea creation (the object was deleted
  twice on error).
* Actually resume the command processor thread.
* Turned the class into a singleton.
* Now always process all commands found in an area (should minimize
  latencies).

Modulo bugs the class is now complete.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:58:37 +00:00
Adi Oanca
574540edd2 Removed a redundant BMessage when mouse button was pressed. This message is already sent by WinBorder::MouseDown(). Window content was redraw when a window became active. Removed some code that anyway was not used. It will be replaced by the new window manager which is comming soon.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 21:04:23 +00:00
Adi Oanca
c4e214743d All 'Invalidate' methods are now private, intended for RootLayer's use only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:59:27 +00:00
Adi Oanca
304feb8ad5 RebuildAndForceRedraw() is not needed anymore
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:57:51 +00:00
Adi Oanca
bd1ede2ae9 Yes... I really don't remember why I haven't subclassed FMWList from BList...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 17:34:47 +00:00
Adi Oanca
383461c7ee 3 global variables (gRedrawReg, gCopyRegList, gCopyList) went into RootLayer's property
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 17:18:19 +00:00
Ingo Weinhold
dd43b03ce1 Added the messaging service and a compatibility file for the R5 test registrar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:32:17 +00:00
Ingo Weinhold
0a1eb226fb Start the messaging service. Due to missing kernel functionality the
initialization still fails.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:31:02 +00:00
Ingo Weinhold
cdab464e30 New macro for non-fatal, but nevertheless serious errors.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:29:24 +00:00
Ingo Weinhold
c72f8221e0 File we only compile in for the obos_registrar, the one for testing under R5. Contains dummies for syscalls not existent there.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:28:33 +00:00
Ingo Weinhold
9e4d0f686e The beginning of the registrar-side kernel->userland messaging service.
The passing of commands from kernel to registrar should be complete now,
only the actual message delivery is missing.
Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:26:39 +00:00
DarkWyrm
c0dc91fc00 Since last checkin version had no description:
Huge amounts more debug output available
Resolved several timing issues
Fixed a major problem with sending mouse messages to the server when emulating the input server
There are still stability issues with initial startup
Still some drawing problems
It *works*!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 18:59:50 +00:00
DarkWyrm
2471ba9f3d Cleaned up driver init section of Desktop -- worry about multiple drivers only with AccelerantDriver
RootLayer: debug output fixes and removed a compiler complaint


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 18:22:48 +00:00
DarkWyrm
c36b4a4409 messaging fixes to RootLayer and ViewDriver
minor tweaks to ServerWindow


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 15:39:01 +00:00
DarkWyrm
7605e77d21 Added GetFamilyAndStyle
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 13:40:11 +00:00
Adi Oanca
63f09583e3 Oups. Layer::MoveBy/ResizeBy() escaped me. :-) The actions they used to perform are now executed only by RootLayer's thread.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 23:25:41 +00:00
Adi Oanca
b4fe86df56 Yes... B_FULL_UPDATE_ON_RESIZE on Layer resize not with every redraw. :-D
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 21:51:39 +00:00
Philippe Houdoin
5af2ee7384 Ooops, rollback, this stupid change was erronously still lying there...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 21:35:39 +00:00
Philippe Houdoin
5a9677b8ed Fixed the "unused frame variable" warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 21:26:18 +00:00
Adi Oanca
ed446d324d ServerWindow.cpp:
* made MonitorWin thread wait until associated WinBorder is hidden
and RootLayer's lock is acquired.
RootLayer.cpp:
	* added 2 public methods for calculating visible regions.
ALL:
	* all previous 'Invalidate' methods now call RootLayer's ones.

	That's it, all region calculations are done in the context of the
high priority thread: WorkingThread.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 20:51:12 +00:00
Adi Oanca
864a2c6456 Window showing/hiding is now done in RootLayer::WorkingThread's context
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:18:25 +00:00
Adi Oanca
f6e53a25ec No need to lock anymore when calling ServerWindow::SendMessageToClient()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:16:15 +00:00
Adi Oanca
6a257c30a9 Moved window moving code from ServerWindow. CPU consuming operations now run win WorkingThread's context. Added locking mechanism for WorkingThread. Removed locking arround ServerWindow::SendMessageToClient().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:13:00 +00:00
Adi Oanca
1cd22df0dc Added 2 private methods for showing/hiding WinBorders. Added a BLocker member.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:09:06 +00:00