Commit Graph

86 Commits

Author SHA1 Message Date
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
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
DarkWyrm
4e9042b685 Fix build
Remove a NULL pointer reference in debug code


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 17:35:17 +00:00
DarkWyrm
0d9d87e7f2 Debug output tweaks and changed temporary cursor-related debugger calls to printf's to make other development less annoying
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-19 15:12:35 +00:00
Adi Oanca
e32785759f Fixed cursor bug; made some cursor handlers temporaly unavailable. :-D - this is part of moving PollerThread into RootLayer class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 22:23:34 +00:00
Adi Oanca
f4687e882c * moved input handling code from Desktop class to RootLayer
* PollerThread was replaced by WorkingThread(RootLayerX)  thread which is created every time a RootLayer object is created and destroyed when deleted.
* ViewDriver now initializes the "inputServer" port because it is one of the first objects instantiated by the server.
* changed the way a RootLayer(ex Poller) quits. The thread is not killed anymore, it is been asked to quit nicely. This prevents (future) deadlocks.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-16 21:35:02 +00:00
haydentech
f260cedb5a Implement bare-bones AS_SYNC message handling - this fixes a problem whereby app_server<->client communications would come to a stop since the client expected a reply from this message and would never get one because it was unimplemented
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 16:18:44 +00:00
DarkWyrm
720dc8a4d1 DrawString updates the pen position
Removed a bug preventing use of antialiasing in DrawString
StrokeLine updates the pen position now
Added a couple forgotten break statements to a few cases in DispatchMessage


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-16 22:42:08 +00:00
DarkWyrm
37aec728fa Updated the various drivers to match the DisplayDriver::StrokeLineArray changes
Removed dead code from ServerApp.h
Added to ServerWindow support for area-based messages and implemented code for AS_STROKE_LINEARRAY


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-16 02:02:27 +00:00
DarkWyrm
76d4213d60 Removed a couple of unnecessary includes
(Hopefully) patched a crash under the BApplication Quit2 test
Speedup for CursorManager::RemoveAppCursors


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 23:00:47 +00:00
DarkWyrm
8dd37bd51b s/OpenBeOS/Haiku/
Bugfixes to graphics cases in ServerWindow
Added assignment operator to GraphicsBuffer
Style fixes for ServerCursor and ServerBitmap
Implemented and integrated CursorHandler to clean up DisplayDriver code some
Hotspot bugfix for ServerCursor(cursordata *)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 22:50:02 +00:00
DarkWyrm
98ecc9715d Added to Utils a function to compute polygon boundaries
Moved Utils to libappserver - DisplaySupport needs it
Tweaked PicturePlayer to match polygon function tweaks
Added Shape, Region, and Polygon handling to ServerWindow
Removed ServerWindow::DispatchGraphicsMessage
Numerous small tweaks to DisplayDriver


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-17 10:27:58 +00:00
DarkWyrm
82cd90d8c9 Added support for stroking and filling rectangles, roundrects, arcs, beziers, and ellipses
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 22:21:26 +00:00
DarkWyrm
a3d34bb143 Added a couple of conversion methods for BPoints
Did some serious playing with update code in ServerWindow and Layer
BView::StrokeLine calls draw to the screen(!!!)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-14 00:51:51 +00:00
DarkWyrm
8436893ffd Remove a couple desktop-related files no longer needed
More specific TODO comments so we can use grep to understand in a general sense what still needs done


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-29 15:01:44 +00:00
DarkWyrm
4a10a4f0ea Fixed a quit bug in ViewDriver
Slightly improved ServerScreen::SupportsResolution
Implemented a DPMS hack for ViewDriver and DirectDriver
Moved various supporting classes from DisplayDriver.cpp to DisplaySupport.cpp
Added server-side support for BWindow::SetSizeLimits


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-08-07 20:30:58 +00:00
DarkWyrm
ad56ce66a3 Pahtz's changes to use BPortLink systemwide, with a few minor other changes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-30 15:16:59 +00:00
Adi Oanca
eac978a987 Cleanp continues. Removed 2 methods from Workspace class because were related to rebuild/redraw stuff. Workspace should only care about corect window placement and order.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-10 10:54:20 +00:00
Adi Oanca
0732418e3b Cleanup started in Workspace and RootLayer classes. Some 'Invalidat' code moved from Workspace to Desktop class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-10 06:28:41 +00:00
Adi Oanca
16039b760a This is it. Update code is ready. At leat I think so. Testing is next. Uh, didn't thought this could be this easy. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 20:37:13 +00:00
DarkWyrm
a596e677c7 AppServer.cpp: removed a memory leak from new_decorator
decorators now set appropriate fonts for their context
WinBorder: tweaked some debug output settings
Layer: tweaked some debug output settings
PicturePlayer: added some tentative code and notes for escapements in DrawString case for player
CursorManager: update to resemble OT style
RootLayer: removed testing-purposes-only Draw() function
	Implemented methods to read in workspace data
Workspace: Janitorial work
	Added methods for packing and unpacking settings
	Added some members for holding basic settings
