Commit Graph

13002 Commits

Author SHA1 Message Date
Axel Dörfler
e68b762659 More GCC 4 fixes by Ingo Weinhold - appeared because of the recent removal
of new/typeinfo/exception from our headers.
Rearranged the IconCache node_ref hash computation to be padding-resistant
(at least on PPC, node_ref is 16 bytes long, not 12 as it is with x86 and GCC 2).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 19:37:18 +00:00
Ingo Weinhold
210c204d16 Do I miss something? Why explicitly use headers/cpp?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 16:26:54 +00:00
Ingo Weinhold
4612b9835c Directly use the atomic.S from libroot. This avoids needing to have a
file per architecture here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 16:25:02 +00:00
Ingo Weinhold
bedeb04ec8 Forgot to check this in. GCC 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 15:44:03 +00:00
Ingo Weinhold
998eb12d97 Ouch! Sometimes one simply doesn't find words... I wonder whether the
author ever checked the documentation for the function he was trying to
use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 14:09:30 +00:00
Ingo Weinhold
fad6687c9a Fixed PPC build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 14:01:46 +00:00
Ingo Weinhold
711f8274f3 BlankLogo is also needed on PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:50:20 +00:00
Ingo Weinhold
d0769921ab Use atomic_set() instead of hard-coded x86 inline asm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:44:40 +00:00
Ingo Weinhold
c6745ed536 Fix build for PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:34:28 +00:00
Ingo Weinhold
6e040d83ea Added __swap_{float,double} for PPC. They are probably horribly
suboptimal (if working at all) -- review is appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:26:50 +00:00
Ingo Weinhold
d85fe0ec25 Compatibility functions. Actually not needed for PPC Haiku, but it's
easier to define them for now, since they are used unconditionally e.g.
in the Tracker sources.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:25:00 +00:00
Stephan Aßmus
60e12a12c5 no longer used
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:09:51 +00:00
Stephan Aßmus
3c2ffeb0d6 fixed one more drawing bug, it only showed because now the test environment uses hardware acceleration, FillRegion for the client irgnored the current clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:03:53 +00:00
Stephan Aßmus
1b13861833 included the wrong header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:00:29 +00:00
Ingo Weinhold
de69ef37bb Added a good deal of "#ifdef __INTEL__"s to allow compilation on PPC. As
one of the TODOs already says, the architecture specific parts should be
factored out into separate source files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 23:12:49 +00:00
Ingo Weinhold
fe14a904a8 * Implemented [sig]{set,long}jmp() for PPC. No idea, if it is any good,
but it compiles at least. :-)
* Pulled the architecture specific part out of <posix/setjmp.h> into
  <posix/arch/<arch>/arch_setjmp.h>.
* Moved setjmp_save_sigs.c from the x86 specific implementation into a
  "generic" sibling directory, since it is reusable (and actually used
  by the PPC implementation).
* Added generic/longjmp_return.c containing a function __longjmp_return,
  which is invoked at the end of siglongjmp(), resetting the signal mask
  and validating the return value. It is used by the PPC implementation,
  and should also be used by the x86 implementation, but I'll leave that
  to someone who's motivated enough to also test it. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 22:56:52 +00:00
Stephan Aßmus
62b965a65f * got the "cloned accelerant" based DWindowHWInterface to work, though without
using the clipping info from a BDirectWindow... I made it so that the window
  used stays on top always, until I can think of something better. The other
  problem is that you should not move the window, since Painter doesn't update
  it's pointer into the frame buffer.
* Now the test environment is running at pretty much the same speed as it would
  under Haiku, completely by-passing the BeOS app_server. It shows that Painter
  needs to be optimized for writing to graphics memory, and also that we need to
  figure out a way to distribute update sessions more equally. What happens is
  this: The first invalidation of a window triggers an update on the client
  side... the client cannot keep up with drawing, since it is pretty much
  blocked all the time because the desktop thread moves a window and because
  the clipping constantly changes. In the meantime, new update request are
  added to the pending session because the client has still not finished with
  the current session. Only when things settle a bit, the next update session
  can be startet. On the bright side of things, the earlier problems with
  scrolling seem to be fixed for good.
* some documentation updates on Painter


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 21:45:41 +00:00
Ingo Weinhold
901f399036 * Removed libroot/posix/math completely and added the respective
functions from glibc 2.3.2. Adding those one by one is extremely
  boring and time-consuming work. We should probably just remove the
  math stuff again, add a verbatim copy of the glibc directories, and
  shuffle things around afterwards.
* Note that for x86 holds sizeof(long double) == 96. I removed the
  generic 128 bit long double functions that were in use before and
  added respective 96 bit versions to arch/x86 (or left them out, if
  they weren't used). For PPC the System V ABI spec supplement specifies
  sizeof(long double) == 128, but I had trouble configuring gcc to
  actually use that setting (looks like there simply is no support for
  TI mode for PPC 32). So we have to live with sizeof(long double) ==
  sizeof(double) == 64 for the time being.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:39:04 +00:00
Ingo Weinhold
27de84142b Empty implementations of PPC stack trace functions to make the build
system happy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:17:49 +00:00
Ingo Weinhold
b4add623a4 Fixed gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:16:41 +00:00
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
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
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
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
Axel Dörfler
72994381f2 Windows currently being dragged now follow workspace switches.
Desktop::_ChangeWindowWorkspaces() and SetWorkspace() didn't lock the window list,
but should have.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 14:45:42 +00:00
Axel Dörfler
799c100e79 That would be a bug indeed.
* ShowWindow() and HideWindow() now also work correctly for windows not
  on the current workspace.
* Reverted WindowList::RemoveWindow() - if it is used wrongly, it should
  better crash the server for now, so that we can iron out the bugs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 13:32:54 +00:00
Axel Dörfler
e83820ed57 Merged app_server_new_clipping branch changes r15290 to 15418 back into trunk.
Also fixed Jamfile for the test environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 12:41:19 +00:00
Stephan Aßmus
af43bb3c94 a first and really naive implementation of drag&drop support, no visuals yet... Axel, no worries I'm going to clean this up and remove stuff from EventDispatcher again...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 12:13:22 +00:00
Stephan Aßmus
3f0aa1427c take care of resizing and cleaning up parent BMenuField in FrameResized(), fixes missing areas in Fonts and most likely other BMenuFields
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 12:04:51 +00:00
Axel Dörfler
7cc34f755b Removed cpuid.o from boot loader build for PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 11:08:26 +00:00
Axel Dörfler
185a5a57cd Removed old PPC framebuffer console (this code is superseded by the on screen KDL). Updated files to match current arch API. This fixes the kernel build for PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 11:03:24 +00:00
Axel Dörfler
1d44f6791d Now checks if locking the looper succeeded.
Now hides the window before removing itself to prevent a superfluous drawing update.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 10:46:54 +00:00
Axel Dörfler
ecc3280f6b Fixed build of the haiku_registrar test app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 09:33:08 +00:00
Ingo Weinhold
8e17108ffa Add some more PPC math functions from glibc 2.3.2.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-08 00:27:03 +00:00
Ingo Weinhold
c1437015dd Moved architecture independent sources into new subdirectory "generic".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 23:14:51 +00:00
Ingo Weinhold
c729b01278 The <arch_config.h> header is needed in <syscalls.h>, since we're using
the atomic functions related macros.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 23:11:02 +00:00
Ingo Weinhold
e616992242 Fixed compilation with our PPC compiler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 22:42:57 +00:00
Ingo Weinhold
8b150d6067 Added PPC specific and some generic glibc headers. Taken from
glibc 2.3.2, which seems to be the version used in other places,
though I also found older files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 22:41:39 +00:00
Ingo Weinhold
2034e20826 Added building of an empty posix_arch_ppc.o to make the build
system happy for the time being. We need real setjmp()/longjmp()
implementations for PPC eventually, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 22:37:25 +00:00
Ingo Weinhold
98d294ceb6 Added dummy makebootable for boot platform Open Firmware. Just
to make the build system happy for now. We'll see later what we
have to do.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 22:34:01 +00:00
Axel Dörfler
558242b3ac Fixed comment, thanks Jerome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 19:10:16 +00:00
Axel Dörfler
aa110a00e0 AttachedToWindow() could be called twice in case new views were added during
AttachedToWindow().
This fixes the double team entries in the Deskbar.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 18:04:43 +00:00
Axel Dörfler
ec17c60f5a Added a TODO why our bitmap code is currently pretty inefficient.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-07 10:50:01 +00:00
Stephan Aßmus
9584d7e45e hefty overall drawing speed optimizazion, the Draw() hook was called for every view down the hirarchy when one single child had to redraw, added some TODOs in _Draw about some stuff we need to think about
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 23:27:00 +00:00
Stephan Aßmus
9fe0cc5965 was there any particular reason why BAlerts were old style synchronous controls BWindows?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 23:25:28 +00:00
Axel Dörfler
715476b7ef The resize code now works correctly, finally - it temporarily did harm ;)
The BViews must be resized directly after every change in the window size - we
cannot wait until B_WINDOW_RESIZED, since subsequent calls have wrong view
sizes, then.
B_WINDOW_RESIZED is only really useful for app_server caused window resizing.
Added TODO to SetLook(): it may change the window size as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 23:15:48 +00:00
Axel Dörfler
e7a77b5b71 You also need to delete cloned areas - they are areas like any other (just their
contents are shared)!
Some cleanup. BBitmap::Cleanup() doesn't ask for a reply from the server anymore
(why should it care, anyway?).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 20:12:38 +00:00
Axel Dörfler
7d93e66823 Added the Deskbar to the libbe_test environment - I thought I had committed this already...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 19:28:12 +00:00
Stephan Aßmus
0a95bea66d fixed wrong usage of ConstrainClippingRegion() introduced by myself a couple months ago
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 16:56:31 +00:00
Stefano Ceccherini
bdac8966fa the signature in the resource didn't match with the one in the constructor. As a result, Fonts didn't start
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 16:51:08 +00:00
Axel Dörfler
dd344f7934 libtranslation.so was built for the libbe_test target, but wasn't part of the
test environment (the install-test-apps target).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 16:34:13 +00:00
Rudolf Cornelissen
4a856e1d8d overlay code now respects the B_OVERLAY_COLOR_KEY flag instead of forcing keying ON. Bumped version to 0.27.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 14:50:49 +00:00
Rudolf Cornelissen
d040001c7a overlay code now respects the B_OVERLAY_COLOR_KEY flag instead of forcing keying ON. I seem to have forgotten about that flag, but I was pointed at it again by testing with overlay in a consumer node. :) Bumped version to 0.68.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 14:46:10 +00:00
Stephan Aßmus
f41715436a remove left over debugging output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 13:47:16 +00:00
Stephan Aßmus
dde10e4519 fixes for various controls to remove or show focus indication when the window active status changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 13:46:50 +00:00
Stephan Aßmus
a2b387ad6e prevent applying zero offsets to all rects
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 13:45:15 +00:00
Stephan Aßmus
a289cd317f slightly improved look
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 13:44:38 +00:00
Stefano Ceccherini
8fed3280e7 removed some commented stuff. Declarations should be moved to the proper files, anyway...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 08:34:57 +00:00
Stefano Ceccherini
35a6c07857 Bitmaps are now owned (and deleted) by BitmapMenuItem, small changes. Added a check for NULL which cures the symptoms of a bug in resource loading. Even if we fix the bug, this is defensive programming
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 08:19:58 +00:00
Axel Dörfler
ac4fe990c9 * The client views are now automatically resized on B_WINDOW_RESIZED as they are in the
server.
  This saves overhead on both sides, the server doesn't need to build the update message
  for the client, and the client doesn't have to unflatten and parse another message.
