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 |
|
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 |
|
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 |
|
Stephan Aßmus
|
af1a2a015b
|
draw a check box, too
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12423 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 17:46:37 +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
|
8877eb5444
|
sorry
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12419 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 15:32:21 +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
|
00802b496b
|
even more convenience functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12413 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 12:26:10 +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
|
18f3859aed
|
cosmetical change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12411 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 11:53:22 +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 |
|
Stephan Aßmus
|
2b9de7c55a
|
whoops, I broke MiniTerminal, temporary fix until I find the real problem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12409 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 10:30:18 +00:00 |
|
Stephan Aßmus
|
4da1508aa9
|
added convenience functions to PatternHandler and refactored the setting of the DrawingMode in Painter
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12408 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 10:20:53 +00:00 |
|
Stephan Aßmus
|
3d16cf4bce
|
Painter drawing functions now return the BRect enclosing all pixels that have changed, use this for invalidating the correct area in the backbuffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12407 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 09:55:15 +00:00 |
|
Stephan Aßmus
|
94176e0118
|
fixed typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12406 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 09:29:02 +00:00 |
|
Stephan Aßmus
|
2c4812801c
|
We're now a fun little drawing app
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12405 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 09:26:38 +00:00 |
|
Stephan Aßmus
|
8efa2a5dbc
|
fixed one moree clipping bug with StrokeLine
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12404 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 09:01:07 +00:00 |
|
Stephan Aßmus
|
5e33f6e551
|
pattern is not passed to the drawing functions anymore, it is expected to be set in SetDrawData
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12403 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 08:53:28 +00:00 |
|
Stephan Aßmus
|
026470a78c
|
no more fOrigin and fScale in Painter, everything is now expected in absolute (screen) coordinates
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12402 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 08:37:52 +00:00 |
|
Stephan Aßmus
|
87e0d62446
|
define the use of the new BRegion AGG renderer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12401 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 08:17:18 +00:00 |
|
Stephan Aßmus
|
17360617d2
|
fixed a really lame bug in the StrokeLine call that caused all these problems with line drawing and or invalidation afterwards, avoid transforming the clipping region into another format used by AGG by using a special BRegion based renderer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12400 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 08:15:04 +00:00 |
|
Stephan Aßmus
|
519c55739f
|
an agg renderer that uses a (reference to a) BRegion for storing clipping information, this avoids transforming the clipping from Painter to the agg world
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12399 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 08:12:29 +00:00 |
|
Stephan Aßmus
|
8770be761d
|
convert the invalid rect to the top layer coords, Adi, an update message is only sent when a layer is the top layer in Layer::RequestDraw, I don't know how to fix this, but it would be nice to have BView::Invalidate working.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12398 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-15 00:31:39 +00:00 |
|
Stephan Aßmus
|
6359ecc258
|
just a temporary thing... I couldn't resist
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12391 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:24:42 +00:00 |
|
Stephan Aßmus
|
a52667ee9c
|
added a comment about how it would be nice if ServerFont could be guaranteed to be valid (ie it doesn't crash if you call one of it's functions from outside code, I like it when a C++ class is an encapsulated object, maintaining a valid internal state, and whatever client code does, it should just never crash)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12390 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:22:01 +00:00 |
|
Stephan Aßmus
|
53ca92129f
|
code is more correct
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12389 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:12:44 +00:00 |
|
Stephan Aßmus
|
8fdfa137d6
|
don't crash if the system fonts are not initialized
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12388 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:12:06 +00:00 |
|
Stephan Aßmus
|
bd841e3cd4
|
fall back fonts are actually used now if you didn't install the Vera fonts on R5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12387 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:11:33 +00:00 |
|
Stephan Aßmus
|
d3665bb866
|
mostly cosmetic changes, nothing of substance
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12386 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:10:41 +00:00 |
|
Stephan Aßmus
|
d78aea1846
|
hides a bug where we appearently read from the cursor out of bounds because of float to int converting issues... need to investigate that. In any case, I got the cursor position thing completely wrong, my intentions of setting it to 0.5, 0.5 were something else...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12385 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:09:03 +00:00 |
|
Stephan Aßmus
|
ec668ad701
|
Cosmetical changes and quite a few bug fixes along the way - B_RGB24 is definitely not supposed to be 32 bits per pixel. For example. Added another constructor to take on bitmap data from somewhere else
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12384 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:06:01 +00:00 |
|
Stephan Aßmus
|
9afc50fd98
|
cosmetical changes and some bug fixes along the way, added another constructor to take on bitmap data from somewhere else
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12383 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-14 00:04:26 +00:00 |
|
Stephan Aßmus
|
1f9c8f7df0
|
I must compile before I commit. I must compile before I commit. I must compile before I commit...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12376 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-13 19:38:25 +00:00 |
|
Stephan Aßmus
|
4c90b41029
|
If you don't declare the destructor virtual in the base class, you will leak memory and the destructor of an inherited class might not be called at all. Removed unnecessary comments. Enhanced readability, because I felt like it...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12375 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-13 19:31:24 +00:00 |
|
Stephan Aßmus
|
c9ceeec23c
|
Reverted some changes by Adi, because the way it works now is more helpful in finding bugs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12348 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 13:16:58 +00:00 |
|
Stephan Aßmus
|
6697162d5c
|
just a slightly more robust default font handling... should now work on Haiku even if you didn't install fonts from BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12347 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 13:15:38 +00:00 |
|
Stephan Aßmus
|
8a92263232
|
I _think_ the global system default fonts were never set. I added that to the _init_interface_kit_ function, and it fixes the system fonts under R5. It might have looked like it worked on Haiku before, but I think the be_fixed_font was just the first font found by the scanner in either Haiku and BeOS, while on Haiku, this was Courier just by chance. If this is not the right place to call _init_global_fonts, please tell me or just fix it. I tested under Haiku and BeOS and it looks like it works...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12346 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 13:02:20 +00:00 |
|
Stephan Aßmus
|
643d10bb64
|
Added a big TODO comment, StrokeLine takes now non-const DrawData.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12341 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:28:25 +00:00 |
|
Stephan Aßmus
|
b176b6b493
|
The DisplayDriverPainter is now also the default on Haiku. The DisplayDriverImpl stuff is left out for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12340 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:22:16 +00:00 |
|
Stephan Aßmus
|
5eec899752
|
added a TODO comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12339 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:15:53 +00:00 |
|
Stephan Aßmus
|
a53e726400
|
StrokeLine takes a non-const DrawData, penlocation is altered.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12338 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:15:25 +00:00 |
|
Stephan Aßmus
|
a11f3c21fd
|
StrokeLine takes now a DrawData, but it is only work in progress. The changes will be more drastic in the end.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12337 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:14:29 +00:00 |
|
Stephan Aßmus
|
80ed6173ec
|
Hinting works now and is enabled, the support for transformed text is probably completely broken now. To reenable it, the font loading needs to ask for vector glyphs when there will be a transformation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12335 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:12:59 +00:00 |
|
Stephan Aßmus
|
0858a6fca1
|
The freetype hinter only works correctly if the embedded transformation is the identity matrix. The AGG freetype font engine has a flip_y method to make it easier to work with coordinates where y points down. Since it changes the embedded transformation, hinting was messed up. Therefor, this is a workarround to be able to keep using the identity matrix and still have y pointing down. It just flips the generated raster glyphs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12334 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:11:09 +00:00 |
|
Stephan Aßmus
|
764683a939
|
StrokeLine alters the pen location, DrawData needs to be non-const. I didn't make this change in the DisplayDriverImpl stuff, and it is left out of the build for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12333 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:07:20 +00:00 |
|
Stephan Aßmus
|
bd6b1617ec
|
a few cosmetic changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12332 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-12 08:05:03 +00:00 |
|
Stephan Aßmus
|
30f5afc8a9
|
I'm keeping the version which can be used as a BView replacement here. The API for the one used in app_server will change for it to be come more efficient.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12236 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-04-04 17:47:41 +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 |
|
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 |
|
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 |
|
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 |
|
Stephan Aßmus
|
e18f9c5e67
|
with the optimization for solid horizontal and vertical one pixel wide lines, and for solid rectangles, the performs gap between Painter and original BView closes, with BView being 0.12 times faster drawing lines and 1.4 times faster drawing rectangles... into a BBitmap
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12169 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-30 22:05:22 +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 |
|
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 |
|
Stephan Aßmus
|
0cabce17c3
|
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@12145 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-29 22:58:09 +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 |
|
Stephan Aßmus
|
127b4b0a4b
|
moved more of the old stuff from DisplayDriver into DisplayDriverImpl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12142 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-29 22:22:44 +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
|
e33b8950a0
|
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@12139 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-29 22:00:48 +00:00 |
|
Stephan Aßmus
|
a91f954cd8
|
this does not belong here
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12138 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-29 22:00: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
|
7ad3536bb5
|
remove some views, the more we use, the more problems...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12136 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-29 21:27:35 +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 |
|
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 |
|
Stephan Aßmus
|
0985210969
|
added this very useful compare function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12122 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-29 16:30:46 +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 |
|
Stephan Aßmus
|
74516f2ac3
|
added some functions with optimized implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12112 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-29 01:40:38 +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
|
31f3fbc45c
|
moved original cursor stuff into DisplayDriverImpl, now DisplayDriver is pretty much all abstract
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12106 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-28 18:03:04 +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
|
197f82a8fe
|
sorry, forgot to commit the move of the locking implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12093 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
2005-03-28 13:43:39 +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 |
|
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 |
|