Desktop: Moved workspace data functions to RootLayer
Other files: Janitorial work


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-26 02:15:48 +00:00
Adi Oanca
a68bab127c I'm in the middle of corect window drawing while using the mouse.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-20 20:02:32 +00:00
Adi Oanca
c233705d66 semaphore related work. ServerWindow has a few methods guarded by a semaphore. Same for WinBorder.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-19 13:04:50 +00:00
Adi Oanca
8491b62602 Cleanup for ServerWindow object
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-19 10:23:14 +00:00
Adi Oanca
e26d667afe Fixed window focus state drawing in ServerWindow::Show(). Changing focus with the mouse does not work, yet. Tomorrow, I'll fix that.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 22:27:46 +00:00
Adi Oanca
c7ad7fe18e Some imprudence for me. All decorators got (re)drawn instead of the one in question. Fixed that.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 19:13:06 +00:00
Adi Oanca
ead47553f2 Decorator-resize redrawing fixed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 15:24:36 +00:00
Adi Oanca
560a22494e Windows properly displayed. I mean, both, its border and top_layer are
shown. Some redrawing problems remain while resizing... They will be
fixed soon.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-18 11:50:17 +00:00
Adi Oanca
0573400f8a Damn vi. I'll use nano next time. Sorry about my previous blank message.
Trying to make windows visible again. :-)) Made decorator until now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-17 14:39:21 +00:00
Adi Oanca
d754f1a3d6 *** empty log message ***
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-16 06:40:26 +00:00
DarkWyrm
a3031ab19b Added cases for Minimize buttons in decorators
Buttons on up-to-date decorators now work properly


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-14 20:32:21 +00:00
DarkWyrm
4f4af1fe79 Janitorial work -- mostly moving style closer to OT guidelines
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 18:21:57 +00:00
DarkWyrm
70e337a0b4 Janitorial work and minor ServerWindow tweaks
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 14:47:36 +00:00
DarkWyrm
a64bba1208 Janitorial work, mostly
API tweaks in WinBorder
Removal of some unnecessary TODO comments
Decorators now draw buttons when clicked


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 02:46:48 +00:00
Adi Oanca
885eed5c44 a little cleanup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-02 20:44:46 +00:00
shadow303
43404a847e Rename clippReg to clipReg
Implement drawing and clipping for display driver - drawing and clipping should work including pensizes.  Drawmodes, line caps, and line joins aren't supported yet.  Some implementations will need to be revamped.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-20 01:31:28 +00:00
Adi Oanca
31776f9842 resize support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-16 19:24:18 +00:00
DarkWyrm
da08bdd09d Checkin for Caz (without pain, even!) which adds rudimentary DrawBitmap support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-16 17:52:31 +00:00
Adi Oanca
9baac8ab74 small fix to make a WinBorder unhidden
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-04 20:26:17 +00:00
Adi Oanca
3350f57dd7 modified the way BView data is received.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-03 15:05:49 +00:00
Adi Oanca
c125512504 * lots of fixes mainly to region rebuilding, because WinBorder and is a bit special Layer subclass.
* clarified Layer creating process.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-28 15:00:31 +00:00
Adi Oanca
8fca004965 replaced PortLink with BSession as the default hanlding system in DispatchMessage()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 11:54:44 +00:00
DarkWyrm
31b34533a7 Converted numerous printf() calls to STRACE(()) calls
Added some mouse click handling code to WinBorder
Made WinBorder mouse hooks simpler
Added some mouse handling code to ServerWindow


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-21 02:58:39 +00:00
DarkWyrm
dd82cdacbb Fix from Adi to display a window only on the current workspace
Finished converting ServerWindow::DispatchMessage() to PortMessage use
removed a forgotten breakpoint from ServerApp


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 02:02:01 +00:00
DarkWyrm
247a93434e ViewDriver functions won't do anything if not initialized
Style tweaks to a number of files to better match OT guidelines
Added MsgCodeToBString to Utils.cpp
Removed a crash on new_decorator


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-19 22:18:37 +00:00
Adi Oanca
0a8120dd1c * fixed some bugs, and improved some things.
* rendered BWindow::RemoveFromSubset operationable
That's it! I seems regular windows NORMAL/FLOATING/MODAL windows are shown when and how they should be.
There are other kind of windows, to be precise B_SYSTEM_LAST and B_SYSTEM_FIRST, with witch I played very little. I'll be back on them 2 weks from now when I hope I'll start codeing again. Till then... happy coding! :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-17 16:33:22 +00:00
Adi Oanca
34168867a4 solved some problems with floating subset windows
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-16 16:09:36 +00:00
Adi Oanca
fa554b7dd8 Fixed focusing problem
some optimizations to "drawing code"(not the real one) because of more efficient locking.
... other improvements.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-14 15:55:10 +00:00
Adi Oanca
47007fb071 MANY improvements since yesterday!
Now, we can have EVERY kind of window properly displayed in the *right* order!
You can even use BWindow::AddToSubset and - it works!

Also Mouse click works to change front/focus state between windows.

Unfortunately window movement hasn''t yet been implemented and there are *minor* problems with the focus.
That's all! If you want to see something... construct a project and use:
* new BWindow()
*BWindow::Show()
*BWindow::AddToSubset[Of]()
and link against libopenbeos.so.

Ok now, bye!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-14 00:26:15 +00:00
Adi Oanca
158c46331a new desktop management code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-13 00:56:36 +00:00