Commit Graph

12430 Commits

Author SHA1 Message Date
Rudolf Cornelissen 23f40a2345 more cleanup for DMA: re-organised cmd define locations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 13:22:52 +00:00
Rudolf Cornelissen c3e79839e0 commented out the 'old cmd' defines, fixed 3D surface define to work for DMA (and PIO after 3D add-on update I hope).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 12:59:42 +00:00
Rudolf Cornelissen af9bb34820 major hash and engine command defines cleanup (PIO and DMA). It looks like the hash-rules are quite simple after all. Hoping I'm right about that: looking good. PIO mode: 3D add-on alpha1 should nolonger work with the current 2D driver (hang). DMA mode: on TNT2 orig, DMA 3D acc is fully working now. All surface commands work, old ones are removed. I'll (try to) bring PIO mode upto par so 3D will work again there too. GLteapot stays at 360fps @ 16bit, 280 fps @ 32bit for now (TNT2 orig). Bumped version to 0.47.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 12:57:23 +00:00
Stephan Aßmus ac167e6ead Various fixes and efficiency improvements to the drawing backend. Among other stuff, stroked lines with a width greater than 1 have anti-aliased butts now. There are some bugs left regarding text rendering.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 12:12:56 +00:00
DarkWyrm 63381b0c49 Fixed a bug in setting thumb style for the KnobStyle box scrollbars
Removed an include bug


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 02:07:09 +00:00
DarkWyrm 423a41b8cd BScrollBar now sets the internal BView scrollbar pointers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 20:39:03 +00:00
DarkWyrm eab4dcf7de Cruft removal
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 20:36:14 +00:00
DarkWyrm 1d32aaa939 Serious reworking of the code - AFAICT it works the way it should now.
My first attempt at OT style-compliant code. Axel would be proud. :P


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 20:31:58 +00:00
Rudolf Cornelissen 980fda2605 fixed concurrent overlay and 3D use. This never worked before: it turns out that overlay requires a certain engine command setup order/chain without gaps to prevent hard crashes. 3D surface cmd still down though..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 18:56:47 +00:00
Rudolf Cornelissen 0fcc145db7 removed more old surface commands related programming.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 16:04:02 +00:00
Rudolf Cornelissen 1684de3904 removed old 2D/3D surface commands. While the 'new' 3D surface command is still down, the 2D surface command has been replaced with NV4_SURFACE/NV10_CONTEXT_SURFACES_2D. These indeed work. Teapot: now @ 360fps on TNT2 orig (16bit).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 15:45:55 +00:00
DarkWyrm ab83a5c4e0 Re-enabled private SysCursor API and fixed build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 12:50:04 +00:00
DarkWyrm dfb10be5f9 Fixed the build, broken when DisplayDriver::DrawBitmap was changed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 12:34:36 +00:00
Stephan Aßmus 3295cceb8f Forgot something
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 23:54:28 +00:00
Stephan Aßmus 7220b138f2 fixed confusion of byteCount and charCount in ServerFont::StringWidth(), just in case anyone really uses it later. Added UTF8CountChars() to moreUTF8.h, but then I didn't need it...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 23:51:33 +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 3f513bbafe Font rendering code should be cleaner, maybe a little more efficient and better documented. Rotated text is supported again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 23:26:15 +00:00
Stephan Aßmus e980fe005f fixed the build, sorry
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 19:59:24 +00:00
Stephan Aßmus 1218d80ff8 removed no longer used stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 19:54:12 +00:00
Stephan Aßmus 2762b0cecd Work in progress... improvements on font stuff, reverted to using Painter to get the string width. Since it actually uses glyph caching, it is about 20 times faster than the implementation in ServerFont (and a about twice the time as R5). I added a StringWidth method to Painter and AGGTextRenderer which works as correct as ServerFont::StringWidth, which btw was broken, because I mixed up glyph count and byte count...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 19:52:38 +00:00
Stephan Aßmus 38c5a7b7fa Implemented StringWidth in ServerFont, updated ServerApp to use it, and removed a -1 from TextView in the char location calculation, which I didn't understand and without which the cursor location and related stuff now finally work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 17:36:55 +00:00
Axel Dörfler 097d641852 Didn't know that BView::do_owner_check() also checks the lock - maybe
it should be renamed to do_owner_and_lock_check().
Removed looper locking again, since it's not needed, then. Thanks to
Adi for the hint.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 14:58:49 +00:00
Axel Dörfler 52005fdaff Finally fixed Adi's repeatedly mentioned pet peeve: in AS_LAYER_GET_MOUSE_COORDS
communication, the port's reply port is no longer sent to the app_server (as it
knows where to reply to, anyway).
Also made sure the view's looper is locked while getting the coords - I guess
BPortLink doesn't like to be written to from two different threads :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 02:42:52 +00:00
Stephan Aßmus 9962b67e5f DisplayDriver::DrawBitmap() takes no more region, the clipping is expected to be already set, as with all other drawing functions. Moved bitmap drawing message dispatching in the drawing messages area, where the correct clipping is set too. Moved cases for messages that don't need clipping applied, ie which don't draw anything, into the normal dispatch function. This means SetHighColor() and so on will no longer rebuild the clipping in Painter. Would be interesting to know how much performance this had cost...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 00:09:59 +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 9f602781bf Added a check for single buffered mode when reporting available HW acceleration, because it clearly won't work in double buffered mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 17:39:58 +00:00
Axel Dörfler 25500bdfd9 Fixed BWindow::UpdateIfNeeded() by moving the code from BView::GetMouse() over.
GetMouse() will now just call UpdateIfNeeded().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 17:20:36 +00:00
Axel Dörfler 402612b831 It's called "preferences" not "prefs"! :-)
Added some preferences applications to the image. Some of them even start
(DataTranslations, Keyboard), most will bring down the app_server, or miss
libtracker.so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 16:49:19 +00:00
Axel Dörfler 04dc040e40 No more B_MESSAGE_NOT_UNDERSTOOD messages for standard messages.
Added another ToDo item about missing filtering.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 16:14:51 +00:00
Jérôme Duval 7a2b05c5ad multiple chunks handling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 15:38:29 +00:00
Axel Dörfler d1783112af Our devfs currently keeps drivers around, so it's not a good idea to
install interrupt handlers in init_driver().
The downside of this is that you can now only use F12 to drop into
the debugger when the console appeared (not before).
This way, the driver no longer causes ps2_hid to not be able to
disable or enable the keyboard (which means you can keep them both
installed without worries).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 14:30:27 +00:00
Axel Dörfler fe9bc5ae27 Added sqrt() and sqrtf() assembly versions.
Still they are not yet really used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 14:13:22 +00:00
Axel Dörfler d6fad1d006 Changes due to Adi's insight:
- there can only be one _UPDATE_ message at a time in the queue so we
  can stop searching after we hit the first one
