Commit Graph

250 Commits

Author SHA1 Message Date
Stefano Ceccherini
ecef598e73 Added a window creation speed test. Can test empty windows or windows
with BBoxes within.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-04 14:10:40 +00:00
Axel Dörfler
4c751e51c8 Added a test application to investigate how BeOS deals with keyboard input
in menus - the application will crash as soon as you open the "Crash" sub
menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-02 12:02:57 +00:00
Axel Dörfler
95741c2a49 Added a test case for SetMouseEventMask() as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 00:18:32 +00:00
Axel Dörfler
ffdeb47b94 Imported B_NO_POINTER_HISTORY test app from bug #1415, applied our coding
style, cleaned it up, and made it a bit more evident.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-20 22:46:34 +00:00
Stephan Aßmus
2222864eed * complete overhaul of the font/glyph caching
* the previous AGG implementation is superfluous
* the new implementation is based on that one, but in a way that allows
  read/write locking to the list of cache entries (fonts) as well as
  read/write locking to the cached glyphs per individual font cache entry
* new GlyphLayoutEngine.h, which is to be the central place for layouting
  glyphs along the baseline.
  It handles the locking for getting the font cache entries.
  It works by giving it a template class GlyphConsumer which does the
  actual work.
* changed AGGTextRenderer to use the new font cache
* changed ServerFont::StringWidth(), and the bounding box stuff to use it
* changed DrawingEngine, it doesn't need the global font lock anymore
* our BFont thought that GetBoundingBoxesAsGlyphs and GetBoundingBoxesAsString
  is the same, which of course it isn't, hence the two separate functions...
  AsGlyphs just gets the bounding box of each glyph in a string, not treating
  the string as an actual word
  AsString adds the offset of the glyph in the word to the bounding box
* changed ServerProtocol.h accordingly for the different bounding box meaning


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 19:10:38 +00:00
Stephan Aßmus
d22f48c908 * fix the build of the app_server test environment (libbe_test) after
the change to the nodemonitor syscall


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 16:23:49 +00:00
Stephan Aßmus
67f3be42b0 * added ProfileMessageSupport.h/cpp to translate server message codes to
a string
* fixed profiling of message processsing in ServerWindow (didn't take batch
  processing into account)
* accelerated ViewLayer::RebuildClipping() by a factor of two by avoiding
  BRegion::Exclude(clipping_rect) for each child, and instead building
  one region with all children, and excluding that. RebuildClipping() is
  quite a common operation and is quite slow for views with many children


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:59:05 +00:00
Stephan Aßmus
fd5d46e099 * separated FontStyle and FontFamily into different .h/cpp, before they shared
FontFamily.h/cpp (just for the reason that this is how we do it mostly
  everywhere)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:48:06 +00:00
Ingo Weinhold
3111f163b5 Fixed libbe_test build of app server:
* Added <safemode.h> headers.
* Added a failing _kern_get_safemode_option() to libhaikucompat.a.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-06 19:29:41 +00:00
Ingo Weinhold
45bf6259ad Fixed libbe_test app server build. ServerPicture.cpp uses the storage kit
private OffsetFile.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:27:33 +00:00
Ingo Weinhold
1acbe440b8 Removed the obsolete second argument ("relpath") of the Addon rule and
shuffled "isExecutable" to the end. The new order favors the common use
cases. Adjusted all Addon invocations and while at it also removed
separate LinkAgainst invocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-07 01:27:19 +00:00
Ingo Weinhold
c392233749 Fixed RosterShell build for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 11:26:48 +00:00
Ingo Weinhold
ef9c618c66 The RosterShell can be compiled for all BeOS compatible platforms.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 13:05:30 +00:00
Ingo Weinhold
adc44678a3 Added simple "launch" command to the roster shell.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 13:04:26 +00:00
Ryan Leavengood
908b5c2034 Removed the dependency in the registrar on an input_server header file which I
had previously inroduced. It is not needed anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-14 07:07:30 +00:00
Stephan Aßmus
264fe59ded * introduced IntPoint and IntRect, which are just like BPoint and BRect,
but use integer coordinates. These are now used in ViewLayer for the
  coordinate system (layout, scrolling offset, view bitmap layout)
