Commit Graph

14999 Commits

Author SHA1 Message Date
Axel Dörfler 050bf31477 Minor fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:03:19 +00:00
Ingo Weinhold a41a0db6f2 Solved linkage problems. Virtual destructors apparently shouldn't be defined
inline. Commented undefined virtual methods. BBitmapBuffer is still used, so
is ViewHWInterface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 17:48:00 +00:00
Stephan Aßmus c2270088dc build the DirectWindow/Accelerant based HWInterface instead - Axel, don't check this out, it doesn't work yet, this is for Ingo to investigate that linker problem
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 16:45:25 +00:00
Stephan Aßmus 17a4024ca9 classes needed for the new cloned Accelerant based test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 16:43:38 +00:00
Axel Dörfler 71b550889e Moved dw_sync_data to a private header DirectWindowPrivate.h and renamed it to direct_window_sync_data.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 15:36:38 +00:00
Axel Dörfler ab6a6bed3a * Renamed direct window commands
* Removed unused cruft from ServerProtocol.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 15:23:02 +00:00
Axel Dörfler fc70d6db87 * Renamed AS_LAYER_INVAL_{REGION|RECT} to *_INVALIDATE_*.
* Removed unused AS_LAYER_INVALIDATE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 15:12:28 +00:00
Axel Dörfler 55eeaa58a6 * Renamed test to DirectWindowStars.
* Some changes to make it run in the test environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 15:07:13 +00:00
Axel Dörfler 764ac9e5aa * A stripped down libgame.so is now added to the app_server test environment - it
contains code for BDirectWindow and BWindowScreen only.
* Updated BDirectWindow and BWindowScreen to no longer require the COMPILE_FOR_x
  defines - compilation for R5 is not likely to work anymore, though (the Jamfile
  didn't allow this anymore, anyway)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 14:58:39 +00:00
Stephan Aßmus 2b98735f6d forgot about the right side extra room for the focus indication
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 13:58:42 +00:00
Axel Dörfler a447191925 The fWindowLock is now responsible for all window activities - no need to sometimes
lock the Desktop itself, and sometimes not - that also fixes some potential deadlock
situations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 13:47:13 +00:00
Stephan Aßmus e76d86d5dd now directly banging the hardware by using a cloned accelerant, soon to be ported to the app_server test environment. Unfortunately deadlocks most of the time when quitting...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 12:43:19 +00:00
Stephan Aßmus 7be34d3eb2 * removed CopyRegionList, as it made no sense
* finally nailed that much hated bug where the
  wrong background underneath the cursor was restored.
  I always looked for this in the wrong place -
  of course, you cannot blit regions on top
  of the cursor and expect the backup of the
  background to be magically valid still... ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 10:42:26 +00:00
Stephan Aßmus 12b29b9f1a forgot to add a comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 08:21:50 +00:00
Stephan Aßmus a80bd60522 through the methods of chaos programming, I hope I have finally got this right
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 08:19:35 +00:00
Stephan Aßmus f3faa3c29d * renamed _MarkContentDirty() to _TransferToUpdateSession()
to avoid any confusion with MarkContentDirty()
* hopyfully fixed all drawing defects that could be
  observed with CopyBits()ing and ScrollTo()ing, the fix
  is definitely valid, and I cannot see any more problems
  in Tracker either... hopefully this is it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 08:05:25 +00:00
Stephan Aßmus a04f5a1a5b Now the scrollbar works much more like the R5 scrollbar:
* prevents the target view from being scrolled out of range
 * handles Trackers completely confused usage of scrollbars

There is just one problem with Tracker's horizontal scrollbar
scrolling the title view much further than it should, which I
will look into tomorrow...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 23:27:35 +00:00
Axel Dörfler 4f9b08dffa Obviously, atan.c is needed after all. This should fix the build again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 20:48:44 +00:00
Stephan Aßmus 0f1d5a1af7 finally nailed that bug which prevented Tracker from showing the attribute column titles, I spent way too much time debugging this...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 17:53:55 +00:00
Stephan Aßmus f056e688a3 now uses the same defaults as in the input_server when unable to contact the input_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 17:52:18 +00:00
Axel Dörfler 3ea966eee3 Some cleanup, removed some remaining RootLayer references.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 17:32:32 +00:00
Axel Dörfler 0b4b0f97ba Although it's not that clean, mouse clicks are now going through to the
WorkspacesLayer again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 17:25:32 +00:00
Axel Dörfler ce8c4d79fc The Workspaces window is now updated again. Only mouse clicks don't work yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 16:20:01 +00:00
Axel Dörfler 52d2c710bf * Workspace offsets weren't correct (only for the first workspace).
* No longer draws hidden windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 16:19:18 +00:00
Axel Dörfler 9d34a4b6d7 * No longer activates a window on first click if B_WILL_ACCEPT_FIRST_CLICK is set.
* minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 15:40:30 +00:00
Axel Dörfler a7e201435f Now draws something again, it's just not updated on changes yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 15:39:20 +00:00
Axel Dörfler e566030298 * SetFocusWindow() now makes sure no hidden window is taken as focus window...
* When switching workspaces, usually the focus switches to the front window.
  This no longer happens in case a floating window had focus and is still visible
  in the new workspace - in that case, focus is kept with the floating window.
* SetFocusWindow() now chooses the topmost window in case the specified window
  has either a modal or there is no front window.
Desktop::RemoveWindow() now makes sure the window is hidden before removing it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:23:51 +00:00
Ingo Weinhold e695fe845d Removed atan.c. For PPC we're using the glibc implementation, for
x86 the Haiku image still builds, so it is apparently not used. I
guess it would be best to abandon our posix_math.o completely and
use the glibc math implementations instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:23:30 +00:00
Ingo Weinhold 379f146735 Added more missing math functions for PPC from glibc 2.3.2.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:16:39 +00:00
Ingo Weinhold 7c360a1007 Removed the x86 specific __compare_and_swap() implementation and
added a generic implementation using atomic_test_and_set().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:11:44 +00:00
Ingo Weinhold 0799002097 Added an unimplemented __arch_init_time() for PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:09:42 +00:00
Ingo Weinhold 5d9789688d Remove eabi.o from the libgcc objects. It's in the static libgcc for PPC
(would not be in the dynamic one though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:08:20 +00:00
Axel Dörfler 159fdf2038 * added a fOriginalFlags that contains the unaltered flags as set by the client
* when changing feel, the original flags are now restored.
* added B_SAME_POSITION_IN_ALL_WORKSPACES to valid flags, so that they can be
  set by the user.
* fixed masking out invalid flags (actually all but the valid flags were kept...)
* everytime B_SAME_POSITION_IN_ALL_WORKSPACES can be set (either in SetFlags()
  or in SetFeel() the position is propagated to all window lists.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:06:30 +00:00
Axel Dörfler ccfb624b7a Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 14:03:00 +00:00
Axel Dörfler e62201bacd * not all possible flags were shown due to a stupid bug...
* added B_SAME_POSITION_IN_ALL_WORKSPACES for the build under Haiku (and libbe_test)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 13:44:54 +00:00
Axel Dörfler aa203e8d5f If the focus window became invisible because of changing its feel, focus is now
reset to the front window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 13:30:47 +00:00
Axel Dörfler c81a228fca * SetWindowFeel() now respects the position of the window, and changes it, if necessary.
* renamed workspaces_on_workspace() to workspace_in_workspaces() (was even wrong before).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 13:28:28 +00:00
Axel Dörfler 34227d2c34 A couple of changes related to modal and floating windows:
* Desktop::SetWindowFeel() is now working, but doesn't respect the window
  position yet (ie. floating windows would have to be moved to front).
* WindowLayer::Workspaces() now always reflects exactly the lists it's in
  (at least after Desktop::AddWindow() has been called). WindowList::AddWindow()
  and RemoveWindow() now update this flag to be correct at all times.
* Fixed Desktop::_ChangeWindowWorkspaces() to not set the current workspace
  for windows that are not on the current workspace, and vice versa.
  It also would hide windows that were already hidden, and tried to show
  windows that actually were hidden (did no other harm than triggering
  a rebuild of the global clipping).
* Floating windows now work as expected.
* Desktop::SetFocusWindow() won't give a window focus that has a modal.
* Renamed OnWorkspace() to InWorkspace().
* ServerApp::InWorkspace() now works correctly, added ServerApp::Workspaces()
  as well.
* WindowLayer::SubsetWorkspaces() returns the workspaces mask this modal or
  floating window should be in.
* New window flag B_SAME_POSITION_IN_ALL_WORKSPACES should work as well.
* Floating and modal windows now have always set this flag.
* Added a WindowList::HasWindow() method.
* Desktop windows (windows with the desktop feel) can now have focus again
  (I accidently broke that before).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 13:17:43 +00:00
Axel Dörfler 463e791c29 Added new window flag B_SAME_POSITION_IN_ALL_WORKSPACES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 13:07:47 +00:00
Stefano Ceccherini 0efe29e09d There is a FillRegion() call after all
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 12:04:18 +00:00
Stefano Ceccherini 7042f1dd6e Mouse won't crash anymore if it can't find its bitmaps.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 11:15:05 +00:00
Stefano Ceccherini 78d0941945 small change, still commented out, though
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-09 09:10:34 +00:00
Stephan Aßmus 939fb4077c fix scrolling of BViews that rely on app_server painting the background, remove a forgotten debug output in ViewLayer, reimplemented setting the window title during runtime, fix Decorator redraw on pressing buttons - though I was lazy on that one... it works, but as the TODOs say, it would be better integrated directly in the Decorator class than being handled by WindowLayer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 22:15:12 +00:00
Stephan Aßmus fcb6cbaa64 when attached to a BWindow, make sure that the window sets up pulse messaging, if the view has B_PULSE_NEEDED, fixes Tracker showing 0 items in CountView
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 22:10:24 +00:00
Stephan Aßmus 1ba4d96326 take it easy when unable to contact the input_server, makes Tracker run much better in the test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 22:09:22 +00:00
Stefano Ceccherini 06dd435a79 Add the bmp translator (again) to the image. It has been removed accidentally, probbably in the build system migration. This fixes the problem with missing bitmaps (and crashes in the Mouse preflet)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 22:07:36 +00:00
Rudolf Cornelissen 224b9020ab added some defines for SCREEN_TO_SCREEN_SCALED_FILTERED_BLIT (in progress).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 20:03:36 +00:00
Rudolf Cornelissen a89d836024 adding DMA acc function SCREEN_TO_SCREEN_SCALED_FILTERED_BLIT (in progress). The videonode turns out to be a nice playground to test it with, so I can set it up. Also it looks like I'm going to need it because I can't get a B_YCbCr422 connection going on R5 or dano (negotiation seems to fail).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 20:01:52 +00:00
Stephan Aßmus 1cf70f2e66 use With() and Height() instead of right an bottom for the new frame size, fBounds contains the scrolling offset...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 15:30:15 +00:00
Stefano Ceccherini 70206143d0 Tested the new implementation, corrected a ton of bugs and wrong code, now Include and IntersectWith methods work. Exclude is still not working, and there are still a couple of hacks to remove
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 14:57:54 +00:00