Commit Graph

983 Commits

Author SHA1 Message Date
Adi Oanca
ddc9feb406 Added a member to know when an update request has been sent
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 20:52:58 +00:00
Adi Oanca
75efbbb3ed if region is not NULL but invalid, draw nothing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 20:51:38 +00:00
Adi Oanca
0cb3fdda93 Nothing special. Just some cleanup to the update code. There is still a problem with layers not being properly updated sometimes when you move windows arround. The same problem occurs a lot more often when resizing windows. I'm traking it... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-05 20:03:07 +00:00
Stephan Aßmus
8940f93c1d AccelerantHWInterface now uses a MallocBuffer as RenderingBuffer for the back buffer instead of a BitmapBuffer, which under Haiku does not work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 10:36:23 +00:00
Michael Lotz
7d5778defa Added support for GetEscapements() too. Still unfinished. Maybe this should be moved elsewhere?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 09:18:25 +00:00
Michael Lotz
c2da902f2e Implemented BPortLink::AttachShape and BPortLink::ReadShape and used them for passing the shapes in AS_GET_GLYPH_SHAPES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:29:04 +00:00
Michael Lotz
ebf8af66c9 Added support for BFont::GetGlyphShapes. Not finished yet and untested, delivery method as to be changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 07:00:32 +00:00
Michael Lotz
3661cae99c Aren't these supposed to be chars?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 04:03:11 +00:00
Michael Lotz
54f7283aa0 Appearantly StrokeLineArray is used in BButton rendering.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 02:06:07 +00:00
Ingo Weinhold
c6ba97963c We didn't Unlock(), if setting the display mode failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-01 01:11:38 +00:00
Adi Oanca
a2bc7be9ed This fixes up the last known remaining issues with the update code. It works perfectly now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 16:48:51 +00:00
Stephan Aßmus
a356096dba massive performance improvements. On my ancient 2xPII 350, the DisplayDriverPainter with the ViewHWInteface is pretty much usable now. It could be even better if app_server culmulated update requests more.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 10:46:02 +00:00
Michael Lotz
bb72ccac74 The Painter now uses a special version of the agg_font_engine that uses the FontServer ftlib and the already loaded FT_Facees from ServerFont/FontStyle instead of doing it all again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-31 06:08:37 +00:00
Stephan Aßmus
89b3c19c8a ViewHWInterface updates are a bit smoother now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 23:02:44 +00:00
Stephan Aßmus
15b391f607 more correct implementation, forgot header again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:24:40 +00:00
Adi Oanca
4c6f8b572e This fixes up those update request being lost.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:13:26 +00:00
Stephan Aßmus
fbdc6c450d ups, forgot this one, but it doesn't help. views seem to have no clipping applied to them at all now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:11:48 +00:00
Stephan Aßmus
03339b3565 added Adis changes, started to return BRect in Painter drawing functions, this will be the area enclosing all pixels that were touched by an operation, so that the DisplayDriverPainter knows exactly what region to copy from back to front buffer, it calculates that by itself for all other functions, which is not as robust.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 22:10:42 +00:00
Adi Oanca
f694c0e30e This may be a quick and dirty fix to the problems we've been having with the update code. However this requires something from DisplayDriver. I'll write about this in a moment on app_server list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 20:06:50 +00:00
Stephan Aßmus
45c0cd28d8 scrolling BViews now works, tested with MiniTerminal, added lots of TODO stuff, maybe Adi or DarkWyrm should have a look, maybe they can clear some stuff up for me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 16:05:05 +00:00
Stephan Aßmus
6283b1c6dd removed leftover code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 11:11:17 +00:00
Axel Dörfler
97d05e6652 Even if it's probably outdated soon: fixed a crashing but in Shutdown() if
no card could be found.
Note, the replacement does not suffer from this anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 00:17:12 +00:00
Stephan Aßmus
d324aa8386 fixed MiniTerminal rendering, for real now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-30 00:12:24 +00:00
Stephan Aßmus
bf72c9e259 fixed MiniTerminal rendering
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 23:56:42 +00:00
Stephan Aßmus
d01b623805 some improvements to font handling, but Miniterminal still renders only black blocks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 23:42:52 +00:00
Michael Lotz
507c1efe07 I didn't want to mess with the screen resolution, sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 23:04:26 +00:00
Michael Lotz
73fc67136c Choose headers according to DISPLAYDRIVER, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 23:00:58 +00:00
Stephan Aßmus
d3b0b7b979 fixed some font related problems, Painter should now rely on the app_server font manager. maybe I fixed some compile problems too. Sorry if that was the case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:57:43 +00:00
Michael Lotz
a4f89893df Added the input_server port to the AccelerantHWInterface - again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:44:13 +00:00
Stephan Aßmus
3f537e5fa7 moved more of the old stuff from DisplayDriver into DisplayDriverImpl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:22:28 +00:00
Stephan Aßmus
13066bfea1 it belongs here
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 22:01:21 +00:00
Stephan Aßmus
b3b4f48527 removed const declaration to allow locking in DisplayDriverPainter, as I think access to this needs to be serialized
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 21:45:52 +00:00
Stephan Aßmus
7940a07172 DisplayDriverPainter should now use the new AccelerantHWInterface when compiled for Haiku, added locking to the rest of the functions which access HWInterface instance
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 21:26:58 +00:00
Axel Dörfler
d19337ad86 The previous change overwrote the $defines variable, although both defines should
be there at the same time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 20:37:30 +00:00
Michael Lotz
da4526cdcf TEST_MODE is now disabled on Haiku too. So app_server is not a BApplication anymore and doesn't depend on itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 19:50:39 +00:00
Michael Lotz
9775bf33cf TEST_MODE is now disabled on Haiku too. So app_server is not a BApplication anymore and doesn't depend on itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 19:49:55 +00:00
Stephan Aßmus
9c59f2f207 fixed app_server build, though I don't exactly know why that fixes it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 18:32:43 +00:00
Stephan Aßmus
d3db964ed0 code refactoring, moved common stuff into the base class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 17:36:38 +00:00
Michael Lotz
b87be17fc8 Fixed the last remaining warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 17:31:31 +00:00
Axel Dörfler
86e150e821 app_server.rsrc is no longer used (we already have the .rdef file).
Fixed the application signature in the .rdef file.
Removed some "how to write an .rdef file" comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:38:17 +00:00
Michael Lotz
b2c9e18270 Accelerant based implementations of HWInterface and RenderingBuffer. Untested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:31:46 +00:00
Axel Dörfler
82aa535b3f Updated app_server Jamfile to be able to build a server that runs under Haiku
if $TARGET_PLATFORM requires this.
Note, "jam app_server" for R5 did not work for me before and does not work now
although the number of errors are reduced - whoever knows the requirements for
the app_server under R5 better than me, please fix this.
Added the app_server as well as some more drivers to the Haiku HD image. Since
RUN_WITHOUT_APP_SERVER is still defined, it won't work correctly, though.
For the time being, you need to manually alter this and the Bootscript in order
to run it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 16:21:55 +00:00
Axel Dörfler
b2b5acff33 Made DISPLAYDRIVER a true compile time option.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 15:39:08 +00:00
Stephan Aßmus
1a7fc52717 added some functions with optimized implementation, optimizes most frequent usage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 01:43:04 +00:00
Adi Oanca
eb6bc5d5ff Started to implement workspace support. Surprisingly, with this small change changing workspaces actualy works. An it works quite well I may add. :-) So happy the new window manager which I heavily tested actualy works inside app_server. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 21:32:24 +00:00
Adi Oanca
256c1b1502 Insignifican change. Read uint32 instead of int32.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 21:26:35 +00:00
Stephan Aßmus
e33b90ea35 implemented cursor support in the DisplayDriverPainter
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 18:03:45 +00:00
Stephan Aßmus
e0bb2421ea whoa - how did this even work?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 14:29:18 +00:00
Stephan Aßmus
181a984e2a implemented the rest of the drawing calls save for Stroke/FillShape, since I would have to ask what kind of data this function is being passed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:39:35 +00:00
Stephan Aßmus
02ec6ae825 Implemented and tested the color spaces B_RGB16, B_RGB15, B_CMAP8 and B_GRAY8. The trick is this: The Painter based implementation will most likely always use a double buffered approach. I simply made the back buffer, into which Painter draws, always B_RGBA32, while the front buffer can have any other format the drawing backend is supposed to support. In CopyBackToFront, the format conversion is handled. This gets us pretty far without actually doing very much, and I am not even sure if there should/can be a better implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:38:11 +00:00