* This code is actually needed for the new clipping code in the app_server, but shouldn't
  do much harm for the old app_server, either.
* Also disabled getting the bounds from the server, as that is just never needed (and would
  also break the code).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 01:22:02 +00:00
Stefano Ceccherini
9bd3f620bc More stuff, should be almost feature complete (but bugged as hell, probably), I should start real testing tomorrow, hopefully
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-05 20:12:18 +00:00
Axel Dörfler
82e9603fbf Disabled page daemon for now - it doesn't any good yet (but easily sucks up your CPU power).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-04 16:47:52 +00:00
Waldemar Kornewald
9ad01d8d1f Added the merged objects to LinkAgainst.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-03 21:10:53 +00:00
Stefano Ceccherini
503f85dc8a forgot to commit this file, I noticed after a revert
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-03 21:09:49 +00:00
Stefano Ceccherini
4f6f70e059 small change, use the public methods where possible
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-03 14:26:32 +00:00
Stefano Ceccherini
2b3861d601 some bugfixing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-03 14:12:53 +00:00
Stefano Ceccherini
eba7781c71 Now Region.h is binary compatible with R5's one
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-03 11:11:12 +00:00
Stefano Ceccherini
f76e95c4ee more stuff, still completely untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-03 11:08:45 +00:00
Axel Dörfler
c072e9f1f5 * BWindow::AddToSubset()/RemoveFromSubset() no longer send their team ID; this
is known by the server, anyway.
* B_MODAL_SUBSET_WINDOW_FEEL now also works as expected.
* Renamed AS_REM_FROM_SUBSET to AS_REMOVE_FROM_SUBSET.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-02 16:07:02 +00:00
Axel Dörfler
b2d24b66da * B_MODAL_APP_WINDOW_FEEL windows now also work correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-02 15:48:21 +00:00
Axel Dörfler
4c0269b979 * WindowLayer::OnWorkspace() should now work correctly for all window feels.
* introduced ServerApp::OnWorkspace().
* moved AS_CREATE_[OFFSCREEN_]WINDOW into its own method, ServerApp::_CreateWindow().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-02 15:42:28 +00:00
Axel Dörfler
48ccf5abef Some work to get modal/floating windows back:
* B_{FLOATING|MODAL}_ALL_WINDOW_FEEL now works as expected
* reintroduced the concepts of subsets of modal/floating windows - does only
  work correctly for subset "all" window feels.
* RootLayer::_SetFront() now deals correctly with modal windows
* renamed RootLayer *WindowLayer() methods to *Window()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-02 15:06:14 +00:00
Axel Dörfler
f5e1f2163f The feel can now be changed on the fly as well (only in the test app, of course,
the app_server is still dumb about it).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-02 11:37:31 +00:00
Axel Dörfler
fc21e33e46 * B_NOT_H_RESIZABLE/B_NOT_V_RESIZABLE are now correctly supported by the decorators.
* Introduced methods WindowLayer::IsModal() and IsFloating().
* Invalid flags for the current feel are now filtered out, like B_AVOID_FOCUS for
  modal windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-02 10:35:01 +00:00
Stephan Aßmus
a825e4034c not in a nice way, but I hope to have fixed the deadlocking problems on program exit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-02 00:10:41 +00:00
Stephan Aßmus
0bbd104a7d don't allow the top view to be scrolled
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 21:32:45 +00:00
Stephan Aßmus
7943e1a86d scrolling seems to work nicely, dirty regions are tracked fine and shifted along with the scrolling if necessary
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 21:14:10 +00:00
Axel Dörfler
3d05db78ce Fixed compilation (at least under Zeta/Dano).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 19:09:53 +00:00
Stephan Aßmus
727653f7ab implemented invalidation triggered from the client side. 20 clients each displaying an animation in one view at 25 fps leaves the new clipping unimpressed, everything is fluent, also during moving and resizing windows
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 19:04:37 +00:00
Axel Dörfler
755ae3a961 The window is now resized to be high enough for its contents.
The buttons now span over the full width (and will be adapted on resize).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 18:58:44 +00:00
Axel Dörfler
42e1c25d01 "Oops, I did it again": AS_SET_FLAGS returned B_BAD_VALUE on valid flags
and B_OK on invalid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 18:35:38 +00:00
Stephan Aßmus
8c8275c2ea showing and hiding windows and views works now, views are not so heavily tested, but any problems should be easy to fix. the recursive IsHidden() is now avoided, there is only one recursion now, which is when the hidden status changes. in the simulation, double clicking a window will temporarily hide it and show it asynchronously from the window thread. looks like the locking model works out fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 17:24:47 +00:00
Axel Dörfler
2057d3c0aa If AddToSubset() fails, we now show an error alert.
B_QUIT_REQUESTED is no longer forwarded to the application too early.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 17:08:16 +00:00
Axel Dörfler
7ae647775e Completed functionality - you should now be able to test pretty much everything
with respect to look/feel/flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 16:50:21 +00:00
Axel Dörfler
aecd5eefaf * the check for a valid feel was wrong, reported by Michael Lotz.
* also followed Michael's suggestion (more or less) and moved the
  look/feel/flags checks into separate methods.
* on construction, invalid look/feel/flags values are now corrected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 15:58:04 +00:00
Axel Dörfler
6b86db1c42 Changing window flags that affect the look does now also work more or less fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 15:02:11 +00:00
Axel Dörfler
05aea1dd4a Better app_server communication for SetFeel(), SetLook(), and SetFlags().
SetFeel() gets a status value back as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 14:56:44 +00:00
Axel Dörfler
85f8bb71c7 * You can now change the look of a window on the fly.
* renamed some Decorator functions like GetLook() to Look().
* renamed _look to fLook and _flags to fFlags.
* removed the feel from decorators - they don't need to know
  or care about the feel.