* modest performance improvements by inlining some very often used
  methods, and by preventing to go down the entire layer tree too often,
  for example InvalidateScreenClipping was always called in the deep
  mode, therefor it is save to assume that the tree does not have to
  be traversed as soon as the clipping is already invalid


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-29 03:20:07 +00:00
Stephan Aßmus
c26c0b24e5 * fix build of the haiku_registrar in app_server test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-18 07:18:00 +00:00
Stephan Aßmus
d4962719c6 * updated script
* added test for copy bits when the view has children


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-26 14:13:51 +00:00
Stephan Aßmus
778e3c640d * just an update to my local playground
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-26 14:11:39 +00:00
Stephan Aßmus
064ad96310 * removed another local and obsolete test from the jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 09:42:48 +00:00
Stephan Aßmus
98bad22a2b * fixes build... completely forgot about this one :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 09:40:49 +00:00
Stephan Aßmus
9813f97ff9 added a test showing the R5 bug that ignores the internal coordinate
system given by BBitmap::Bounds() when drawing bitmaps (Haiku copies
this bug)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 09:32:48 +00:00
Ingo Weinhold
2c38311d40 * Fixed libbe_test build for install-test-apps. A few changes are not
in my branch, but in the main trunk. That should do no harm though.
* Made LayoutTest1 build for libbe_test and added it to the
  install-test-apps target.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-30 13:48:36 +00:00
Stephan Aßmus
ef355aa493 nice to have on BeOS as well...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-23 12:29:01 +00:00
Axel Dörfler
d7424bc790 Fixed build of the test environment as reported by Stephan.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-28 11:09:48 +00:00
Axel Dörfler
0ac013e66f * Some refactoring: renamed OverlayCookie to Overlay and put it in its own
source file.
* An overlay is now also hidden in case its is removed from the window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-23 15:45:35 +00:00
Stephan Aßmus
dd98ed8dfc * implemented view bitmap options (B_BITMAP_TILE...) in
ViewLayer (for example, fixes NetPositive rendering
  HTML with a background image)
* use BRegion pool everywhere in ViewLayer
* WindowLayer update sessions distinguish between
  different reasons for the update: exposed and requested -
  on expose updates, the view backgrounds are cleared
  immidiately (as on R5), to keep the time previous stuff
  keeps showing as short as possible, while on requested
  updates, the background clearing is delayed until the
  client draws something, to keep the time until the client
  fills a view with content as small as possible to reduce
  flickering (might need more work, could be buggy yet)
* HWInterface and DrawingEngine support delayed syncing to
  the graphics hardware at least for FillRect/Region. The
  speed up gained by this is minor though.
* HWInterface cursor rendering uses a bit of rounding to
  avoid the slight transparent shadow around the cursor
  (I don't know if it is fully correct though, at least the
  shasow disappeared)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-19 14:12:57 +00:00
Axel Dörfler
aacfed124b Added private menu/desktop/WindowScreen feels to play with.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 13:22:19 +00:00
Stephan Aßmus
39c9925fcf * implemented a BRegion pool per WindowLayer which is supposed
to cut down on BRegion related allocations, cannot really tell
  if it speeds things up
* used the new BRegion pool in WindowLayer and ViewLayer whereever
  a BRegion was used on the stack
* fixed the debugging stuff in MultiLocker - it will get you into
  the debugger if you
    - try to nest read locks
    - try to write lock when your are a reader already
    - don't match up nested locks when your a writer
    -> but only if you #define DEBUG 1 in the .cpp, is off by default now
* went over WindowLayer, ServerWindow, Desktop and a few other places
  and fixed the locking for use with the MultiLocker, the "a reader can
  not become a writer" is especially tricky, feel free to review the
  changes
* activated the MultiLocker, I tested this quite a bit, if there are
  problems simply turn on DEBUG and you should drop into the debugger
  right where the problem is... hope all is good


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-07 19:14:25 +00:00
Axel Dörfler
92eab70620 Oops, accidently didn't commit the correct version.
Also note that BeOS doesn't seem to pick up the cursor this way, it only
works when we're doing this later (ie. in MouseMoved() or Pulse()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-01 18:08:40 +00:00
Axel Dörfler
da07353dcd Added a small cursor test application.
Note, it looks like we translate the cursor shape differently than R5
(according to the docs, black is always opaque and ignores the transparency
bits).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-01 18:06:50 +00:00
Axel Dörfler
16ed1e1d15 * Removed headers/private/servers/app - everything is in src/servers/app now.
* Removed DisplaySupport.h, wasn't needed anymore.
* Removed private color set functions from InterfaceDefs.cpp - we might want
  something similar, but definitely not like that.
