Commit Graph

14678 Commits

Author SHA1 Message Date
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
b0994d7e75 added field for primary card's name in shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 10:32:40 +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
74f85acd35 Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 23:25:29 +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
Ingo Weinhold
e3c1eb20cf Removed superfluous AddDirectoryToHaikuImage invocations.
Add{Files,Symlink}ToHaikuImage do that anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 22:58:40 +00:00
Axel Dörfler
b7a6acd4ce Added a symlink from the Desktop to the user's home directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 22:29:29 +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
560fa51713 * fixed AddSymlinkToHaikuImage usage for more/less - we have both back again :)
* added home/config/be folder, and added symlinks to /boot/beos/apps and
  /boot/beos/preferences to it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 22:04:33 +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
a40e885b9d added field for primary card's name in shared_info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-25 21:57:56 +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