Commit Graph

379 Commits

Author SHA1 Message Date
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
Axel Dörfler
bd09e99dbd Made the direct window test environment optional, since it crashes the Dano
app_server...
If you like to use it, define USE_DIRECT_WINDOW_TEST_MODE in the haiku_app_server
Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 21:42:32 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
0e29f57a22 Fixed the app_server build in the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 18:43:08 +00:00
Axel Dörfler
fc50522937 Added a small test application to see how event masks are working.
Notice the doubled key events in case the upper right BTextControl with
B_KEYBOARD_EVENTS has focus in BeOS...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-17 11:01:42 +00:00
Ingo Weinhold
37d96a4c63 Made gcc 4 proof.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-16 17:23:54 +00:00
Stephan Aßmus
b894f5f778 fix build of test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-15 23:43:02 +00:00
Axel Dörfler
be05d56c7e * the app_server now uses a global token space - this should later be changed to
have different token spaces depending on the scope of its objects.
* removed TokenHandler - we're now using BTokenSpace instead.
* removed unused IPoint.cpp - if we ever need it again, it can still easily be
  resurrected from the dead.
* some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-14 19:46:20 +00:00
Axel Dörfler
8b794301de Changed the way the app_server is built:
* no more libappserver.so - this breaks the "Appearance" application, but that
  has to be fixed some day later.
* the drawing stuff is now built in its own directory as libasdrawing.a.
* TEST_MODE defaults to "0" if not defined yet - it's overridden in the test
  build now, not in the main build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 15:40:21 +00:00
Adi Oanca
68e424c88b fix app_server build for R5 testing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-08 18:18:18 +00:00
Stephan Aßmus
3557698909 updated NOTES
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 23:03:34 +00:00
Ingo Weinhold
ca9e5772c3 * Reintroduced third LinkAgainst parameter <mapLibs>, defaulting to true.
Library names are now mapped for all targets but "host" (not only for
  "haiku") -- added one more level of indirection to achieve that.
  (TARGET_LIBRARY_NAME_MAP -> *_LIBRARY_NAME_MAP_*).
* Renamed build/HaikuBuildCompatibility.h to BeOSBuildCompatibility.h
  (auto-included when compiling something that uses the Be API for platform
  "host" on anon-BeOS platform), and introduced build/HaikuBuildCompatibility.h,
  which can be included when compiling something that can be built for both,
  Haiku and BeOS compatible platforms.
* Introduced libhaikucompat.a, a library that adds a few functions existing
  under Haiku, but not under BeOS.
* New rule AddSubDirSupportedPlatforms.
* Renamed libopenbeos.so to libbe_haiku.so.
* Introduced new target platform "libbe_test", which is basically equivalent
  to a BeOS compatible host platform target, with the exception, that instead
  of the host platform's libbe.so a special build of Haiku's libbe.so
  (libbe_haiku.so (formerly known as libopenbeos.so)) is used. Furthermore
  Haiku's public app, interface, storage, and support kit headers are used
  when compiling. This replaces the less nice way in which the test app server
  and applications for this test environment were built.
  When building for platform "libbe_test", the library name "be" is
  autotranslated to "libbe_haiku.so". Thus most applications don't need
  special fiddling when them building them for the app server test environment;
  usually an "AddSubDirSupportedPlatforms libbe_test ;" will suffice.
* Reduced the dependencies of <syscalls.h> and fixed problems caused by this
  (e.g. source files not including the needed headers directly).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 16:07:25 +00:00