* the DefaultDecorator didn't allow resizing of modal windows.
* DefaultDecorator::SetTitle() no longer clears the passed
  in updateRegion, it just fills it (so that you can call
  more than one of these methods after the other, and still
  get a correct update region).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 14:56:01 +00:00
Axel Dörfler
57be286609 * when moving/resizing windows on another workspace, the Workspaces window
has to be udpated anyway.
* some work towards being able to set a window's look/feel/flags on-the-fly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 13:59:04 +00:00
Axel Dörfler
5c01706db6 Again, did only compile under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 13:23:13 +00:00
Axel Dörfler
a7e6679b88 Beginning of a test application for look&feel (and flags, actually).
Only look & flags are tested right now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 13:21:33 +00:00
Axel Dörfler
5d32708515 Implemented B_AVOID_FOCUS support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 12:31:05 +00:00
Axel Dörfler
85096c8acb Some cleanup:
* look/feel are now window_look/window_feel instead of int32.
* removed the level stuff, I don't think this is needed.
* some other minor stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 12:07:28 +00:00
Axel Dörfler
649e929c7a Added drawing the window titles to the Workspace window - but I disabled
it, as it slows down window moving noticeably.
To provide a good Workspaces window functionality, we should probably let
WindowLayer take care of the updates itself - that would simplify the whole
thing a lot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 11:43:04 +00:00
Axel Dörfler
a1d0e588b9 Another use of clipping regions to eliminate flickering. Maybe I have to come
up with something better though, when the window titles are drawn as well...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 10:41:01 +00:00
Axel Dörfler
19d801a6b6 Moving/resizing is now routed over the desktop as well.
This also allows the workspaces layer for these actions, which is now done as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-01 10:31:30 +00:00
Ingo Weinhold
b22fc00fa8 Fixed invalid use of STL vector. I wonder, why I always involuntarily
shudder when looking into MDR code (and happily use Beam). Error
checking, anyone?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 23:55:02 +00:00
Ingo Weinhold
9a8ef58959 Build fixes for gcc 4 by Ilzu Siiteri. Small changes by myself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 23:41:40 +00:00
Stephan Aßmus
d0e89d5302 I couldn't resist playing some more with ezprof. I don't know if I can trust it's results though, revealing as they are. Somebody should explain to me why forgetting a return *this; in an operator= method works in the first place, and why it results in the constructor being called.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 23:03:05 +00:00
Axel Dörfler
b32a299f2a Minor cleanup, mostly SERVER_TRUE -> B_OK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 22:48:42 +00:00
Axel Dörfler
a8b49ab310 Implemented AS_COUNT_WORKSPACES and AS_SET_WORKSPACE_COUNT server side.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 22:48:13 +00:00
Stephan Aßmus
c8b8bbfca4 fix the update session operator=, temporarily enabled Flush()ing the underlying BView again in order to not distract with fake drawing bugs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 20:51:39 +00:00
Stephan Aßmus
7fd1af6f04 I did some profiling using Daniel Reinholds ezprof, which is quite nice actually. I optimized a bit, without spending too much time on that yet, and now the clipping is on average 7 times faster than the current app_server (the time spend in the root layer thread)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 20:35:47 +00:00
Axel Dörfler
5ca8477eca * the Workspace class is now hidden and put into Workspace::Private; the new
Workspace class is a simple accessor to this class that takes care about
  locking (currently, it's just the desktop lock, maybe it'll stay that way).
* WorkspacesLayer now displays the window thumbs again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 19:56:44 +00:00
Axel Dörfler
ed656a3a9b You must not have RootLayer locked when calling any method from EventDispatcher;
just another case of troublesome generic RootLayer locking in ServerWindow
(I'm looking forward to get rid of this).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 19:51:43 +00:00
Axel Dörfler
6aae81b3e1 Quick and dirty fix to allow our heap to allocate more than 64kB.
However, it will never free those allocations again.
This fixes the problems due to Rudolf's recent driver updates.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 19:28:46 +00:00
Stefano Ceccherini
983af123cd Obviously forgot to svn add
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 18:43:57 +00:00
Stefano Ceccherini
f505f1798d Added a jamfile for NewRegionTest. Small changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 18:43:26 +00:00
Stefano Ceccherini
4639f874c7 You shall compile before commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 18:37:15 +00:00
Stefano Ceccherini
3106b9ec41 You shall not break the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 18:33:21 +00:00
Stefano Ceccherini
17adbf1f0c Misc style changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 17:56:56 +00:00
Axel Dörfler
dd43887c95 Forgot to remove the Unlock(), thanks to Stephan for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 16:22:18 +00:00
Axel Dörfler
a631158a62 Reenabled most of the workspaces functionality - the Workspaces window doesn't
show any windows, but everything else seems to work fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 15:47:01 +00:00
Axel Dörfler
92766f93e2 EventDispatcher::_Unset() did not wait for the event looper thread under BeOS, as
wait_for_thread() always returns B_BAD_ADDRESS when the second argument is NULL
(it works fine under Haiku).
Instead of enqueuing a B_QUIT_REQUESTED message, InputStream now directly quits
when the 'quit' code is read from the port (B_QUIT_REQUESTED was never handled
by the event loop either, it just didn't get noticed because of the wrong
wait_for_thread() usage).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 15:31:33 +00:00
Axel Dörfler
66fdfb907b Some preparations to reactivate the workspace feature.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 11:19:20 +00:00
Axel Dörfler
15918e4fa5 * new windows now get a fake B_MOUSE_MOVED message in case they are opened
directly under the mouse cursor.
* Added Desktop::ShowWindow() and HideWindow().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 10:45:01 +00:00
Stefano Ceccherini
927995cedd Fixed some bugs reported by Stephan. You were right after all :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 09:12:24 +00:00
Stefano Ceccherini
5c2728e222 A slightly different region implementation, not tested or anything
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 06:23:00 +00:00
Stephan Aßmus
7e68917fe7 more commenting, if only to clean up my own mind
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-30 00:29:19 +00:00
Stephan Aßmus
1ba9992d13 a views screen clipping does no longer includes the windows actual clipping, only the content clipping, this simplifies some calculations, and avoids invalidating each views screen clipping when the window clipping changes. at any time the views screen clipping is used, we need to watch out for the effective clipping anyways
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 21:21:12 +00:00
Stefano Ceccherini
414b75712d Style changes, just to test if committing from here works...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 21:17:02 +00:00
Stephan Aßmus
312345bcb1 with the new design, there is always only one redraw message in the WindowLayers message queue, therefor, ReadLockWithTimeout() is no longer needed, removed RWLocker again as MultiLocker suits our needs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 20:53:00 +00:00
Stephan Aßmus
c63a78aafa now doing without a global dirty region, and it seems it gained a little speed too, should be easier now to make the multi locker work
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 20:35:47 +00:00
Stephan Aßmus
4dd89c6903 * added a multi locker implementation from Ingo Weinhold,
which supports ReadLockWithTimeout()
* commented the code in many more places
* understood the problem of making the read/write locking
  work: While it would be possible for each window to
  remove the processed region from the global dirty region
  in read lock mode (since it is guaranteed not remove
  a region not intersecting with its own visible region),
  multiple window threads can still not do this at the same
  time, since BRegion itself is not threadsafe of course.
* I need to figure out a way for the window threads to be
  able to access and modify all needed data in read only mode,
  I think this means to divide the global dirty region into
  each window again, so that each window thread can simply
  clear its own dirty region instead of excluding it from
  the global region. Yeah, that might work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 19:08:58 +00:00
Axel Dörfler
a9b83b752c Added a bit of documentation to the EventDispatcher.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 17:00:08 +00:00
Axel Dörfler
f89b4c9a23 Have I said input event handling is done?
* didn't realize that mouse events always go to the view under the mouse, not
  only if its the focus window (FFM can really do harm, after all :-)).
* removed a TODO from the list: EventDispatcher::Target is now a public
  class EventTarget, and every ServerWindow has one.
* as a result, EventDispatcher no longer manages targets itself, it
  just maintains a list of them. You no longer set messengers, you
  only set targets.
* customization of the message filters, they no longer inherit from
  BMessageFilter (but EventFilter).
* a message target is no longer set explicetly anywhere, it's only
  changed in the message filters if needed.
