Commit Graph

291 Commits

Author SHA1 Message Date
Axel Dörfler
c3657d1abd stippi+axeld:
* Made the StressTest app into a real stress test for the app_server, as the
  windows are now randomly changed, ie. moved, resized, hidden, activated, ...
* This already helped identifying two long-hiding bugs in the app_server code!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 15:46:45 +00:00
Stephan Aßmus
5604c88c81 Created an icon for Playground.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 16:16:20 +00:00
Stephan Aßmus
bfaa132f3f Also test what happens when there is a view with an event mask. (Currently
shows a bug in the app_server event dispatching which is going to be fixed
next.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 23:08:53 +00:00
Stephan Aßmus
e0418bf91e Fixed wrong target name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 23:07:50 +00:00
Stephan Aßmus
61e7172dca Added a test application for view transit changes, including the problem
of stealing (not anymore) mouse messages that are important for maintaining
the correct transit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 19:32:41 +00:00
Ingo Weinhold
c28bcbdf58 Added "--signal" option that performs the crash in a signal handler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-09 00:47:36 +00:00
Ingo Weinhold
e9c4d47ad7 Added command line option "-d" to disable the debugger before crashing.
Shows that disable_debugger() isn't working ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-23 19:54:12 +00:00
Stephan Aßmus
59e13a3f06 Patch by Andrej Spielmann (GSoC):
* Simplified the subpixel related methods for the AGG "pixel format" template
  interface, the ones for the solid cover simply pass through the existing
  methods, so only one subpixel blending function is left which does the actual
  work (this removes a lot of the previously added code)
* Implemented a new rasterizer based on the original AGG rasterizer which
  implements subpixel anti-aliasing for any generic AGG vector pipelines. It
  is now optionally used in Painter and AGGTextRenderer (for vector fonts, ie
  rotated, sheared or big enough fonts) depending on the global subpixel
  setting.
* Put all subpixel variables into the new GlobalSubpixelSettings.h|cpp
* Simplified DesktopSettings related classes a bit and renamed previous
  FontSubpixelAntialiasing to just SubpixelAntialiasing.
* The private libbe functions for subpixel related settings moved from Font.cpp
  to InterfaceDefs.cpp where other such functions live. They are not related
  to fonts only anymore.
* Removed the subpixel related settings again from the Fonts preflet and added
  them to the Appearance preflet instead.

All of the above implements subpixel anti-aliasing on a global scale, which
to my knowledge no other OS is doing at the moment. Any vector rendering
can optionally use subpixel anti-aliasing in Haiku now. The bitmap cached fonts
are still affected by the Freetype complile time #define to enable the patented
subpixel rasterization (three times wide glyphs). Vector fonts and shapes are
not affected though at the moment.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 13:40:41 +00:00
Stephan Aßmus
87b8310c0f The ClippedLineTest now runs for 5 seconds max (should change the other tests
accordingly and refactor a bit). It also prints the number of clipping rects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-30 11:40:18 +00:00
Stephan Aßmus
b4e9c99bc4 * Added a SetupClipping() method to Test baseclass, which adds about 400
small clipping holes to the TestView user clipping.
* Added a bunch of new tests. Here are some numbers from the test environment,
  which is similar to running Haiku in VESA mode:

Horizontal lines per second:
Haiku:	192964.663	(117,7%)
ZETA:	163977.006

Vertical lines per second:
Haiku:	 90109.985	(276.9%)
ZETA:	 32538.458

Random lines per second:
Haiku:	  7998.451	(23.1%)
ZETA:	 34602.539

Random colored lines per second:
Haiku:	  7976.437	(22.9%)
ZETA:	 34788.247

Random clipped lines per second:
Haiku:	   262.180	(2.5%)
ZETA:	 10394.794

Clipped glyphs per second:
Haiku:	  5911.526	(1.0%)
ZETA:	590508.726

Obviously the clipping performance is a punch in the stomache.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 21:12:48 +00:00
Stephan Aßmus
7b0cfaa569 No space between copyright notice and header guard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 20:07:10 +00:00
Stephan Aßmus
3cb3e0e210 * Fixed coding style issues pointed out by Axel
* Use more letters of the roman alphabet (doh...)
* Tested drawing mode is currently B_OP_COPY


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 19:03:38 +00:00
Stephan Aßmus
7c2658585f The start of a benchmark application to test various performance questions
of the Haiku app_server. The immediate comparison are of course BeOS and ZETA.
Currently, it measures the performance of drawing untransformed text. For
now, I have only tested on ZETA and the app_server testing environment. Will
let you know my findings with Haiku running on real hardware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 16:41:19 +00:00
Stephan Aßmus
d36ae78cc6 Added two tests:
* statusbar was used to test and improve some BStatusBar behavior
* lagging_get_mouse demonstrates what the problem is with older
  applications using synchronous GetMouse() calls without specifying
  that they actually don't care about mouse history.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-08 20:01:31 +00:00
Michael Lotz
3d75dfbb4a Adding a DrawingModes test application that uses the different drawing modes
to draw a bitmap and a B_MIXED_COLORS pattern. This shows that most of the
Haiku drawing modes are off of what the BeBook documents them to be and also
shows that B_OP_SELECT is actually broken under R5.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 02:18:16 +00:00
Ingo Weinhold
ae50fc51bb Fixed libbe_test build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 00:06:50 +00:00
Michael Lotz
3c905d812f Adding DrawingDebugger app that creates a port listening for BRects that then
get drawn into a window with random colors. With that one can for example add
code to the app_server or interface kit classes that push through rects or
regions to see what exactly is going on in drawing operations. Code examples
of how to use are at the top of the file. Has fixed window dimensions though
as I was lazy :-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 23:37:58 +00:00
Stephan Aßmus
99327c079d Fixed typo in script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:46:50 +00:00
Stephan Aßmus
f709730477 Fix the build of the registrar for the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 21:55:26 +00:00
Stephan Aßmus
f62ed7b359 Wrong subfolder in Jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 10:59:14 +00:00
Stephan Aßmus
ce158b43fc Enabled the test apps I added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 10:53:45 +00:00
Stephan Aßmus
cda5b8808f A test I am currently working on which is supposed to behave a bit like
Firefox. It stores the active clipping region of a view when Draw() is
invoked, and uses that for asynchronous drawing. The test already shows
a couple of problems. When PushState() / PopState() is used, it is not
equivalent to ConstrainClippingRegion(&someRegion) /
ConstrainClippingRegion(NULL). Another problem shows when adding delays
(currently disabled), there should not be any difference, regardless of
how much delay is inserted into the asynchronous drawing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 10:53:23 +00:00
Stephan Aßmus
b35b070b59 A test I used for debugging Pe's scrollbar problems. (SetSteps() influences
proportion if proportion was never set.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 10:50:12 +00:00
Stephan Aßmus
d88d001f35 A test I used for checking ConstrainClippingRegion() with regards to states,
scales and origins.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 10:49:30 +00:00
Stephan Aßmus
0a6ef8179c I have no idea anymore what I was messing with here, but it looks interesting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 10:47:55 +00:00
Stephan Aßmus
27000126fd Fixed the build of the registrar for the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:39:22 +00:00
Stephan Aßmus
20eb92f20a * Fixed missing include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:36:14 +00:00
Axel Dörfler
89755088d7 * Extended the test to be able to switch to the workspace(s) as defined on the
command line.
* Using this, you can easily reproduce #1765 on BeOS, too. Ie. while it's also
  a bug in Haiku, this also shows a conceptional problem with the way LaunchBox
  switches to the current workspace. Stipp, any reason why it doesn't just let
  the window appear on all workspaces?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 18:26:39 +00:00
Axel Dörfler
f0b714c8b1 Wrote a small test app to see how BWindow::WorkspaceActivated() behaves.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 18:18:46 +00:00
Axel Dörfler
437b19277f * Removed severly outdated DebugInfoManager.
* More "layer" cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 15:28:31 +00:00
Jonas Sundström
cd6b83ddc1 The title of the (primary) window of (non-document) apps and preferences should be the filename of the executable. File and window names should be changed in tandem in the future. All IMO. Sorry, Marcus, for changing TV-O-Rama. :/ We may want to consider using more proper language, e.g. 'Screensaver' or 'Screen Saver' instead of 'ScreenSaver'. DeskCalc or 'Desk Calculator' should be just Calculator. We should avoid clinging to BeOS history, like with the name CodyCam, which hardly makes any sense anymore, even if you happen to be one of the few BeOS oldtimers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-09 13:26:28 +00:00
Ingo Weinhold
8a04709a1d Added option for crashing via assert().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 00:13:28 +00:00
Stephan Aßmus
5300362be6 * fix the build of haiku_registrar (the registrar for the test environment)
since the changes to where the mime database write support lives


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 11:42:43 +00:00
Axel Dörfler
1214ef1b21 A test app that does constant workspace switching.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 19:10:01 +00:00
Stephan Aßmus
11dbc914f7 * added a test for B_DRAW_ON_CHILDREN view flag and documented the observed
behaviour in R5 and my conclusions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-25 11:58:11 +00:00
Axel Dörfler
3ecd9d8fbb Added a small test for B_LOCK_FOCUS and B_SUSPEND_VIEW_FOCUS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 20:24:18 +00:00
Jérôme Duval
09f147fb33 test app for idle_time() (bug 1593)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-28 23:13:47 +00:00
Stephan Aßmus
d3f08e7fb8 * we don't actually need the AccelerantHWInterface in the test environment,
therefor we don't need to worry about the extended Accelerant interface


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:55:53 +00:00
Ingo Weinhold
3ee83016ed Added header directories missing for the libbe_test target, since my changes
a while ago that removed the incorrect automatic addition of Haiku header
directories in case of targets other than "haiku". The app server test
environment does now almost build again. The problem left is related to the
recent changes of the accelerant interface. I suppose someone in the knows
should decide if we can simply use our header or if special handling is
needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 10:15:57 +00:00
Ingo Weinhold
b2537f99cd Added option "--thread" which will perform the crashing operation in
another thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 19:35:40 +00:00
Stephan Aßmus
b1836934f8 * when selecting objects in the list view, the controls will adapt to the
object properties


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 06:46:29 +00:00
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