haiku/src/servers/app
Stephan Aßmus 588259b66d various changes to handling custom cursors:
* all cursors owned by a team are visually different,
  or (iaw) an already existing cursor is reused when
  it is set by the client again
* changed various occurances of cursor data from "int8*"
  to "uint8*"
* ServerCursors also remember the R5 data from which
  they were created
* the reference counting and destruction of
  ServerCursors changed: The cursor knows it is attached
  to a CursorManager and one can simply use
  ServerCursor::Acquire() and Release() and the reference
  counting and everything is being taken care of
* destroying a ViewLayer will now correctly release a set
  ServerCursor
* fixed a race condition when setting a cursor through
  BView::SetViewCursor(): If the client code looks like this:

  BCursor cursor(cursorData);
  someView->SetViewCursor(&cursor, false);

  there is a relatively high chance the BCursor destructor
  told the ServerApp thread to destroy the cursor before
  the ServerWindow thread got to "acquire" the cursor for
  use by the view layer. The very same problem is likely the
  reason that SetViewCursor works to unreliably on R5, even
  when the "sync" flag is set to "true" (although it should
  theoretically work in that case).

all these fixes make WonderBrush work fine again with the
new support of custom cursors.... coded by axeld and myself
(the joys of pair programming :-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-26 18:15:31 +00:00
..
drawing Fixed warning and simplified error output (BTW if this should stay, it should probably 2006-02-26 16:34:16 +00:00
Angle.cpp Some cleanup, some removed typos, some unification, some fixes and some added todos. Most of it related to client-server communication. Apps that rely on BFont stuff should work now (StyledEdit, Fonts, Keymap, Menu, ...). Or should not hang/quit at startup at least. 2005-07-10 21:16:43 +00:00
Angle.h Some cleanup, some removed typos, some unification, some fixes and some added todos. Most of it related to client-server communication. Apps that rely on BFont stuff should work now (StyledEdit, Fonts, Keymap, Menu, ...). Or should not hang/quit at startup at least. 2005-07-10 21:16:43 +00:00
app_server.rdef added icons needed for BAlerts 2005-07-16 22:50:43 +00:00
AppServer.cpp make it easier to get a stack crawl in case the server crashes after quitting in the test enviroment (code by axeld) 2006-02-26 18:03:00 +00:00
AppServer.h * Introduced a new handshake between input_server and app_server, and some 2005-11-15 19:59:53 +00:00
BGet++.cpp Merged app_server_new_clipping branch changes r15290 to 15418 back into trunk. 2005-12-08 12:41:19 +00:00
BGet++.h Merged app_server_new_clipping branch changes r15290 to 15418 back into trunk. 2005-12-08 12:41:19 +00:00
BitmapManager.cpp * Fixed a bug in ServerApp: when a ServerWindow would take too long to quit, 2005-12-29 17:40:18 +00:00
ColorSet.cpp * slightly adjusted coding style 2006-02-26 17:53:57 +00:00
CursorData.cpp various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
CursorData.h various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
CursorManager.cpp various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
CursorManager.h various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
CursorSet.cpp various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
DebugInfoManager.cpp Merged app_server_new_clipping branch changes r15290 to 15418 back into trunk. 2005-12-08 12:41:19 +00:00
DebugInfoManager.h turn off on-screen debugging for now, the errors it reported are not that critical, and printing the debug info itself could lead to problems 2005-11-10 13:38:22 +00:00
Decorator.cpp Decorator::ResizeBy tells you the dirty region, DefaultDecorator::Draw() pays attention to the update rect, small clean ups along the way 2006-01-02 01:03:31 +00:00
DecorManager.cpp * You can now change the look of a window on the fly. 2005-12-01 14:56:01 +00:00
DecorManager.h * You can now change the look of a window on the fly. 2005-12-01 14:56:01 +00:00
DefaultDecorator.cpp the main inactive border color matches the now lighter tab color 2006-02-26 17:59:20 +00:00
DefaultDecorator.h Decorator::ResizeBy tells you the dirty region, DefaultDecorator::Draw() pays attention to the update rect, small clean ups along the way 2006-01-02 01:03:31 +00:00
Desktop.cpp various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
Desktop.h Implemented redrawing the desktop after color changes. Right now, it only works 2006-02-13 13:12:10 +00:00
DesktopSettings.cpp The display resolution is now saved and restored. Probably doesn't handle non-default 2006-02-06 13:36:46 +00:00
DesktopSettings.h The display resolution is now saved and restored. Probably doesn't handle non-default 2006-02-06 13:36:46 +00:00
DesktopSettingsPrivate.h The display resolution is now saved and restored. Probably doesn't handle non-default 2006-02-06 13:36:46 +00:00
DrawState.cpp fixes origin and scale handling, it behaves mostly like R5 now (it is used for drawing only, yes not mouse coords or anything else). Also fixes offscreen layers clipping rebuilding when the user defined clipping is added or changed 2005-11-20 15:10:18 +00:00
EventDispatcher.cpp * added a way to retrieve the view under the mouse 2006-02-26 17:58:03 +00:00
EventDispatcher.h * added a way to retrieve the view under the mouse 2006-02-26 17:58:03 +00:00
EventStream.cpp Implemented B_NO_POINTER_HISTORY. Window moving/resizing uses this mechanism 2006-01-11 12:25:06 +00:00
EventStream.h Implemented B_NO_POINTER_HISTORY. Window moving/resizing uses this mechanism 2006-01-11 12:25:06 +00:00
FontFamily.cpp more or less cosmetical fix 2006-02-06 10:15:48 +00:00
FontManager.cpp don't create the directory if it doesn't exist, fix bug #207 2006-02-19 16:42:51 +00:00
HashTable.cpp Fixes that make Haiku build with gcc 4. Mainly out of the following 2005-11-12 23:27:14 +00:00
InputManager.cpp The input_server is now notified when the screen resolution is changed. 2005-11-26 16:22:06 +00:00
InputManager.h The input_server is now notified when the screen resolution is changed. 2005-11-26 16:22:06 +00:00
Jamfile Removed PicturePlayer, it only contains code duplicated from TPicture. Some cleanups for BPicture. This commit also completes previous commit for BMenu 2006-01-17 21:39:07 +00:00
MessageLooper.cpp You can now specify a timeout to MessageLooper::PostMessage(). 2005-12-12 13:12:51 +00:00
MessageLooper.h You can now specify a timeout to MessageLooper::PostMessage(). 2005-12-12 13:12:51 +00:00
MultiLocker.cpp * the new input event dispatcher is now actually used, although it doesn't 2005-11-18 11:30:06 +00:00
MultiLocker.h Added some root layer locking in ServerWindow.cpp when accessing the layer tree. Moved HWInterface management out of DisplayDriverPainter and into Desktop. Removed all the directly hardware related functions from DisplayDriver API. They just called the same HWInterface functions. Now DisplayDriver is much cleaner and ready for being attached to a yet to be written BitmapHWInterface. Clean up of the display mode stuff in Screen and the View-/AccelerantHWInterface. Frequency is now regarded on Haiku. AccelerantHWInterface::GetModeList now works before SetMode has been called. Added MultiLocker from the sample code. HWInterface uses it now in preparation to being used from multiple instances of DisplayDriver. 2005-06-23 23:46:17 +00:00
OffscreenServerWindow.cpp Some cleanup: 2005-12-01 12:07:28 +00:00
OffscreenServerWindow.h Some cleanup: 2005-12-01 12:07:28 +00:00
OffscreenWindowLayer.cpp remove empty functions which are no longer virtual anyways 2005-12-21 11:23:37 +00:00
OffscreenWindowLayer.h remove empty functions which are no longer virtual anyways 2005-12-21 11:23:37 +00:00
PNGDump.cpp remove left overs 2006-01-02 01:05:42 +00:00
PNGDump.h * added a call to png_set_strip_alpha() which could fix the alpha channel 2005-11-09 23:52:27 +00:00
RAMLinkMsgReader.cpp Fixes that make Haiku build with gcc 4. Mainly out of the following 2005-11-12 23:27:14 +00:00
RAMLinkMsgReader.h Removed unused files like PortMessage.cpp/h and Session.cpp/h. 2005-11-02 12:55:20 +00:00
RGBColor.cpp * Removed unused MakeBlendColor(). 2006-02-06 11:47:13 +00:00
ScreenManager.cpp Made the direct window test environment optional, since it crashes the Dano 2005-12-11 21:42:32 +00:00
ScreenManager.h first step of geting rid of abstract DisplayDriver base class for less development overhead, DisplayDriverPainter is renamed to DrawingEngine 2005-11-04 15:23:54 +00:00
ServerApp.cpp various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
ServerApp.h * Started a naive implementation of BView::SetViewCursor() server-side - doesn't 2006-02-02 20:19:29 +00:00
ServerBitmap.cpp Some work on cursors: 2006-02-05 18:14:14 +00:00
ServerCursor.cpp various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
ServerFont.cpp * Changed the AGGTextRenderer to use the new UTF8 handling 2006-02-23 09:04:26 +00:00
ServerPicture.cpp Even more BPicture support. We should have the basic to draw every picture used in our tree (for example, Tracker's navigator's buttons) 2006-02-11 17:48:19 +00:00
ServerPicture.h Added a copy constructor to ServerPicture. ServerPicture's constructors are private now, and can be called only from ServerApp (friend). Changed BList to a stl::stack which is better suited as a stack... Changed ServerApp::CreatePicture() to accept a picture to clone, instead of passing back a token which was never used anyway. 2006-01-04 09:49:47 +00:00
ServerScreen.cpp The display resolution is now saved and restored. Probably doesn't handle non-default 2006-02-06 13:36:46 +00:00
ServerScreen.h The display resolution is now saved and restored. Probably doesn't handle non-default 2006-02-06 13:36:46 +00:00
ServerTokenSpace.h * the app_server now uses a global token space - this should later be changed to 2005-11-14 19:46:20 +00:00
ServerWindow.cpp various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
ServerWindow.h no longer needed 2006-02-26 17:52:16 +00:00
SystemPalette.cpp Fixes that make Haiku build with gcc 4. Mainly out of the following 2005-11-12 23:27:14 +00:00
ViewLayer.cpp various changes to handling custom cursors: 2006-02-26 18:15:31 +00:00
ViewLayer.h A work-around for the Tracker desktop redraw problem of the previous change. 2006-02-13 13:43:30 +00:00
VirtualScreen.cpp The display resolution is now saved and restored. Probably doesn't handle non-default 2006-02-06 13:36:46 +00:00
VirtualScreen.h first step of geting rid of abstract DisplayDriver base class for less development overhead, DisplayDriverPainter is renamed to DrawingEngine 2005-11-04 15:23:54 +00:00
WindowLayer.cpp limit the rate at which windows are moved to 50 fps, the various clients have now more time to redraw stuff 2006-02-26 17:55:33 +00:00
WindowLayer.h oops, this completes the previous commit 2006-02-26 17:56:59 +00:00
WindowList.cpp A couple of changes related to modal and floating windows: 2005-12-09 13:17:43 +00:00
WindowList.h * added a fOriginalFlags that contains the unaltered flags as set by the client 2005-12-09 14:06:30 +00:00
Workspace.cpp Implemented redrawing the desktop after color changes. Right now, it only works 2006-02-13 13:12:10 +00:00
Workspace.h Implemented AS_SET_DESKTOP_COLOR - the desktop is not redrawn yet, but freshly exposed 2005-12-29 18:09:07 +00:00
WorkspacePrivate.h The display resolution is now saved and restored. Probably doesn't handle non-default 2006-02-06 13:36:46 +00:00
WorkspacesLayer.cpp Decorator() can be NULL in case the look is B_NO_BORDER_WINDOW_LOOK. Fixes bug 204 2006-02-18 09:38:42 +00:00
WorkspacesLayer.h Although it's not that clean, mouse clicks are now going through to the 2005-12-09 17:25:32 +00:00