Commit Graph

632 Commits

Author SHA1 Message Date
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
Adi Oanca
faa0ed6a33 s/(c) 2001-2002, OpenBeOS./(c) 2001-2005, Haiku, Inc.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 20:44:09 +00:00
Adi Oanca
574540edd2 Removed a redundant BMessage when mouse button was pressed. This message is already sent by WinBorder::MouseDown(). Window content was redraw when a window became active. Removed some code that anyway was not used. It will be replaced by the new window manager which is comming soon.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 21:04:23 +00:00
Adi Oanca
c4e214743d All 'Invalidate' methods are now private, intended for RootLayer's use only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:59:27 +00:00
Adi Oanca
304feb8ad5 RebuildAndForceRedraw() is not needed anymore
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:57:51 +00:00
Adi Oanca
bd1ede2ae9 Yes... I really don't remember why I haven't subclassed FMWList from BList...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 17:34:47 +00:00
Adi Oanca
383461c7ee 3 global variables (gRedrawReg, gCopyRegList, gCopyList) went into RootLayer's property
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 17:18:19 +00:00
DarkWyrm
c0dc91fc00 Since last checkin version had no description:
Huge amounts more debug output available
Resolved several timing issues
Fixed a major problem with sending mouse messages to the server when emulating the input server
There are still stability issues with initial startup
Still some drawing problems
It *works*!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 18:59:50 +00:00
DarkWyrm
2471ba9f3d Cleaned up driver init section of Desktop -- worry about multiple drivers only with AccelerantDriver
RootLayer: debug output fixes and removed a compiler complaint


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 18:22:48 +00:00
DarkWyrm
c36b4a4409 messaging fixes to RootLayer and ViewDriver
minor tweaks to ServerWindow


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 15:39:01 +00:00
DarkWyrm
7605e77d21 Added GetFamilyAndStyle
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 13:40:11 +00:00
Adi Oanca
63f09583e3 Oups. Layer::MoveBy/ResizeBy() escaped me. :-) The actions they used to perform are now executed only by RootLayer's thread.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 23:25:41 +00:00
Adi Oanca
b4fe86df56 Yes... B_FULL_UPDATE_ON_RESIZE on Layer resize not with every redraw. :-D
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 21:51:39 +00:00
Adi Oanca
ed446d324d ServerWindow.cpp:
* made MonitorWin thread wait until associated WinBorder is hidden
and RootLayer's lock is acquired.
RootLayer.cpp:
	* added 2 public methods for calculating visible regions.
ALL:
	* all previous 'Invalidate' methods now call RootLayer's ones.

	That's it, all region calculations are done in the context of the
high priority thread: WorkingThread.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-22 20:51:12 +00:00
Adi Oanca
864a2c6456 Window showing/hiding is now done in RootLayer::WorkingThread's context
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:18:25 +00:00
Adi Oanca
f6e53a25ec No need to lock anymore when calling ServerWindow::SendMessageToClient()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:16:15 +00:00
Adi Oanca
6a257c30a9 Moved window moving code from ServerWindow. CPU consuming operations now run win WorkingThread's context. Added locking mechanism for WorkingThread. Removed locking arround ServerWindow::SendMessageToClient().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:13:00 +00:00
Adi Oanca
1cd22df0dc Added 2 private methods for showing/hiding WinBorders. Added a BLocker member.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:09:06 +00:00
Adi Oanca
fde7aed2ee Moved 'Invalidate' calls in RootLayer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 21:06:59 +00:00
DarkWyrm
56bead3235 Implemented ServerFont::SetFamilyAndStyle(id,id)
Other API tweaks to ServerFont
Style changes in ServerFont


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 13:13:08 +00:00
DarkWyrm
de48335a77 Added handlers for a few unhandled and unimplemented BView calls
BView::GetMouse won't block the app for now, at least


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-21 02:01:28 +00:00
Stephan Aßmus
08f1d3c965 refactoring and cleanup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 23:26:13 +00:00
Stephan Aßmus
34651df507 extracted general blending function
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 23:24:02 +00:00
Stephan Aßmus
f71ffba994 implemented more drawing modes, refactored a little, still work left to do...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 23:07:07 +00:00
Stephan Aßmus
95ff0e4fe8 Maybe I have actually nailed bitmap scaling, though I would think that the BView implementation doesn't exactly follow the Be Book. Could be I'm overlooking something. Anyways, Painter seems to behave like the original now. The previous revision had a compile error too for aliased drawing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 22:57:17 +00:00
Adi Oanca
84b62fccc0 * closing a window no longer takes you to debugger
* send mouse_[move/up/weel] only if the cursor is inside a window(not
above decorator)
* added WinBorder::MouseWheel()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 18:39:08 +00:00
Adi Oanca
8357c93db5 Fixed that annoying cursor bug where the window dissapeared on moving
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 17:30:37 +00:00
Stephan Aßmus
30fd3eb18a line profile is now cached by being a member of Painter, as was suggested by Maxim, it's too heavy an object for being created on the fly
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 15:23:23 +00:00
Stephan Aßmus
db94952b4f updated info
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 14:54:42 +00:00
Stephan Aßmus
8cd6385cfe adopted for different PatternHandler version
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 14:27:08 +00:00
Stephan Aßmus
cb8e43abdf now integrated with Haiku build system, so no more need for this
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 14:23:07 +00:00
Stephan Aßmus
2e4822e67d new B_OP_ADD drawing mode
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 14:15:58 +00:00
Stephan Aßmus
9e89de2ca6 adopted to different PatternHandler version
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 14:14:50 +00:00
Stephan Aßmus
1b837c4b6b there can only be one
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 14:13:10 +00:00
Stephan Aßmus
7ca3c69091 added some convinience functions to handle rgb_color additionally to RGBColor
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 14:10:11 +00:00
Stephan Aßmus
0a86682dd0 this code is part of the Painter testing framework, and thus doesn't belong here
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 12:53:26 +00:00
Stephan Aßmus
ba35b5d77d this file has been moved to headers/private/servers/app
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-20 12:44:07 +00:00
DarkWyrm
7a5829aab1 Made modifications to send keyboard messages to client applications
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 18:59:41 +00:00
Adi Oanca
aea21365e7 Cursor operations are made through RootLayer's(ATM, the only one) CursorManager and visible settings directly call RootLayer's DisplayDriver.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 18:00:05 +00:00
Adi Oanca
3b5df3c151 'cursormanager' not global anymore
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 17:55:50 +00:00
Adi Oanca
eb7b20d820 RootLayer now has a stack allocated CursorManager
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 17:54:03 +00:00
Adi Oanca
f9ef06250c FindCursor is now public
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 17:52:53 +00:00