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
Axel Dörfler
c66f958bb6
Corrected BView::GetMouse(), untested though:
...
- it returned on _UPDATE_ messages without a mouse position
- it no longer calls DispatchMessage() for everything anymore,
however, it will still call BWindow::DispatchMessage() directly
for _UPDATE_ messages
- it didn't care for B_MOUSE_DOWN messages
- it didn't unlock the queue in case it found a message.
(this message actually reflects the differences to r12683 of this
file, but the newer one r12705 was even more broken, but in other
ways)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:40:29 +00:00
Axel Dörfler
c1fc0493cb
Added missing wctype.h header - R5 does not include this header, but its
...
libroot.so exports the functions declared therein.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:02:09 +00:00
Jérôme Duval
6005071a1c
Patch from John [Beta]
Drinkwater
...
Fix for 3 misbehaviors compared to R5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 13:00:16 +00:00
Stephan Aßmus
c7694b4ac7
Make the dot a dynamic size and improve the rendering for anti-aliasing under Haiku. Confirmed to look good with different font sizes.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 12:18:11 +00:00
Stephan Aßmus
3eaf632305
improve smoothnes of arcs rendering in Painter, fix a warning
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 12:16:15 +00:00
Stefano Ceccherini
91b84c7729
Some initial code for async mouse tracking. Just playing around actually.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 10:45:36 +00:00
DarkWyrm
d73474eee9
Removed an infinite recursion bug in StrokePolygon
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 10:01:52 +00:00