Commit Graph

673 Commits

Author SHA1 Message Date
Adi Oanca
2f6d87a6c5 Removed some commented code of mine as it's no longer needed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 20:54:00 +00:00
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
Stephan Aßmus
c3bfa6fec9 avoid a crash if used without attached buffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 13:33:15 +00:00
Stephan Aßmus
9543470f44 RootLayer thread can busy loop, and with this change, its easier to shoot app_server whereever it hurts most
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:13:19 +00:00
Stephan Aßmus
f6939eb1e1 more correct implementation, but still exhibits problems, usage turned off in ViewHWInterface::Invalidate
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:11:33 +00:00
Stephan Aßmus
94b3e6bfd0 ignore the pattern passed to the drawing functions, keep using the one from SetDrawData
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:08:10 +00:00
Stephan Aßmus
55a56d8b0e added fake_input_server.cpp to the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:04:44 +00:00
Stephan Aßmus
022badfd34 extracted the fake input_server communication into an extra file used by ViewDriver and ViewHWInterface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 11:04:00 +00:00
Stephan Aßmus
53115c9920 moved the place of implementation of locking in DisplayDriver, because the Painter version has it elsewhere. the DisplayDriver locking API is now abstract, the same locking is now in DisplayDriverImpl, Painter version uses HWInterface for locking
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 22:02:19 +00:00
Adi Oanca
d9bbe07efa When the active window (the one who has both, focus and front states) changes, messages are sent to the client side. This makes BWindow::WindowActivated to be called on such am event.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 13:52:26 +00:00
Adi Oanca
80cbe2b0f3 2 new methods
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 13:48:30 +00:00
Adi Oanca
2401f93d84 Added FrontWinBorder(). Made FocusWinBorder() and a few other methods inline.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 12:58:27 +00:00
Adi Oanca
ab88eaf2ad BWindows are notified when they are moved or resized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 12:19:37 +00:00
Adi Oanca
867b420067 get_workspace_windows() new returns true if there was a change in window hierarchy. Improved performance a bit by avoiding an invalidate call.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 10:51:28 +00:00
Adi Oanca
aa498a5f03 get_workspace_windows() now returns bool
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 10:49:42 +00:00
Adi Oanca
9e358400f5 Sending windows into background works now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 10:00:37 +00:00
Michael Lotz
6109122c9b Implemented screen to screen blit and cleaned up header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 05:29:56 +00:00
Michael Lotz
65369afd6d Implement AS_LAYER_COPY_BITS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 05:25:59 +00:00
Michael Lotz
f43d1e849d Implement AS_LAYER_SET_PATTERN.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 04:08:33 +00:00
Michael Lotz
a2a622616f Some cleanup to make it easier to read.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 03:33:23 +00:00
Michael Lotz
d5373f593a Minor cleanup and a small fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-27 01:57:28 +00:00
Stephan Aßmus
c3314ff5eb added DPMS functions to HWInterface as well as Initatialze and Shutdown, added a couple of TODO comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 23:23:40 +00:00
Stephan Aßmus
4594032d1a got this added\?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:26:42 +00:00
Stephan Aßmus
3294d07b15 abstract base class and implementation using BView and BWindow of an interface to a graphics card, UpdateQueue doesn't work yet, it was going to be used to decouple frame buffer transfers to the front buffer from the drawing in the back buffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:16:29 +00:00
Stephan Aßmus
5cdd702901 use a DisplayDriverPainter version if config says so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:13:23 +00:00
Stephan Aßmus
1b52d7cf9c include my new stuff in the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:12:37 +00:00
Stephan Aßmus
3d07835f2a init display mode
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:11:52 +00:00
Stephan Aßmus
517e54d0d9 added more support functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:10:54 +00:00
Stephan Aßmus
80547db1f2 added some support functions for string bounding box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:09:58 +00:00
Stephan Aßmus
4157339be2 started to implement stuff, it can actually be used and renders my test app almost like the old implementation, plus clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:09:02 +00:00
Stephan Aßmus
e56d7bd374 fixed type in RootLayer, which I found because I triggered a bug
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 22:05:40 +00:00
Stephan Aßmus
e2408620c3 disable the build of agg_font_freetype.cpp for now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 16:49:40 +00:00
Michael Lotz
0f1414c791 Add Jamfile for libpainter.a to fix the build of app_server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 10:51:07 +00:00
Michael Lotz
2f45e7ed71 Update inline documentation to reflect the removal of the strlength field
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 10:40:13 +00:00
Adi Oanca
61c1519f03 Small fix to send B_MOUSE_MOVE/UP messages to the BView which acquired the mouse
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 09:18:27 +00:00
Adi Oanca
40b3f1e1ec * clicking inside the active window no longer gets you into debugger. :-P
* Updated KeyboardEventHandler to use the new focus method.
* don't read strlength on B_KEY_DOWN/UP as this gets you into debugger when using ViewDriver.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 08:55:27 +00:00
Adi Oanca
07fdbe8f67 Moved app_server window a bit to the left.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 08:41:46 +00:00
Stephan Aßmus
80141c9fc5 libagg is now build as static
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 23:34:35 +00:00
Stephan Aßmus
1fc2bd8922 the beginnings of the Painter version of DisplayDriver, I don't know what I'm doing yet, so just ignore this for now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 22:46:10 +00:00
Stephan Aßmus
a850bd1d8f added Painter to the app_server build and fixed the Jamfile to include the drawing subfolder for header search path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 22:44:18 +00:00
Michael Lotz
b1530ab8e8 When sending native keydown/keyup events the delivery of the string was broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 21:51:02 +00:00
Michael Lotz
96b832ac57 No need to endless loop here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 21:39:53 +00:00
Michael Lotz
d31e3b8e27 Use FTFace() function to get the face instead of always creating a new one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 21:11:46 +00:00
Michael Lotz
6d495dfc26 FT_New_Face is a quite heavy function and shouldn't be called for every StringWidth, StringHeight and DrawString call. We now keep it open in FontStyle and destroy it there too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 21:02:40 +00:00
Michael Lotz
c98108eee3 The monitoring thread should be called "picasso" (lower case) as in BeOS R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 20:39:43 +00:00
Michael Lotz
22cf66212c Update AccelerantDriver to the new API and implement all necessary functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 19:59:10 +00:00
Michael Lotz
0653d45f5b Adapt to new location of display drivers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 19:46:28 +00:00
Stephan Aßmus
c0fe8a07c9 moved Painter into drawing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:55:49 +00:00
Stephan Aßmus
3ddd2fc70f started to move files arround for better source structure, app_server still builds and runs fine, in case you were worried...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:48:49 +00:00
Stephan Aßmus
10612543aa step 3, exracted code from DisplayDriver into DisplayDriverImpl, adjusted the existing implementations to derive from the new class, got rid of some "friend" stuff along the way, essentially I made room for the new Painter based DisplayDriver implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:29:20 +00:00
Stephan Aßmus
cd9401a70b second step, all unused stuff is actually removed from DisplayDriver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 13:27:20 +00:00
Stephan Aßmus
f595ecf898 as a first step, all appearently unused calls are commented outfrom DisplayDriver and derived classes, I moved many implementations arround to match the order of the declaration in the header, makes it easier to find stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 13:14:59 +00:00
Axel Dörfler
89501e16b9 Forgot to update fonts Jamfiles - ideally, these should be moved somewhere else,
maybe into the data/ directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 14:51:25 +00:00
Axel Dörfler
33bbe22391 Moved app_server files to app/.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 14:45:52 +00:00
Axel Dörfler
7abf63d292 Moved app directory out of the way to ease moving.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 14:43:40 +00:00
Axel Dörfler
13b81f062e Removed old app_server files. server/ will be moved on layer up next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 14:31:53 +00:00
Stephan Aßmus
bdef3a8ede spotted some potetial segfault bugs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-24 12:59:13 +00:00
Stephan Aßmus
592bc7d4a3 updated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 23:13:29 +00:00
Stephan Aßmus
a0ee6395cd updated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 23:10:43 +00:00
Stephan Aßmus
6fb68b835c added missing string rendering functions, on Haiku, there should be support for drawing bitmaps in all colorspaces that BBitmap::ImportBits knows how to convert to B_RGB32
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:34:45 +00:00
Stephan Aßmus
8df0e71d06 support rendering strings up to a certain length, ie less then strlen
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 22:33:06 +00:00
Stephan Aßmus
a0c67cdb39 refactored DrawBitmap to support a version BBitmaps and one for ServerBitmaps, implemented InvertRect, but that was a while ago, and I didn't test it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-23 20:31:33 +00:00
Adi Oanca
165177a105 Added support for Layers capturing the mouse (Mouse events). Changed WinBorder to use mouse events.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-21 20:29:24 +00:00
Adi Oanca
464ebc06c7 Some extra locking when adding a WinBorder
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-19 19:08:19 +00:00
Adi Oanca
07bde8ab89 * solved that damn bug that run me into debugger. yuppyyy.
* removed some comments
* mouse down messages go only to the view that has focus. Yeah, they didn't. :p
* solved a bug where some windows did not redraw when hiding a modal.
* another bug where a floating window would not come in front for gaining focus.
* added client's team_id into window title.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-19 18:58:47 +00:00
Adi Oanca
48e72f82e6 Removing subset windows works now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-18 19:00:45 +00:00
Adi Oanca
ddf57545a2 Improved locking. A bit. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:41:00 +00:00
Adi Oanca
211de495df Keyboard and Mouse handlers went private.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:37:56 +00:00
Adi Oanca
943ba1b132 MoveToFront() returned 'invalidate' for a floating window when it shouldn't; window was already in front as possible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 17:36:30 +00:00
Adi Oanca
89bdde9df1 There was too much debug output for regions rebuilding
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 20:59:00 +00:00
Adi Oanca
8b4cf1c373 Fixed a problem with floating subset windows not being shown when their main window became active. (Cleared visible regions for it and its children when automatically being removed from workspace)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 19:25:15 +00:00
Adi Oanca
c14d3fc9bd Some progress on supporting subset windows.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 22:54:01 +00:00
Adi Oanca
8866e7b709 RootLayer.h: introduced a method for highlighting window tab when focus
changes.
RootLayer.cpp: window tab was properly lit only when changing focus with
the mouse. Now the same happens when showing or hidding windows.
Desktop.cpp: normal windows created after floating windows did not had
B_FLOATING_APP_WINDOW_FEEL windows in their internal list, thus when such
a window was selected to become the front most it did not show floating
app windows in front of it. Fixed that now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 19:53:44 +00:00
Adi Oanca
9015d08261 .
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 17:07:40 +00:00
Adi Oanca
c9df3905a8 Improved performance when getting windows list from the active workspace. no more call malloc() every time the list was needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 23:26:05 +00:00
Adi Oanca
a6fa470989 Window tab is highlighted/grayed when changing between windows
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 22:07:44 +00:00
Adi Oanca
d3beb2a46c Window moving and resizing resumed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 21:34:04 +00:00
Adi Oanca
d29c4f5287 Some objects must be destroyed on server quit.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-07 21:52:41 +00:00
Adi Oanca
74d5a8f70e Fixed a couple of crashes. app_server nicely quits now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 23:21:36 +00:00
Adi Oanca
e438905abd New window manager comming in.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-28 20:23:51 +00:00
DarkWyrm
348f28e773 Removed the locking from RootLayer::Buttons -- caused a hang in the one place it is called. (doh!)
Implemented ServerApp handler for BFont::CountTuned and added a standby handler for BFont::Direction
Tweaked the ServerWindow debug output


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-23 01:45:48 +00:00
Adi Oanca
0b9056c784 BMessages which reach BWindow now take full advantage of application_kit's power in sending BMessages to BHandlers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-07 00:45:59 +00:00
DarkWyrm
a7870927a4 Implemented AS_SET_FAMILY_AND_STYLE_FROM_ID. One more thing that works better than R5. ;)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-05 22:46:54 +00:00
DarkWyrm
ee1240b38e RootLayer now tracks which mouse buttons are down
Implemented ServerWindow code for GetMouse


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-05 21:39:39 +00:00
DarkWyrm
fac4ccbae7 Made Layer::RequestDraw actually request a screen update
Added a second method for ServerFont::SetFamilyAndStyle and added return codes
Removed a couple memory leaks


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-05 20:12:05 +00:00
Stephan Aßmus
6c1ebb0fcb huge cleanup and more style guide conformance, removed agg namespace, used marcos for inlined blending functions to avoid dereferencing, which gives a small speedup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 15:52:46 +00:00
Stephan Aßmus
2902c1573a a little clean up, usage of unpacked scanline container gives a small speedup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 15:45:12 +00:00
Stephan Aßmus
033e1e690c DrawingMode is no longer in agg namespace, an ellipse is drawn with a minimum of 12 sections
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 15:43:23 +00:00
Adi Oanca
998521f78d Helped BWindow for calling the apropriate BView hook methods on some mouse and keyboard events
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 22:50:48 +00:00
Adi Oanca
0a09721a2c Added a private field to B_MOUSE_DOWN message to know whose BView::MouseDown() method to call
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-03 21:31:42 +00:00
DarkWyrm
f3721fd1d7 Tweaked the GetSystem font calls to prevent memory leaks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-01 23:23:45 +00:00
shadow303
b9717a7150 Long overdue fixes for internal API change, now if I could just unbork my system enough to test them...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 00:19:38 +00:00
Stephan Aßmus
aaea96798d the version for B_OP_COPY that ignores the pattern and uses the color from the AGG renderer directly, thus the renderer color needs to be set up correctly, which Painter does take care of
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:49:00 +00:00
Stephan Aßmus
884e8bc6b5 flag for using a solid version of a DrawingMode, currently only B_OP_COPY actually has an implementation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:45:59 +00:00
Stephan Aßmus
597841da50 trying to optimize for B_SOLID_XXXX, implemented separate _SetPattern function, which encourages usage of a special DrawinMode instance, but it is currently not used, because it didn't give much speedup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 21:44:38 +00:00
Stephan Aßmus
4f6cd6ef55 some additional status information
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:10:06 +00:00
Stephan Aßmus
d4734e04d1 support for switching the alpha drawing mode when the blending mode changes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:07:21 +00:00
Stephan Aßmus
8eca754bfd support for the rest of the drawing modes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:05:37 +00:00
Stephan Aßmus
3741b755dc huge clean up
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 13:02:27 +00:00
Stephan Aßmus
681c4b3ba5 rest of the drawing modes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-28 12:59:17 +00:00
haydentech
c0e4d12489 AS_LAYER_POP_STATE was inadvertantly deleting the entire layerdata stack instead of just popping the top one off
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-27 23:16:28 +00:00