Stephan Aßmus
a38aedd980 no longer needed, moved to painter test folder
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 01:13:12 +00:00
Stephan Aßmus
e7869c4c74 renamed DisplayDriverPainter to DrawingEngine, removed tons of duplicated code, and - guess what - found some bugs while doing so... but nothing critical. This patch removes the former DisplayDriver API from libappserver.so, which I think breaks Decorator plug-ins for now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 18:22:22 +00:00
Stephan Aßmus
fcd75d6357 renamed DisplayDriverPainter.* to DrawingEngine.*
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 15:55:53 +00:00
Stephan Aßmus
0f6436373e removed bogus install-libs script, updated NOTES and Playground run script to use the pseudo target install-test-apps
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 12:44:23 +00:00
Axel Dörfler
aca4f50d1e Merged DrawData and LayerData to one class DrawState.
Removed that ambiguous second copy constructor and moved push state functionality
into a separate PushState() method. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 11:37:28 +00:00
Axel Dörfler
e0d7d87fc4 Removed "dano" as compatible platform - the app_server test environment test run there.
Added a small test application for view states. Right now, it only tests scaling - which
doesn't seem to work yet at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 09:46:44 +00:00
Axel Dörfler
f23f61c8e3 Fixed the "run_haiku_registrar" tool to be used with the new build system.
It doesn't build though, as SimpleTest doesn't seem to work anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:25:58 +00:00
Axel Dörfler
4e141bc8a0 Renamed FontServer to FontManager - this fixes the build of the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 14:12:23 +00:00
Stephan Aßmus
d05a172192 fixes for the new build system, added script to install some libs, currently only run script of Playground is fixed, jam haiku_registrar (run_haiku_registrar) does not work do to SimpleTests being currently broken, the run scripts needs to be fixed again for the new location of run_haiku_registrar
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 13:20:26 +00:00
Ingo Weinhold
338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Stephan Aßmus
09b3f55cb1 replaced the NOTES files in each subfolder with a single NOTES file in the parent folder, and updates the NOTES to the current information
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 13:17:18 +00:00
Jérôme Duval
94c484bb7c applied the same fix (degrees to radians)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-30 09:58:58 +00:00
Axel Dörfler
17e7576146 The app_server test run scripts now work again (build target change).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 13:56:06 +00:00
DarkWyrm
3406dc829e Added a way to test the server under R5 with regular apps. First app: Clock
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-16 12:43:12 +00:00
Michael Lotz
024ef0b800 Fixing and adding more BMessage speed tests. Previously messages weren't written at all. This shows that Message2 is actually much faster than the R5 version in flattening. The current implementation is sometimes a lot faster than Message2 though but doesn't scale that well.
Added libmessagetest.so to test specifically the BMessage implementation.
Fixing some other unit tests along the way - quite many of them are borken.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-07 13:19:49 +00:00
Ingo Weinhold
2826a379d5 The app server for the BeOS test environment is now built by
src/tests/servers/app/Jamfile. This makes the original Jamfile much cleaner.
Note that you now have to maintain two Jamfiles when adding/removing sources.
The test app server is called haiku_app_server, its library
libhaikuappserver.so. I adjusted a few paths in scripts accordingly, but
I may have missed something elsewhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-29 14:44:35 +00:00
Ingo Weinhold
f3b3bb4ebd No longer build RosterShell as unit test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-24 21:05:18 +00:00
Ingo Weinhold
5e14f5dae0 Make sure the division by zero is not optimized away.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-21 23:53:57 +00:00
Ingo Weinhold
aff60bb217 Added a crashing test app. Food for the debug server and gdb. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-17 00:27:10 +00:00
Ingo Weinhold
1c8f0d766a Added a few apps for testing the shutdown process.
user_shutdown_reply reliably crashes the app server when pressing one
of its buttons (during the shutdown process at least).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-07 15:35:22 +00:00
Axel Dörfler
379b4e7850 Accidently commited a wrong version: it's supposed to succeed when the registrar
is already running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 16:10:02 +00:00
Axel Dörfler
7560d40290 Renamed "obos_registrar" to "haiku_registrar" - not just for fun, but because
the registrar no longer depends on the app_server to be running.
Added a "run_haiku_registrar" tool that is now used in the various "run" scripts.
It only start the registrar on demand, ie. if it's not yet running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 13:50:43 +00:00
Ingo Weinhold
b9bd94dcc3 Aded a target <test>shutdown, which builds a shutdown command that works with the test environment under R5 (tests/servers/registrar/shutdown).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:25:16 +00:00
Stephan Aßmus
31a3ded6f0 small enhancement
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 15:43:28 +00:00
Stephan Aßmus
28f13d4629 small enhancement
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 15:42:54 +00:00
Stephan Aßmus
9d42e19f61 shows an animation in the bitmap to show off offscreen bitmap drawing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 15:42:21 +00:00
Stephan Aßmus
8e05e376ac embedding ObjectView into a BScrollView to show off scrolling, drawing mode selection actually works, simplified States
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-05 15:40:59 +00:00
Axel Dörfler
ce98205af5 Build fixes, mostly by John Drinkwater - looks like he's cleaning up behind me :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-29 14:48:13 +00:00
Axel Dörfler
d4e2c64c2a Added small app that tests window resizing and size limits.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 01:54:27 +00:00
Stephan Aßmus
579be6b83e will support setting the drawing mode per object sometimes soon...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-17 13:23:06 +00:00
Adi Oanca
8dbc637219 cosmetic
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 20:39:28 +00:00
Adi Oanca
2e8bd79774 all view that have B_FULL_UPDATE_ON_RESIZE flag set invalidate their visible area now. not just the one being resized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-15 16:20:40 +00:00
Adi Oanca
e274da0fa5 Optimized resizing operations. They behave exactly like in R5. Abandoned HW acc for resize operations, this turned out to be quite hard to implement and would make the code a lot harder to understand.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 21:09:40 +00:00
Adi Oanca
4a7973e335 update
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-10 05:43:44 +00:00
Stephan Aßmus
d5233162ca removed no longer true stuff and some debug left overs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 13:30:56 +00:00
Stephan Aßmus
590fdd3f2d added B_QUIT_REQUESTED message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 13:10:45 +00:00
Stephan Aßmus
e4bcf6e073 resize the window while it is still hidden to the calculated minumum size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-04 11:14:25 +00:00
Stephan Aßmus
8359877941 reflects my tests with bitmaps in colorspaces other than B_RGB32, which do work btw
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:26:26 +00:00
Stephan Aßmus
b7f478e26d uses a slider now, uses SetSizeLimits, objects can now be edited after they have been created
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-03 19:24:36 +00:00
Adi Oanca
a4aff61d76 Imported Stephan's CopyRegion. Trying to optimize resize operations - work in progress.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 20:58:18 +00:00
Adi Oanca
9a92483e6f made things clearer, removed a useless exclude operation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 14:00:45 +00:00
Adi Oanca
60d5a3fc59 fixed the clipping bug I was talking in my previous checkin.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 20:58:27 +00:00
Adi Oanca
a332730df7 - moving and resizing is new performed only with the primary mouse button
- by holding the secondary mouse button pressed one can draw random lines
so you can see what regions are invalidated durring a move, resize or
scroll operation
- clicking the third mouse button issues a redraw, WITHOUT a region
rebuild action (this is to force a redraw because the window does not
redraw itself, I've been lazy :-)
- playing with the mouse wheel results in the layer under mouse cursor
being scrolled on the y-axis.

- fixed redraw and copyRegion of this sandbox app. They work correctly
now.

- TODO: fix a clipping bug which appears when moving a layer arround.


 --This line, and those below, will be ignored--

M    newClipping/MyView.cpp
M    newClipping/main.cpp
M    newClipping/MyView.h
M    newClipping/Layer.cpp
M    newClipping/Clipping.proj


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 16:11:16 +00:00
Adi Oanca
6e795cfe26 fully implemented support for B_DOCUMENT_WINDOW_LOOK windows (resize tab overlapping top_view's area). Added support for live moving and resizing the layers shown, resizing is done by dragging from the lower right corner of a layer or winborder. Fixed a bug with for B_FULL_UPDATE_ON_RESIZE flag. More testing remains to be done because there seems to be a problem with clipping under certain circumstances, but I'm nearly finished. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 20:09:17 +00:00
Adi Oanca
67c26792aa Added some support for WinBorders. support B_DOCUMENT_WINDOW_LOOK remains to implemented as the border in this case overlaps the white view area with the resize box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 08:53:19 +00:00
Adi Oanca
1afd64e8b1 Added some support for WinBorders. support B_DOCUMENT_WINDOW_LOOK remains to implemented as the border in this case overlaps the white view area with the resize box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 08:51:09 +00:00
Adi Oanca
ccf52fa4fe resizing layers with any rule seems to work now. lots of testing remains to be done...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 17:05:28 +00:00
Adi Oanca
8a17a6ea37 lots of changes this time...
* further optimized clipping
* implemented support for B_FULL_UPDATE_ON_RESIZE flag
* added support for hidden layers
* implemented Show()/Hide()
* implemented Invalidate(region)

remains to be done:
* fully redraw center and right alligned layers on a resize operation.
* additional testing.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 14:39:16 +00:00
Stephan Aßmus
81cc749f6b commented out non-working stuff except the menu bar. color text controls no always show the current really used values.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 23:30:17 +00:00
Stephan Aßmus
746d7f54e5 better visualization and more comfortable editing of the Bitmap frame
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 00:04:38 +00:00
Axel Dörfler
4dfc2afb5b Added a BAlert to the "clear" button - doesn't work yet (not even pressing <enter>
for the default button does), but at least, the window itself is updated now :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 00:00:52 +00:00
Stephan Aßmus
0fa7031a26 A test for drawing bitmaps. Surprisingly, it worked out of the box. Though the clipping inside the view works, we segfault when moving the window outside the frame buffer bounds so that the bitmap is drawn outside the frame buffer. Should be an easy fix though...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 20:54:05 +00:00
Stephan Aßmus
1fd87770e9 added scrolling with the right mouse button
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 23:42:58 +00:00
Adi Oanca
fd5fe00cb1 Got scrolling to work properly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 20:47:13 +00:00
Adi Oanca
e3b75692e9 implemented ScrollBy
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 17:17:06 +00:00
Stephan Aßmus
e803c97c34 pen size text control is now enabled in the correct situations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 00:51:15 +00:00
Stephan Aßmus
78c1c29baf Playground is now a little drawing app. Fully functional under Haiku, but with some strange defects in arc calculation within AGG.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 00:15:58 +00:00
Adi Oanca
4a95e83357 Implemented some support for moving and reziving Layers. It works too. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-17 17:24:50 +00:00
Stephan Aßmus
82450360bb updated build for playground
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-17 10:22:31 +00:00
Stephan Aßmus
6cb79662a5 renamed windows to playground
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-17 10:21:21 +00:00
Stephan Aßmus
53bb64e469 The current playground. Eventually, this will transform into the demo program.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-17 10:11:21 +00:00
Adi Oanca
4bdd131ac5 my test app for new clipping code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 18:31:01 +00:00
Stephan Aßmus
55354b0f60 This change makes libopenbeos.so update in the home folder when it was rebuild for some reason.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 16:29:21 +00:00
Stephan Aßmus
2309ba4c1f my current playground
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 15:04:11 +00:00
Stephan Aßmus
a3b4fd6b87 update the playground to my local changes, the textview test isintegrated with the build now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-04 00:38:14 +00:00
Stefano Ceccherini
48e740c514 Added a test for BTextView within our app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-02 23:15:13 +00:00
Stephan Aßmus
879fd19be5 this has become playground...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 23:20:18 +00:00
Jérôme Duval
01d2dcc52b increased app_server wait time
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 13:40:12 +00:00
Jérôme Duval
2aec91b51e added a input device addon for app_server ViewDriver (R5 only, testing mode)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 09:59:07 +00:00
Stephan Aßmus
dd55678524 test app for scrolling, link for running on R5 to see how it should behave
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 17:30:18 +00:00
Stephan Aßmus
0999749164 experimented with BView::CopyBits(), found out how it should work, but didn't do the changes yet for a correct implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-19 18:55:46 +00:00
Stephan Aßmus
af1a2a015b draw a check box, too
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 17:46:37 +00:00
Stephan Aßmus
94176e0118 fixed typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 09:29:02 +00:00
Stephan Aßmus
2c4812801c We're now a fun little drawing app
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 09:26:38 +00:00
Stephan Aßmus
c9ceeec23c Reverted some changes by Adi, because the way it works now is more helpful in finding bugs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 13:16:58 +00:00
Stephan Aßmus
30f5afc8a9 I'm keeping the version which can be used as a BView replacement here. The API for the one used in app_server will change for it to be come more efficient.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-04 17:47:41 +00:00
Adi Oanca
c737183da9 Updated test app as app_server clears the BViews' background color now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 16:51:07 +00:00
Stephan Aßmus
e18f9c5e67 with the optimization for solid horizontal and vertical one pixel wide lines, and for solid rectangles, the performs gap between Painter and original BView closes, with BView being 0.12 times faster drawing lines and 1.4 times faster drawing rectangles... into a BBitmap
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:05:22 +00:00
Jérôme Duval
9bace5bbe1 fixed build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 21:40:24 +00:00
Stephan Aßmus
7ad3536bb5 remove some views, the more we use, the more problems...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 21:27:35 +00:00
Stephan Aßmus
b1456ac915 the BViews in the test windows draw something
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:00:50 +00:00
Stephan Aßmus
ffc01863ba BitmapBuffer moved into app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:00:19 +00:00
Stephan Aßmus
7a54109e1b moved BitmapBuffer, because it comes in handy in app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 16:47:37 +00:00
Stephan Aßmus
c6d265aa15 allow access to bitmap
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 16:46:50 +00:00
Stephan Aßmus
4e9146ad6a removed agg_font_freetype.cpp from the build, as it is already included with libagg.a
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 23:33:45 +00:00
Stephan Aßmus
fa3717f73c updated, because Painter now lives in app_server subfolder drawing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:56:50 +00:00
Stephan Aßmus
8490b97156 I just realized I called it "windows", so now the app creates two windows...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 17:44:53 +00:00
Stephan Aßmus
1a6138742b a simple test that runs a Haiku BApplication connecting with Haiku app_server, comes with a script that launches app_server too
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 17:36:50 +00:00
Stephan Aßmus
5f0b72b37b updated to app server move
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 15:51:56 +00:00
Stephan Aßmus
5df6611a26 link with the objects needed for ServerFont
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:32:11 +00:00
Stephan Aßmus
2fc1fe2098 corrected code for general test
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:31:32 +00:00
Stephan Aßmus
2ad954608f clean up, ellipse comparison test
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 15:40:37 +00:00
Ingo Weinhold
9b99cdbb5a Added a program testing the registrar's MessageDeliverer. Particularly
with respect to whether the delivery still works when the port is full.
It seems to do (now).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 00:45:30 +00:00
Stephan Aßmus
1dd7c68f7a more refactoring and separating tests, currently it tests straight line performance
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:40:09 +00:00
Stephan Aßmus
41ce67c0f6 refactoring, but there's going to be even more of it
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:14:54 +00:00
Stephan Aßmus
70443ebf5a automatically uses alpha blending for B_RGBA32 bitmaps
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:13:28 +00:00
Stephan Aßmus
fd78338f60 current state of test app, contains some cleanup too
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 23:08:17 +00:00
Stephan Aßmus
56b6de0768 it builds the Painter test app, feel free to review it for newbie mistakes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 14:08:02 +00:00
Stephan Aßmus
838f42e799 Painter test code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 12:58:17 +00:00
Stephan Aßmus
ee5f6d23c2 adding the Painter test
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 12:56:25 +00:00
Jérôme Duval
697ba202b7 added some known messages codes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-12 22:57:39 +00:00
shatty
a14ccd825e address compiler warning
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-21 18:29:56 +00:00
shatty
885480c84d address compiler warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-21 18:29:20 +00:00
Jérôme Duval
3f2b5033ee added replicant test
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-22 13:09:06 +00:00
Jérôme Duval
7c862ee441 added comm tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 15:50:58 +00:00
Jérôme Duval
e07f3f03dc added BInputDevice test
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-02 21:40:01 +00:00
Jérôme Duval
bb9fc82712 Moved to SimpleTest rule, to not clutter distro directory
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-01 09:24:55 +00:00
Jérôme Duval
30585c9757 added keymap bin tool
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-31 09:55:32 +00:00
Jérôme Duval
aa4ad54070 change to rdef
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-29 15:29:45 +00:00