Stephan Aßmus
fbf48e6437
Enabled HW acceleration for CopyRegion(). Tested on Haiku and it works. I also implemented FillRegion and InvertRegion. But using different acceleration hooks after one another freezes Haiku, app_server, the accelerant or whatever. I have no clue about accelerants, so if a knowledgable someone would have a look at AccelerantHWInterface.cpp, that'd be great. The software cursor stuff has a cosmetical bug with regards to CopyRegion() too, I don't understand it yet. I also tried to improve StringWidth() and DrawString() preformance. I confirmed that the glyph cache is actually used, but AGGTextRenderer::RenderString() is a dog.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-04 23:48:19 +00:00
DarkWyrm
5e6d7d522d
Fixed a TODO - added a method for calling StringWidth with a ServerFont instead of DrawData
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-04 09:39:06 +00:00
Stephan Aßmus
d3194176a3
added support for software cursor needed for single buffered mode
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:48:22 +00:00
Stephan Aßmus
9c796f60c2
rearranged some functions, removed unused ones
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:47:08 +00:00
Stephan Aßmus
b060f5e1eb
more correct implementation of B_OP_COPY, in that it blends against the current low color (as seen in text rendering on BeOS), of course this extends to anti-aliased lines on Haiku
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:45:16 +00:00
Stephan Aßmus
24bc7597eb
cosmetic
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:43:51 +00:00
Stephan Aßmus
265db80516
added a timeout for sending messages down to the client, it keeps app_server from hanging, though of course it doesn't fix the real problem, I have not had time to investigate the messaging, but this work around shows that the hang ups that I was seeing indeed happen in the messaging code
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:42:37 +00:00
Stephan Aßmus
48c0335055
added a small safety check
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:40:29 +00:00
Stephan Aßmus
924b7ab22c
the clipping BRegion is now always allocated, added shortcut for determining if there is a valid clipping
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 21:39:03 +00:00
Stefano Ceccherini
55814cfde4
Added a TODO item with a bad bug report
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-02 08:29:37 +00:00
Stefano Ceccherini
f812bf8b4c
Implemented server side support for BScreen::SetMode(). Note that setting the mode works, but rootlayer crashes afterwards. I guess I'll need to lock something. Adi ? Stephan ?
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-01 06:26:49 +00:00
Jérôme Duval
ecbc8ec9c2
reversed cursor.x and cursor.y
...
cursor semaphore initial count is now zero
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-30 15:00:10 +00:00
Stefano Ceccherini
6e927d6e3b
BScreens methods didn't work for a number of reasons: fixed.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-30 07:04:27 +00:00
Stefano Ceccherini
9c06e46d6a
fDriver wasn't apparently used anymore. Thanks Jerome. BTW we should remove it if it's useless
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-30 05:45:49 +00:00
Stefano Ceccherini
4dbe8b9db6
Server-side code for BScreen::GetMode() (actually tweaked an old implementation)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 20:30:04 +00:00
Stephan Aßmus
1596a167c0
work around for layers not being moved that have not yet been added to the tree. See WinBorder::MoveTo for the explaination. The same problem should be at other places and most likely for normal views as well. This fixes BWindow::MoveXX() when it is not yet Show()n
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 23:56:40 +00:00
Adi Oanca
b9cc06b57c
Show workspace number in the upper left corner
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 18:28:23 +00:00
Jérôme Duval
1f04728a75
Reworked different build modes
...
Uncomment in Jamfile "#APPSERVER_TEST_MODE = 1 ;" to test app_server with input_server
Uncomment in InputServer.h "//#define R5_CURSOR_COMM" to enable cursor comm when appserver BPortlink comm is used
Default mode is R5 comm if TARGET != haiku
and appserver BPortLink comm when TARGET = haiku
For APPSERVER_TEST_MODE, make sure to change the ViewInputDevice path in AddOnManager.cpp
To test with app_server, enable LaunchCursorThread() in AppServer.cpp and uncomment "#define INPUTSERVER_TEST_MODE 1" in ViewHWInterface.cpp
Also make sure to change the input_server path in AppServer.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 13:47:59 +00:00
Stephan Aßmus
9715a3e1bf
fixed BWindow::MoveXX(), BWindow::ResizeXX() and BView::ConvertToScreen()
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 12:31:25 +00:00
Jérôme Duval
e9da11d0b2
added inputserver test mode for ViewHWInterface
...
we write view events to a port so that the ViewInputDevice gets them and have them processed by input_server, and then app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 10:10:52 +00:00
Stephan Aßmus
609b465638
fixed BView::MoveTo() and BView::ResizeTo(), fixed typo
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 09:44:29 +00:00
Stephan Aßmus
4828a7251f
I'm not 100% sure, but I think I fixed a confusion in sending the current view position and size to the client. Note that BView::originX and BView::originY are poorly named, because they are not the local coordinate system origin, but the offset within the parent at which the view is located.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 23:20:29 +00:00
Stephan Aßmus
50581a7c0a
fixed a bug with drawing ellipses and invalidating the correct area for stroking paths, taking the stroke width into account
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 23:17:39 +00:00
Stephan Aßmus
db7226db9d
work in progress to get scrolling working, so Adi can have a look, no changes to existing functionality, cleanup in Layer.cpp
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 17:26:57 +00:00
Stephan Aßmus
93a2cfd43c
Correct implementation of BView::CopyBits() in ServerWindow, implementation of CopyRegion in DisplayDriverPainter that sorts the rects topologically depending on direction and does the copy in place, obtaining a speedup of about 250%. TODO: extract the sorting algorithm so that it can be reused for the hardware accelerated version later.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 13:50:34 +00:00
Axel Dörfler
7b58474a09
Beautified some odd code (like "a ? a : NULL" to "a").
...
Applied our coding style guide.
No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-25 14:14:09 +00:00
Adi Oanca
51a73c1e2b
Fixed a bug where a modal app window appeared in current workspace although its workspace mask did not include it
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-23 10:05:33 +00:00
Adi Oanca
d53639ce2e
Implemented support for BWindow::SetFeel()
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-21 18:57:34 +00:00
Stephan Aßmus
3934e7037e
forgot another important detail...
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-20 10:36:05 +00:00
Stephan Aßmus
f8bbbd8332
it helps reading my own commit messages
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-20 10:12:54 +00:00
Stephan Aßmus
ded5874ea2
Implemented changes necessary for single buffered mode, it is turned off for now, because the soft cursor is currently not being taken care of. We will still use double buffering if the screen color space is not 32 bits, too.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-20 09:27:15 +00:00
Jérôme Duval
b8d27287f9
Added support for cursor position handling from input_server
...
LaunchInputServer now waits for _roster_thread_ to be running
Not tested/not enabled :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-19 20:44:09 +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
e742e3e106
refactoring and cleanup in LayerData and friends, it shows what I mean by "forced code paths" for example in coupled font size and view scale, added a couple TODOs, disabled decoupled frame buffer transfers, it is buggy and deadlocks for some reason...
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-19 00:42:42 +00:00
Stephan Aßmus
387242437d
moved more old stuff which isn't used anymore
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-18 19:16:11 +00:00
Stephan Aßmus
3dea4bb659
cleanup the defines, move old DisplayDriver implementations out because they are currently unused and won't build
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-18 18:48:19 +00:00
Stephan Aßmus
74b3612ac3
refactoring, speedup by decoupling back to front transferes from drawing and usage of special memcpy routine, minor speedups in Painter
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-18 16:09:43 +00:00
Michael Lotz
fd5ac83a1a
Use one BPortLink (fAppServerLink) instead of always creating a new one to send events to the app_server.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-17 12:27:43 +00:00
Michael Lotz
597c548ca3
Moved the port creation for app_server - input_server communication out of the DisplayDrivers and into the AppServer constructor. This may later needs to be moved into RootLayer if we want multiple user support.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-17 12:26:16 +00:00
Adi Oanca
d7c2c05061
Big cleanup.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-16 13:30:49 +00:00
Stephan Aßmus
a4365bfe01
support drawing invalid rects
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 17:45:10 +00:00
Stephan Aßmus
961efda06b
workarround for bug in WonderBrush drop shadow filter... how lame is that...
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 17:44:13 +00:00
Stephan Aßmus
a415a09a32
Adi told me a quick fix to get BView::Invalidate() working, it doesn't work correctly yet (invalidates child views as well), but it is a start.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 16:03:16 +00:00
Stephan Aßmus
1e1b1675de
really implement BitsLength() inline, I have no idea why it compiled for me...
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 15:31:57 +00:00
Stephan Aßmus
5cf27f9b8d
fix bug with internal AGG renderer color not being updated when a special solid drawing mode is used
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 15:22:20 +00:00
Stephan Aßmus
99d36ad1d1
remove support for line breaks
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 15:21:36 +00:00
Stephan Aßmus
babce6c921
some clean up and reuse of member variables for more efficiency
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 12:41:32 +00:00
Stephan Aßmus
3809998c83
I'm not sure this is needed, because inherited DrawingModes don't have any data and do nothing in their constructor, but I'll rather be on the safe side
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 12:27:34 +00:00
Stephan Aßmus
0c926a191f
reuse DrawingMode instances
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 12:25:25 +00:00
Stephan Aßmus
a3fa31559c
fixed DrawString problem, there can only be one way to set the pattern, MiniTerminal works with my latest changes, and DrawString should be more efficient, because a special pattern-ignorant drawing mode class can be used
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-15 11:52:22 +00:00