* therefore, no more locking mess in the EventDispatcher needed.
* this also made the EventDispatcher::fLastFocus stuff superfluous.
* moved the RootLayer::MouseEventHandler() into the message filter.
* Replaced RootLayer::_ChildAt() with WindowAt().
* WindowLayer now has an idea if it has focus or not, it no longer needs
  to query the RootLayer for this - maybe we should rename "focus" to
  "active", though (as far as layers are concerned).
* the "_view_token" data is now added from the EventDispatcher, not
  the (Window)Layer class anymore.
* removed Layer::MouseWheelChanged() as we currently don't need it
  (if the need arises, we can add it back later again)
* there is still no mouse moved message sent when opening a window
  under the cursor, though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 16:01:41 +00:00
Axel Dörfler
c7bba5ca04 When it gets a B_ENTERED_VIEW transit in MouseMoved(), it will now use a different
color. In BeOS, a view gets a MouseMoved() with B_ENTERED_VIEW when the window is
opened under the mouse cursor (not yet in Haiku).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 13:32:35 +00:00
Axel Dörfler
17adc30b57 Only compiled under BeOS...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 13:12:27 +00:00
Axel Dörfler
7362a1d7b8 Added a test application for B_AVOID_FOCUS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 13:07:01 +00:00
Rudolf Cornelissen
d9b60a740a finalized docs for release.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 11:57:38 +00:00
Rudolf Cornelissen
898ec61104 finalized docs for release.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 11:56:55 +00:00
Rudolf Cornelissen
9528941458 finalized MMS (multihead) card support. Fixed system crashing with null pointer if 'secondary' mms card in system was used on it's non-primary heads while it's primary head was not in use. (hope this is readable :). In other words: rewrote copying ROMs for MMS cards. Kerneldriver now holds images for each card and head inside the kerneldriver independant of a card's driver being actually used or not. multihead cards can now be used as you wish: they nolonger need to be the 'primary' card in your system. hehe: 6 heads running here (two on a dualhead nvidia while 4 in a matrox mms. Test harness much in use, as all those cards still can't be used otherwise on BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 10:40:55 +00:00
Rudolf Cornelissen
a6e6b1d36f bumped version to 0.26.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 10:34:48 +00:00
Stefano Ceccherini
a4368fc50d Small cleanups and simplifications. Removed duplicated code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 10:34:06 +00:00
Rudolf Cornelissen
a76b13ce62 correct logmessage spelling errors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-29 10:09:16 +00:00
Axel Dörfler
27adb96962 Massive RootLayer & Workspace tearing:
* workspace switch and subset windows functionality temporarily removed
  (away with that mess!).
* no more RevealWMState() - we now have methods like ActivateWindow()
  and SendWindowBehind() that do all the work - just a little cleaner
  and with less overhead.
* Workspace is now a pretty passive class - it only stores configurations
  of the windows and screens.
* added an evil work-around for a locking problem (in RootLayer::_SetFocus()).
* I'll plan to move pretty much all of the remaining root layer functionality
  to Desktop - so that the all regions lock is only held in case clipping
  regions are affected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 23:36:59 +00:00
Axel Dörfler
8fc80f17d9 refactored a _AddChildToList() and a _RemoveChildFromList() out of AddChild() and
RemoveChild() (very similar to what BView does).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 23:27:20 +00:00
Jérôme Duval
ae0a90cedb SetAppCursor also sets cursor status
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 23:13:16 +00:00
Jérôme Duval
c3ea345d20 starting a running device or stopping a stopped device isn't allowed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 20:41:16 +00:00
Stephan Aßmus
b619f15f6d that expensive drawing mode served it's purpose, but it makes it seem like the prototyp is maxing out the CPU again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 19:40:02 +00:00
Stephan Aßmus
748533bbf9 figured out and solved several problems:
* views are now correctly clipped when they are
  (partly) hidden under their parent(s)
* removed fIsTopView, the top view in a window
  simply has no parent
* introduced WindowLayer::CopyContents() which
  blits part of the contents to another location,
  while moving that part in the dirty regions. Since
  this is currently used from the Desktop thread,
  messing with the update session dirty regions
  requires now to lock the clipping
* that feature is now used for blitting a view to its
  new location in ViewLayer::MoveBy(), which
  works for right and/or bottom aligned views just fine
* I left the global dirty region in Desktop for now,
  moving it into each WindowLayer gave quite a slowdown
  and caused all kinds of other problems.
* a view is now cleared to the background color right
  before the first drawing command from the client
  is executed for that view, this reduces flickering
  a lot because the content is drawn much more shortly
  after the background is cleared.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 19:28:38 +00:00
Axel Dörfler
94dc3ed625 Added a small test application that opens a desktop window (so that you don't have
to open the whole Tracker everytime for this).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 17:54:34 +00:00
Jérôme Duval
0b64aa6472 hopefully fixed iroster behavior
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 17:14:54 +00:00
Axel Dörfler
4bd3c01eaa _AddChildToList() was very inefficient in case there was a "before" view
specified. Also, it now drops into the debugger in case "before" doesn't
belong to us already.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 15:48:43 +00:00
Axel Dörfler
349837d9c9 Some cleanup in the communication code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 15:47:41 +00:00
Ingo Weinhold
2ae568931f Reworked the way how the gensyscalls stuff finds out about
the sizes and alignments of syscall parameters. It no longer
generates and compiles functions with the same signature as the
syscalls. This simply doesn't generally work for cross-compilation.
Instead we provide a bit of architecture-specific code that knows
how things work for the target architecture.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 12:53:55 +00:00
Alexander G.M. Smith
968748e669 Just a few minutes after checking in, I mentioned it to Japanese expert
Koki and he suggested also including the Japanese comma.  So before I
forget to do it...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 02:07:55 +00:00
Alexander G.M. Smith
45bfb95c2a Truncate overly long URLs to the maximum word length. Convert Japanese
periods to spaces so that more "words" are found.  Fix UTF-8 comparison
problems with tolower() incorrectly converting characters with the high
bit set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 01:37:13 +00:00
Adi Oanca
12aa597dc6 Played a bit :-)
* Introduced WindowLayer::Hide/Show/IsHidden()
* Made ViewLayer::IsHidden() more robust.
* Same with ::TopLayer()
* modified a little ViewLayer::MoveBy() - prepared it to work with
hidden/shown code that will come soon; only calculate dirty regions if a
ViewLayer has a parent, otherwise the move action is pointless.
* Did the same thing with ::MoveBy() except for the parent stuff - no need
for a parent on resizing.




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 17:08:57 +00:00
Waldemar Kornewald
f6ba01da14 Fixed ld reporting too many arguments.
Question about libbind: Why do I have to specify libroot.so in LinkAgainst? And does SharedLibrary not set the dependencies? I had to add Depends libbind.so : ... ;. Ingo, anyone?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 13:36:49 +00:00
Ingo Weinhold
353d20c0c5 * libroot and the runtime loader are no longer built with kernel rules.
* New rule Ld, analogously to KernelLd.
* Added StaticLibrary parameter for supplying additional objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 13:31:50 +00:00
Rudolf Cornelissen
dd42286f73 updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 11:06:37 +00:00
Rudolf Cornelissen
daba3d7f79 bumped version to 0.25. The new primary mga.setting is confirmed to be working as expected (tested R5.0.1 pro).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 11:06:18 +00:00
Rudolf Cornelissen
12069ec410 updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 11:05:21 +00:00
Rudolf Cornelissen
f5d77e0315 bumped version to 0.67. The new primary nv.setting is confirmed to be working as expected (tested R5.0.1 pro).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 11:04:51 +00:00
Rudolf Cornelissen
49a89482a7 added new nv.setting to let the driver force a certain card to be used as primary in a system with multiple cards. The card in question gets a minus (-) before it's actual name so it's listed at the top in the /dev/graphics/ folder. It's a hack, but it's handy to have for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 10:32:08 +00:00
Ingo Weinhold
38f6264454 Reorganized building of kernel, boot loader, and libroot.
Each component is built in the respective subdirectory now
and no longer in src/system/Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 00:27:19 +00:00
Stephan Aßmus
f51806635b stress testing. It shows that for 40 open windows, the newerClipping design takes 3.5 times less time in the root layer thread compared to the newClipping design. On average, it is about 8.7 times faster. The goal of the redesign, to move the heavier computation from the root layer thread into each window thread, seems achieved, since even with 100 open windows, moving a window does not start any lagging. By removing the global dirty region in Desktop, I think this can be further improved.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 00:18:08 +00:00
Axel Dörfler
05644959e1 Commented a very annoying debug message out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 23:37:53 +00:00
Ingo Weinhold
c7b36669c2 Moved bin2h and bin2asm to src/tools/misc (no longer added to the
build). We don't really need them any longer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 23:34:05 +00:00
Ingo Weinhold
eb94488877 Fixed image build broken since revision 15169.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 23:16:20 +00:00
Axel Dörfler
3f5eacff02 Quick and dirty hack to let those font rendering problems disappear - I don't really
know what's going on, but this appears to fix it. And since we'll get a new glyph
layout backend sooner or later, I don't want to mess with that stuff again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 22:26:50 +00:00
Axel Dörfler
a7b93468cc SendMessageToClient() now gives a little more info in case sending failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 20:35:58 +00:00
Axel Dörfler
485b948731 Removed "Active" stuff from Workspaces state.
As a side effect, the desktop is now clickable again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 20:22:30 +00:00
Axel Dörfler
59e89c6052 Fixed a locking bug in the icon cache.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 20:18:36 +00:00
Stephan Aßmus
0036cd5d1b I don't want to promise anything but that fix could have been the last remaining bug. Next up is scrolling then showing, hiding, adding and removing layers during runtime... Maybe the simulation can be extended by drawing animations triggered from the client too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 18:02:13 +00:00
Stephan Aßmus
7241178e3f ViewLayers screen clipping is clipped to the parent bounds, but that is only a partial fix and should be done more elegantly. When moving a window, the part that we could blit is certainly not dirty, the pending dirty region that we drag along is clipped to the new visible region of the moved window
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 17:55:05 +00:00
Waldemar Kornewald
67b376e953 Moved our networking libraries to src/kits/network/compat. We want to have our own, clean libnetwork.so.
TODO: move all public networking headers to some other place (compat or headers/legacy?) and replace the current headers with clean versions from FreeBSD and BIND 9.3.1
TODO: remove R5 target support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 17:36:59 +00:00
Stephan Aßmus
f5552ed0b2 this fixes the bugs in the update session region enforcement during client drawing, there is only one bug left now: resized ViewLayers don't invalidate the correct regions (they don't take areas into account that are hidden because the parent is too small)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 17:01:29 +00:00
Axel Dörfler
df36243372 Now sends B_SCREEN_CHANGED messages to all windows when the screen resolution changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 16:56:52 +00:00
Axel Dörfler
6e9ab86fc5 Added a ColorSpace() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 16:55:23 +00:00
Axel Dörfler
26b02ddc80 The input_server is now notified when the screen resolution is changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 16:22:06 +00:00
Axel Dörfler
b635c022cb Don't check if the requested display mode is in the mode list - just ask the
graphics add-on if it can handle it.
This fixes setting the screen resolution natively. Unfortunately, that's not
all (the input_server still constraints the cursor position to the previous
resolution...). Also, there is apparently no B_SCREEN_CHANGED sent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 15:52:22 +00:00
Stephan Aßmus
987aa5e4d4 remaining bugs are with update session region tracking and dirty regions when layers are moved and resized, the window clipping itself seems to work reliably now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 15:22:35 +00:00
Stephan Aßmus
27b740633e one bug fixed, three more to go
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 14:51:35 +00:00
Stephan Aßmus
cfc40fb337 make client drawing slow again, made client drawing use B_OP_BLEND which shows problems with incorrect clipping during update sessions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 14:33:26 +00:00
Stephan Aßmus
7f705589e2 still buggy but less buggy than before, more caching and less overhead
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 14:07:44 +00:00
Axel Dörfler
773be69904 Fixed AppFileInfo::_ReadData(): it was always returning B_BAD_VALUE in case
it read the data from attributes.
Deskbar should now display all those application icons under Haiku as well :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 13:50:29 +00:00
Stephan Aßmus
ff89d51e02 * adds drawing commands from clients
* adds concept of a current and a pending update session
* marks dirty views being resized or moved