* Minor cleanup, added some missing licenses.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-18 16:42:14 +00:00
Axel Dörfler
38a6ea1d98 * Removed the old AS_AREA_MESSAGE stuff - it's currently not used at all, and
even though we might need something similar, we can't use it (since it was
  based on BGet++).
* Removed BGet++, it's not used anymore.
* Removed ServerMemIO class, was never used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-18 15:59:23 +00:00
Axel Dörfler
0476838149 The test environment should now build okay again, as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-18 15:48:12 +00:00
Axel Dörfler
9a44fdc97c * Implemented a new client allocation method: instead of having all bitmaps of
all teams in serveral server areas, and instead of having to eventually clone
  them all several times in BBitmap, we now have one or more areas per team,
  and BBitmap will only clone areas once if needed. As a side effect, this
  method should be magnitudes faster than the previous version.
* This method is also much more secure: instead of putting the allocation
  maintenance structures into those everyone-read-write areas, they are now
  separated, so that faulty applications cannot crash the app_server this
  way anymore. This should fix bug #172.
* Freeing memory is not yet implemented though! (although all memory will
  be freed upon app exit)
* There are now 3 different bitmap allocation strategies: per ClientMemoryAllocator
  (ie. via ServerApp), per area (for overlays, not yet implemented), and using
  malloc()/free() for server-only bitmaps.
* ServerBitmap now deletes its buffers itself.
* Cleaned up BBitmap and BApplication a bit.
* The test environment currently doesn't build anymore, will fix it next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-18 13:43:26 +00:00
Axel Dörfler
6686623070 * Fixed possible crashing bug, since fWindow was never initialized.
* Fixed another BMessageRunner leak.
* Added an optional second parameter which you can use to limit the run time
  of the app.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-13 15:59:58 +00:00
Axel Dörfler
bc63570c9b BWindow::Show() will no longer Run() its looper without a valid app_server
connection.
StressTest now detects this case and quits those windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-12 22:59:49 +00:00
Axel Dörfler
3dd881e3af * Fixed memory leak in StressTest and BWindow: they both did not delete the
message they passed to a BMessageRunner object.
* Added note about the ownership of the message to the BMessageRunner
  documentation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-12 22:35:36 +00:00
Stephan Aßmus
e7df4a4829 add a small test that stress tests window creation and destruction
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 19:41:51 +00:00
Stephan Aßmus
df29904e48 update error messages
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-11 19:40:49 +00:00
Axel Dörfler
539d69fc6b Added private "Left Titled" and "Desktop" looks to test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-09 12:53:21 +00:00
Axel Dörfler
f19839c230 Some groundwork for overlay support. If someone wants to finish this, feel
free to continue (it would be nice to be notified before, though, in case
I get to it again in the next weeks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-01 21:20:57 +00:00
Axel Dörfler
640b841d5a Fixed build of the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-02-27 10:44:13 +00:00
Stephan Aßmus
5a2b3bac82 Axel wants to check up on something, and I had added the testbed for that already
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-11 19:34:57 +00:00
Stephan Aßmus
269293b0ea Selected objects can be removed with the delete key.
Added testbed for BTabView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-05 23:51:23 +00:00
Stephan Aßmus
34dcf66837 I guess Axel got bored already having to stare at the same animation all the time... so I changed it a little
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-31 01:38:36 +00:00
Stephan Aßmus
eeb06055db the run_haiku_registrar app is placed in the test environment install folder
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:20:35 +00:00
Stephan Aßmus
75bf993e08 updates various stuff, Jamefiles and run scripts for the most part... clicking a list view object entry selects the object in Playground... alpha drawing in the scrolling test would reveal problems in the app_server scrolling implementation... more I have forgotten
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:19:16 +00:00
Stephan Aßmus
a90bd9535b why do the stupid bugs always take soo long to find... even when I did them myself... this fixes attaching BViews to B_CMAP8 bitmaps and drawing into them in the test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:16:56 +00:00
Stephan Aßmus
040ce75726 added libbeadapter.so (used by the storage kit and the haiku regisrar) to the test libs, it just went unnoticed before
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 19:08:18 +00:00