- mouse coordinates are always send in screen coordinates (unlike R5,
  which means this is a compatibility problem), so we need to convert
  them even for the current view.
Apps should now work with the old synchronous controls method (even
though their drawing updates look clumsy and are slow compared to
asynchronous controls for whatever reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 14:12:02 +00:00
Andrew Bachmann 84987c7ad5 it is now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 00:01:56 +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
Axel Dörfler 62f9753de5 Added public domain versions of sin() and cos() (taken from glibc).
Not yet used, though - we probably need to rearrange the source files a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 22:19:35 +00:00
Andrew Bachmann f789e6b332 all tests now passing, print table entries only in case of failures
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 21:41:22 +00:00
Andrew Bachmann 42b25a64ad for libroot's trig functions we need PI2 = 2*pi, so undef the math definitions. this affects only this private header (trig.h) and the files that include it from libroot (sincos.c, tan.c). fixes sin/cos/tan problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 21:39:36 +00:00
Andrew Bachmann 00b424f83a test more values, add sin2+cos2=1 check
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 21:12:16 +00:00
Axel Dörfler bcd8a1fad9 Converted Window.cpp to our coding style guide and (unfortunately) fixed a
myriad of small bugs here and there, as well as some very odd coding techniques:
- the "Minimize" property was not handled
- the "Minimize" property was not settable
- the property/scripting stuff was horrible, anyway
- there are more and better error codes than B_ERROR (could someone tell the
  app_server guys? :))
- added some ToDo items here and there
- and much more I don't remember


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 20:53:21 +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
Andrew Bachmann ba2286a9a9 add test for drem, expand testing for and supress table output for copysign, drem
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 20:45:02 +00:00
Andrew Bachmann dfdc5e411e use "national" math (fixes copysign/drem)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 20:43:52 +00:00
Andrew Bachmann a3344504d0 add copysign test, formatting changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 19:59:38 +00:00
Andrew Bachmann 5c8563d142 add some math tests
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 19:38:10 +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
Axel Dörfler 3405fff2a9 Implemented private function BWindow::DequeueAll() which reads all pending
messages from the port.
BView::GetMouse() now calls this function if it was called from the window's
thread and thus blocking the message loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 16:54:56 +00:00
Axel Dörfler 25b0ec461d Now, GetMouse() processes and removes all _UPDATE_ messages, not
just those before the first mouse message.
This should be more correct and look better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:47:49 +00:00