Some aspects of the design are buggy, others are slow, but I'm
approaching a good overview of what's needed and what problems
lurk in the details. In the end I hope to make things work fast
and correctly at all times. Adi or anybody else, feel free to
join the efforts.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 00:13:34 +00:00
Rudolf Cornelissen
a5b2cf2829 added new mga.setting to let the driver force a certain card to be used as primary in a system with multiple cards. The card in question gets a minus (-) before it's actual name so it's listed at the top in the /dev/graphics/ folder. It's a hack, but it's handy to have for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 21:57:11 +00:00
Axel Dörfler
7c6865642c * Don't trust a message that we got goes to a handler that belongs to us.
* when we terminate gracefully and in the looper's thread, we no longer
  unlock ourselves.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 21:06:37 +00:00
Axel Dörfler
84081467b9 Don't trust the app_server that the view token under the mouse belongs to the
current looper.
This needs an investigation in the app_server, as that probably shouldn't happen?
(well, I wrote that part, I should know better)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 20:32:09 +00:00
Axel Dörfler
8eb8269db6 * Fixed broken CodeConv semantics (missing length parameter).
* No longer writes to the message data from clipboard.
* some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 17:57:52 +00:00
Axel Dörfler
498cd44c3a Quick fix to prevent the terminal from crashing in case it got a message
with mouse coordinates outside the window (yeah, it has been written
that bad).
Need to rewrite the whole mouse handling, though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 16:20:32 +00:00
Axel Dörfler
39b345c7b6 Added temporary hack so that windows don't get mouse messages if the cursor
is not over them - this should be better integrated with the rest of the
code (later, when we don't rely on RootLayer for everything anymore).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 16:11:19 +00:00
Axel Dörfler
fa2c53ed52 Added very simple and annoying profiling mechanism to ServerWindow's message
processing (enabled when PROFILE_MESSAGE_LOOP is defined).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 15:35:47 +00:00
Axel Dörfler
a77d29375c Put a small TODO into the file: apparently, color_distance() does bad things for
Qemu - the loop to initialize the system color map takes two seconds over here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 15:32:40 +00:00
Axel Dörfler
c3b8f9f69a Added a very simple "code_to_name" utility that will print out the name of
an app_server code. It's always up-to-date as it just reads the header
directly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 14:53:34 +00:00
Axel Dörfler
67e79bf45a A message looper can now have a death semaphore, ServerWindow now uses them.
ServerApp now waits up to 3 seconds for windows before killing them - it now
waits on the death semaphore, and only kills a window if it didn't quit fast
enough.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 13:49:29 +00:00
Axel Dörfler
85d981378a Quick fix for our broken locking model:
The mouse filter needs to lock RootLayer, but the event dispatcher lock is held
during that time, too, so that the focus cannot change in the mean time.
On the other side, ServerWindow needs to lock the event dispatcher when adding
or removing a listener, or for AS_GET_MOUSE - but since it always helds the
root layer lock during message dispatching this easily resulted in a deadlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 12:50:21 +00:00
Axel Dörfler
2bea891d75 Debug output change: vm_page_fault() doesn't kill the team anymore, it just
sends a SIGSEGV signal (and lets the debugger handle the rest).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 12:43:14 +00:00
Axel Dörfler
ecf2e38db2 Reset last_acquirer in case the semaphore gets released.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 12:34:54 +00:00
Axel Dörfler
9240f51352 Fixed a major oversight in the interrupt handling: when a user space
application got interrupted, thread_at_kernel_exit() was called - but
that expected interrupts to be enabled for signal handling.
However, only exceptions 3 (breakpoint) and 99 (syscall) are trap
gates, and thus, only those actually had interrupt enabled at that
point.
If a KILL signal was pending when a hardware interrupt interrupted a
user space thread you were entering KDL before ("acquire_sem() called
with interrupts turned off").
Thanks to mouse interrupts I finally got this often enough to find
this...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 12:26:56 +00:00
Axel Dörfler
147bfa2a75 Renamed the port where app_server messages are received from "w_rcv_port" to "w<app_server"
to match the name of the application's port for that task.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 12:20:56 +00:00
Axel Dörfler
887f41e646 Minor improvement for the Dano message reader test application (forgot to check that in earlier).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 12:19:08 +00:00
Axel Dörfler
de8aa714cf Adds two more applications to the test environment: Screen and Workspaces.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 12:17:39 +00:00
Rudolf Cornelissen
8ecb075238 shortened driver logfile name. It was too long for my taste.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 08:49:44 +00:00
Rudolf Cornelissen
79917d55b6 shortened driver logfile name. It was too long for my taste.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 08:48:08 +00:00
Rudolf Cornelissen
e3712b7f27 shortened driver logfile name. It was too long for my taste.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 08:46:30 +00:00
Stephan Aßmus
23f32b1552 corrected and cleaned up coordinate conversion. conversion from or to parent coords doesn't actually require a parent, directly using fScrollingOffset, uses less stack memory now and should be faster (especially when converting regions, because those were offsetted twice)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 21:23:33 +00:00
Stephan Aßmus
0cf04412be please forgive me (next check in when I really coded new stuff)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 21:04:46 +00:00
Stephan Aßmus
420b55f261 fixed the frame buffer version for real
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 21:01:49 +00:00
Stephan Aßmus
935510ce32 fixed build of frame buffer version
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 20:56:53 +00:00
Stephan Aßmus
0b78f37e8e * a bit more sophisticated
* now with actual view layers inside the windows
* implemented the resize modes (from Adis code)
* windows have resize handles and more correctly
  clip the views inside
* bringing windows to front or sending them behind all others
* one active window, the others are inactive
* with and without focus follows mouse mode

* bugs:
  - the region marked dirty when views are
  resized is not correct yet

* todo:
  - move the dirty region from being managed by the
  desktop to being managed in each window (and being
  local too)
  - scrolling
  - hiding/showing of windows and views

I plan to extend this to fully simulate asynchronous
drawing from clients, to see any problems before
using this in the real server one day.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 20:49:30 +00:00
Axel Dörfler
1863b5b6a4 Removed the "owner" stuff from Layer - it already knows its window.
Layer no longer knows anything about its subclass WindowLayer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 17:59:49 +00:00
Axel Dörfler
be2f498e8a Forgot to commit Jamfile for the test environment...
Should have been in r15128.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 17:58:33 +00:00
Axel Dörfler
14e1abfe7d Made Layer::_AllRedraw() virtual so that it doesn't need this ugly hack to
send _UPDATE_ messages (WindowLayer now overrides that method).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 17:54:14 +00:00
Axel Dörfler
4b813bf267 Renamed WinBorder to WindowLayer, and OffscreenWinBorder to OffscreenWindowLayer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 17:45:26 +00:00
Axel Dörfler
2430abdd9a Some minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 17:12:32 +00:00
Axel Dörfler
0a9634a6f4 Minor cleanup: removed unused stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 16:55:17 +00:00
Axel Dörfler
860c144735 No longer checks if there is already a "be:transit" item in the message;
there should never be one (at least not a valid one).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 16:39:19 +00:00
Axel Dörfler
5604d3c9ce * _DetermineTarget() will now return fLastMouseMovedView in case there
was no valid "_view_token" in the mouse event.
* _SanitizeMessage() will now only add the "be:transit" field for
  B_MOUSE_MOVED messages. It will also now only update fLastMouseMovedView
  for B_MOUSE_MOVED messages, and not for all mouse messages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 16:25:41 +00:00
Axel Dörfler
5afc064831 In anticipation of Stippi's new clipping code, I refactored the EventDispatcher
a bit:
* listeners are now managed per target (ie. per messenger) (by the Target class)
* therefore, the fFocusTokens/fLastFocusTokens lists are no longer needed; every
  Target knows its listeners already.
* this also fixes the obvious bug that the focus window's views would get both
  keyboard and pointer events, no matter which of them they originally wanted.
* renamed event_target to event_listener (there was actually a mix up in naming
  before - to the outside it was "listener", and internally, "target" was used)
* WinBorder::MouseMoved()/MouseUp() now also add the view token to the message;
  the messages weren't received by the target before (unless the view used
  tracking via BView::SetMouseEventMask()...) - maybe the client should only
  update fLastMouseMoved on B_MOUSE_MOVED events, and direct B_MOUSE_UP/DOWN
  (plus wheel changes) always to fLastMouseMoved...
* some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 16:04:29 +00:00
Rudolf Cornelissen
7c3f704498 now also rom image files dumped have the hardware ID's and location in it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 15:47:59 +00:00
Rudolf Cornelissen
48853da83f now also rom image files dumped have the hardware ID's and location in it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 15:43:27 +00:00
Rudolf Cornelissen
0e5a68cd89 moved a define to shared_info for logging update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 15:18:05 +00:00
Rudolf Cornelissen
21ef619eff modified logging file name. Now the name incorporates the same name the kerneldriver exports for a device so logging multiple active graphicscards becomes possible on one system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 15:17:21 +00:00
Rudolf Cornelissen
e33ce45ebf added more PCI bus related info for graphicscard: needed for logging update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 15:05:41 +00:00
Rudolf Cornelissen
ddb22696d9 modified logging file name. Now the name incorporates the same name the kerneldriver exports for a device so logging multiple active graphicscards becomes possible on one system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 15:04:47 +00:00
Axel Dörfler
5d29bfa5fa * Moved change_winBorder_feel() into GoChangeWinBorderFeel() and removed the former.
* Renamed GoChangeWinBorderFeel() to ChangeWinBorderFeel().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 13:26:26 +00:00
Axel Dörfler
bde8b9c6e0 * Layers are now put into an application wide token space that mirrors the
client's token space.
* finding layers by token is now O(1) instead of O(n) (as they are looked
  up in the token space).
* removed Layer::FindView() as it's no longer needed (or should be used).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 13:14:49 +00:00
Stefano Ceccherini
a2a5442d81 minor cleanup, changed some variables into constants
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 13:10:03 +00:00
Axel Dörfler
45d4256f2d Added a BTokenSpace::SetToken() to assign a specific token.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 13:00:06 +00:00
Axel Dörfler
46b7964e5c Got rid of "cnt" debugging stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 12:22:55 +00:00
Axel Dörfler
343e4ff465 Got rid of fAdFlags whatever that was meant to be.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 12:21:07 +00:00
Axel Dörfler
5ed0556236 * Got rid of the frightening Layer::fCurrent/RootLayer::fWinBorderIndex as well as
NextChild() and PreviousChild() - the current WinBorder list is now rebuilt on every
  change; this is not perfect, and only a temporary solution (but cleaner than the
  previous one).
* Introduced Layer::PreviousLayer()/NextLayer() methods that return the previous resp.
  the next sibling.
* Moved {show|hide}_winBorder() into {Show|Hide}WinBorder() and got rid of the former.
* Renamed Layer::fServerWin to fWindow.
* removed some unused stuff, minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 12:19:11 +00:00
Rudolf Cornelissen
db6ede836c essagerewrote DPMS code: simpler, cleaner and prevents visible 'trash' during driver-init.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 12:14:57 +00:00
Rudolf Cornelissen
db42d8ec02 driver can now run without (useable) INT assigned. Bumped version to 0.24. Updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 11:20:22 +00:00
Rudolf Cornelissen
8fe19e2fbc driver can now run without (useable) INT assigned: VBlank semaphore automatically enabled/disabled upon findings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 11:19:21 +00:00
Rudolf Cornelissen
c484bc2197 simplified and fixed overlay capability reporting code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 11:14:49 +00:00
Stephan Aßmus
bef1ed93e1 Adi and I have had long talks about better approaches to clipping and we are convinced that a different design can significantly speed up the clipping processing in the root layer thread. This is a first prototype implementing the new ideas. Lots of features are missing yet, but Adi asked me to commit it now, so that we can both continue to work on it. The purpose of the new design is to significantly reduce the computations during an atomic clipping update, and also to scale much better with many more open windows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 09:45:28 +00:00
Philippe Houdoin
b8c43bc75e Fixed building libGL.so for non haiku targets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 05:21:04 +00:00
Philippe Houdoin
49af301b35 Fixed build for non haiku targets.
Added dummy support for glutKeyboardUpFunc(), glutSpecialFunc() and glutJoystickFunc().
To be implemented later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 05:11:01 +00:00
Alexander G.M. Smith
69135e1c54 Added better tokenization so that HTML is parsed and things like tags
between letters of a word no longer hide that word.  After testing,
the result seems to be a tighter spread of ratings when done in full
text plus header mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-24 04:17:00 +00:00
Axel Dörfler
5a67ef6634 Removed broken Layer::LayerAt() semantics (for recursive == false),
and introduced a RootLayer::_ChildAt() that is used instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 22:01:49 +00:00
Axel Dörfler
a8d44b6fea Quick fix for the broken focus changing I introduced earlier.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 21:52:36 +00:00
Rudolf Cornelissen
bb4de4057b leftover from original obos CVS import. nolonger needed. (thanks Ithamar for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 20:09:11 +00:00
Axel Dörfler
7df07b24d3 Nice if an experienced problem matches a bug in the implementation that
closely: Inode::WriteAt() didn't call Inode::WriteBack() in case the
file size was enlarged - it was only written in case the file was closed
which a) could have not happened because of a crash, and b) would move
the change into the wrong transaction, and could therefore result in
an incorrect update, as seen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 18:52:17 +00:00
Axel Dörfler
2b028fcaa0 Removed one TODO from the list: in case pages_io() fails, read_chunk_into_cache()
will no longer panic, but free its allocated pages.
I ran into this because BFS managed to create a file without data stream but
with a length larger than 0...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 18:36:38 +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
Axel Dörfler
8643b0987c All controls/views now accept NULL arguments for "width" and "height" in GetPreferredSize().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 17:29:39 +00:00
Axel Dörfler
f97761575a * GetPreferredSize() now accepts NULL arguments for "width" and "height"
* use GetFontHeight() instead of: BFont font; GetFont(&font); font.GetHeight(...)
* fixed odd unarchiving of the alignment.
* cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 17:28:18 +00:00
Axel Dörfler
a8c4b88de4 * Fixed issues like not calling the inherited virtual or calling the wrong one.
* Applied coding style.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 17:13:01 +00:00
Axel Dörfler
43ca776563 * applied the logic from BWindow::task_looper() to BLooper as well (messages to
invalid target handlers are dropped).
* B_PREFERRED messages now go to the looper if there is no other preferred handler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 16:25:30 +00:00
Axel Dörfler
6450b76dd4 Next big step in the event handling:
* RootLayer's mouse event processing is now at its minimum - the
  EventDispatcher handles them now. As a result, a window will now
  get only one message per event.
* RootLayer adds "_view_token" to mouse moved messages that specify
  the view currently under the cursor.
* There is now a mouse event layer in RootLayer that gets preferred
  when it's set - this is now used for the window moving instead of
  the previous mechanism.
* changed the previous DistributeMessage() to an UnpackMessage()
  method following Adi's suggestion.
* caveat: some things might be functionally broken in RootLayer now
  because of removing the mouse notification stuff.
* "be:transit" handling is now done completely client side by
  BWindow::_SanitizeMessage(() (similar to what the input_server does).
  This should also make the mechanism pretty robust, since every
  B_MOUSE_MOVED message can now trigger the view transit (in case a
  message is lost). B_WINDOW_ACTIVATED messages should be generated
  client side as well.
* renamed AS_LAYER_GET_MOUSE_COORDS to AS_GET_MOUSE as it's not a
  layer specific command, and also gets the mouse buttons.
* B_MOUSE_* messages from the up server now contain only a "screen_where"
  field; "where" (in window's coordinates) and "be:view_where" are
  added in BMessage::_SanitizeMessage().
* messages that don't have a valid target in the looper are now
  dropped instead of being sent to the looper - this should be done
  in BLooper as well, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 15:17:58 +00:00
Axel Dörfler
8196fa8da4 * now accepts NULL arguments for "width" and "height" in GetPreferredSize()
* minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 14:51:01 +00:00
Axel Dörfler
6338e9da5d Fixed RemoveMessage() I broke before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 14:42:33 +00:00
Axel Dörfler
876a3803df * removed adding "be:transit" stuff in the EventDispatcher - this is now only done
client side (or will be, with the next commit).
* added GetMouse() functionality.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-23 11:27:09 +00:00
Rudolf Cornelissen
317806623e Added MMS (multihead cards) support by using primary adaptors BIOS for all cards. Confirmed a G200MMS working OK on all four heads with the Be test harness application. That's one card with four G200 GPU's on it! (thanks Cale Lewis :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 21:12:13 +00:00
Rudolf Cornelissen
df84e0383c Bumped version to 0.23
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 21:10:17 +00:00
Axel Dörfler
85606ee1de Fixed DetachCurrentMessage():
* the current message is not part of the queue when it's dispatched, so it
  doesn't make any sense to try to remove it.
* it's only to be called during message processing - and at that time, the
  looper is locked, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 20:52:36 +00:00
Axel Dörfler
b361534e3c Filter out some fields in the message that we may set ourselves.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 20:34:02 +00:00
Stephan Aßmus
bbbe5a3329 of course, GetPreferredSize() is defined void
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 19:17:12 +00:00
Stephan Aßmus
45b013192a fix crashes when the text pointer is NULL, this lets you for example pick a background image with the Backrounds preflet, though it doesn't work further down
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 19:02:56 +00:00
Rudolf Cornelissen
605636b672 added 512Mb memory detection.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 14:57:12 +00:00
Rudolf Cornelissen
f0feff006f test commit..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 14:38:24 +00:00
Axel Dörfler
bf9979bdaa This should fix the build of libroot.so, patch by Korli.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 14:16:20 +00:00
Axel Dörfler
b095201503 * changed the way a message is forwarded to the focus view (instead of adding
a suspend focus field to the message, there is now a "feed focus" field in
  case the message should be forwarded).
* added a comment to the BPoint version of _FindView() (since it's broken)
* _DistributeMessage() is now called after _DetermineTarget() - so that it
  can prevent sending the message twice to the focus view.
* removed BWindow::DoUpdate() as it's no longer used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 12:49:35 +00:00
Axel Dörfler
8e51bdd43f This works around a sporadic crashing bug - I didn't really fixed the bug, just
its symptoms. I guess this piece of code could need some documentation...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 12:38:50 +00:00
Jérôme Duval
ef0635bd49 added some more glibc functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 21:41:39 +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
Axel Dörfler
b360ada4bd If a handler passes a BMessage on to the next handler, it will now make sure
its filters are taken into account.
It will also filter out messages in case the filter targeted the current handler
again - note, this is not really a good solution, as ideally, all previous handlers
must be ignored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 17:02:56 +00:00
Axel Dörfler
14d02d22f6 Huge cleanup and fixes:
* attachView() is now called _CreateSelf() and creates the app_server
  view counterpart for itself, and no longer for a child view.
* removed superfluous deleteView().
* moved drawing from BWindow::DoUpdate() to BView::_Draw().
* made the recursive hook call functions consistent.
* fixed BWindow::DispatchMessage() to send public messages to the intended
  target (instead of always handling them itself directly).
* DispatchMessage() no longer eats unmapped key events that were targeted
  at the window directly.
* B_KEY_DOWN and B_KEY_UP events are now send to the target view as well
  (this couldn't work before as BMessages were broken with B_PREFERRED_TOKEN).
* the default button is now correctly targeted by BWindow::_DetermineTarget()
  (previously, the enter key was hacked to get through via _HandleKeyDown()).
* removing a view now also makes sure it won't have focus any longer.
* also, the DetachedFromWindow() hooks are now called first, so that any
  changes made there cannot mess up our window anymore.
* removed BView::SetPattern(); _UpdatePattern() now does its job.
* renamend private methods to match our preferred style.
* removed unused methods and variables.
* more consistent naming overall.
* removed _PR3_COMPATIBLE_ stuff - there is definitely no need for us to be
  compatible to that one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 16:58:36 +00:00
Axel Dörfler
2c5ab65d23 * fPreviousText can be NULL for views that don't have focus (ie. by using SetEventMask()).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 16:42:20 +00:00
Axel Dörfler
82d8744887 * now all event targets of the focus window get into the focus list - that
way, we always send only one message per event, no matter how many targets
  there are in the window (the focus event list was not always maintained
  correctly before, too).
* the current mouse filter eats all B_MOUSE_UP events, and therefore, the
  temporary event targets were never removed.
* changed the way BWindow::_DistributeMessage() recognizes if it should forward
  the event - not yet final, though.
* naming is now more consistent (events -> event_mask).
* some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 16:25:23 +00:00
Axel Dörfler
3cace414ad Removed run_task(), as it's not really needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-21 12:35:30 +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
Axel Dörfler
e489029756 * made the dano and r5 message more similar to use (naming).
* coding style changes to structure naming.
* but no bug fixes yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 22:24:03 +00:00
Axel Dörfler
5232a619c1 Fixed build, sorry again - sure, with a commit that big, I just had to mess it up :/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 21:19:55 +00:00
Rudolf Cornelissen
cb44181d5b updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 20:47:08 +00:00
Rudolf Cornelissen
84cbe0e39f added preliminary DPMS support for laptop panels (disabling/enabling backlight). Not for NV11 though, and only if no external DVI panel is connected to a supported laptop. Please note: this feature can possibly be extended for NV11 and external panels if enough feedback (logfile) gets to me. If the driver/screen nolonger works for someone please let me know as well. Bumped version to 0.66.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 20:46:17 +00:00
Axel Dörfler
8fe493128f * Added swapped endian type codes for the R5 and Dano message readers.
* when Unflatten() encounters an unknown message format, it will now return
  B_NOT_A_MESSAGE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 17:28:24 +00:00
Axel Dörfler
51a16ce830 No longer needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 17:26:25 +00:00
Axel Dörfler
4c57bd573e Fix for compilation with the new messaging code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 17:20:19 +00:00
Axel Dörfler
9e2023b10b * Fixed sending/receiving "use preferred handler" messages - it simply didn't
work before.
* Removed the private header fPreferredTarget field.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 16:58:34 +00:00
Axel Dörfler
4ceb1e519c * reverted Adi's premature changes to BWindow and restored _DetermineTarget() and
task_looper() again.
* removed BMessenger::fPreferred - whenever you had to specify "usePreferred" separately,
  you don't have to do that anymore - use B_PREFERRED_TOKEN instead.
* fixed BTokenSpace::GetToken() semantics: it will no longer touch the "object" argument
  in case of failure.
* Introduced a BWindow::_DistributeMessage() that will be part of the event dispatcher
  counterpart to the app_server (the other will be _DetermineTarget()).
* Made it easier to use Michael's Message4 implementation: just add the following line
  to your UserBuildConfig:
	AppendToConfigVar DEFINES : HAIKU_TOP src : USING_MESSAGE4 : global ;
* Introduced ServerWindow::HandlerMessenger() and FocusMessenger() - the first will
  target the client handler, while the other will target the preferred handler of the
  client looper (usually the view having focus).
* Fixed dano message unflattening in the Message4 code.
* Changed BMessage::PrintToStream() to no longer use macros in the Message4 implementation.
* I hope that's all - it's a huge change, but it's all connected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 16:24:23 +00:00
Axel Dörfler
26e09e5870 Small fix: didn't make sure the previous focus was still part of the window.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 16:13:52 +00:00
Axel Dörfler
4aeff099bf * Removed all *Ptr types (and just use pointers to the type instead).
* minor style guide changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 16:12:38 +00:00
Axel Dörfler
d1071ff01b Removed Utils.cpp - it's not really useful anymore.
Note, I temporarily kept the Utils.h in, because I have other local changes to be
committed soon (sorry for this, but it shouldn't harm).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 16:09:16 +00:00
Axel Dörfler
ae3ba51fc1 Some minor fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 16:03:11 +00:00
Axel Dörfler
ece36066af Removed third argument from calls to ServerWindow::SendMessageToClient() - it's predefined
to "false" anyway, and will be removed shortly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 15:52:48 +00:00
Stephan Aßmus
b223f78041 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
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 15:10:18 +00:00
Jérôme Duval
3ce6b663e6 Report from NetBSD emuxki driver:
"Add some byteswap ops around DMA descriptors for big endian machines."


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 13:21:04 +00:00
Rudolf Cornelissen
742677072f panel distinction type logging update: it turns out on 'std' NV11's (at least) this can't be done (card hanging afterwards). No more trouble over here now. Laptop owners are encouraged to run the driver with logging enabled and send me the logfile! NV11 laptop owners please contact me for a recompiled binary to test this: I need info to be able to activate DPMS for laptops...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-20 12:10:48 +00:00
Adi Oanca
ace01f864b Removed BWindow::_DetermineTarget(). BWindow's task_looper() just calls BLooper's one. Took Message4 stuff from BWindow's task_looper() and put it in BLooper::task_looper() - guess this is wanted...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 21:44:51 +00:00
Adi Oanca
2899b880f6 Uncommented a correct piece of code. B_FRAME_RESIZED/MOVED are sent more accurately. Renamed AddToViewsWithInvalidCoords, SendViewCoordUpdateMsg into _AddToViewsWithInvalidCoords, _SendViewCoordUpdateMsg.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 21:16:57 +00:00
Adi Oanca
8e81fc4919 Some cleanup. Removed do_Hide, do_Show and do_CopyBits
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 18:25:27 +00:00
Adi Oanca
0139f287b4 Following recent changes (Axel's token stuff or Message4 impl) I could not launch a single application/window in app_server. This fixes the problem. Note I always test with DEBUG=1. Am I the only one who had this problem?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 16:22:39 +00:00
Axel Dörfler
17de8ec214 GetToken() is supposed to always set the _option argument - not only on success.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 16:19:45 +00:00
Rudolf Cornelissen
6cf8a89e4b added preliminary LVDS/TMDS distinction code (just logging for now). BTW New acc is reported OK on all previous supported cards sofar, and 7800 is reported very fast :). Also some previous (sometimes) malfunctioning 6800's are now working better.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 13:48:36 +00:00
Axel Dörfler
d081112cb7 * removed tokens are no longer put on a stack and reused - every token is only
used once now. If tokens were reused, you could eventually target the wrong
  (but valid again) messenger.
* removed unused stuff (like GetList()).
* some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-19 00:46:44 +00:00
Ingo Weinhold
3843df8eba Don't use host include options with the target compiler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 23:23:04 +00:00
Ingo Weinhold
29306dbe81 Host platform gcc 4 fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 22:29:31 +00:00
Axel Dörfler
55d6d70ee5 * EventDispatcher::AddListener() now honors the BView semantics and will only
update the options in case the specified eventMask was zero.
* Added missing EventDispatcher::RemoveTemporaryTarget().
* Layers setting their event mask are now added to the EventDispatcher.
* The RootLayer is no longer contacted for SetEventMask() - it still handles
  SetMouseEventMask(), tough - as a result, SetEventMask() temporarily doesn't
  work anymore.
* Added Layer::ViewToken() method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 15:50:30 +00:00
Axel Dörfler
4ad46aa954 Made BMessage::GetInfo() pointer arguments optional (ie. passing NULL doesn't
cause a crash anymore).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 15:35:38 +00:00
Ingo Weinhold
63ea9a2870 Missing "using std::nothrow".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 14:20:38 +00:00
Axel Dörfler
6b95c59bd8 Renamed myRootLayer variable to rootLayer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 13:56:35 +00:00
Axel Dörfler
fa26723bb2 * Moved workspace keyboard switch and dump screen capability from RootLayer
into a Desktop keyboard filter.
* Removed keyboard handling code from RootLayer and Layer.
* Renamed Desktop::ActiveRootLayer() to RootLayer() as there is only one
  root layer per desktop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 13:51:32 +00:00
Axel Dörfler
f68598780e * the keyboard events are now using the new EventDispatcher, B_KEYBOARD_EVENTS don't
work yet, though, as the dispatcher is not yet notified about those.
* no more mouse cursor jumping - the cursor will now start in the middle of the screen;
  this should be part of the initial input_server handshake, though.
* ServerWindow can now return a BMessenger of its client window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 13:21:07 +00:00
Axel Dörfler
8d8f5950d0 Some cleanup, mostly GetHWInterface() to HWInterface().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 12:26:20 +00:00
Axel Dörfler
b43c728310 Fixed build of the fake_app_server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 12:21:15 +00:00
Axel Dörfler
7a67c93f8e Turns out B_RELEASE_ALL just works as expected - it was a deadlock by design; when the
cursor thread didn't call acquire_sem() fast enough, it would never get released by
B_RELEASE_ALL (as that only releases all waiting threads), and thus, waited forever
for the semaphore to be released again.
On the other side, the input_server didn't call release_sem() anymore, since the
cursor thread still didn't read out the data after the last release...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 12:04:28 +00:00
Axel Dörfler
1b120ea94a Turns out there were a couple of problems:
* RootLayer still set the mouse cursor...
* mixed up "x" and "y" in the cursor thread
* but that didn't get noticed, as B_RELEASE_ALL doesn't seem to work
  (will look into that next)!

The cursor finally works as good as expected in Qemu :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 11:50:34 +00:00
Axel Dörfler
f759822327 * the new input event dispatcher is now actually used, although it doesn't
distribute any messages to the clients yet.
* removed the working thread from RootLayer - for now, its event handlers are
  still called using input filters in the new event dispatcher, though (to
  get things started).
* ServerApp is now using a BMessenger to identify its client, and no longer
  stores the port/token separately.
* the input_server handshake is a bit simpler now, as it can now just reply
  to the app_server message, removed unused code from ServerProtocol.h
* calmed down the MultiLocker (it always printed thread statistics on startup,
  because it's compiled in debug mode).
* removed the cursor thread stuff from AppServer.cpp
* the new event dispatcher now uses a cursor thread when supported (only in
  native mode, not in the test environment), although it improves cursor
  movement under Qemu, the effect is not as good as expected - this might
  need some more investigations (might just be a thread priority problem).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 11:30:06 +00:00
Axel Dörfler
b9e43e2c12 Just another manager - not yet used, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-18 09:43:37 +00:00
Ingo Weinhold
65f512e089 Fixed gcc 4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 22:53:30 +00:00
Axel Dörfler
d8e2fb507a Some cleanup:
* fixed all warnings.
* moved functions from the header into the source file.
* added a TODO about the incorrect usage of BFont::Size() as font height
  in pixel!!
* renamed some stuff to match our style guide a bit better - could need
  some more work here, it's still pretty messy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 22:10:58 +00:00