Commit Graph

12937 Commits

Author SHA1 Message Date
Axel Dörfler
80a230b10e Rewrote the push/pop state and ViewAttr stuff:
- it now seems to work finally correctly
- renamed ViewAttr to ViewState and put it into the BPrivate namespace
- some refactoring (moved some private BView methods to ViewState)
- renamed AS_LAYER_MOVETO/RESIZETO to *_TO (note the underscore)
- exchanged BView::originX/Y with fParentOffset (BPoint)
- divided AS_LAYER_GET_COLORS into separate ones for high/low/view color
- BView::SetPattern() now actually works as expected (ie. updates
  only if necessary)
- exchanged the ViewAttr::flags with ViewState::valid_flags which inverses
  the previous logic (which wasn't even used consistently)
- fState was initialized twice (incorrectly by the ViewAttr constructor,
  and then again correctly by initCachedState()) - now the ViewState
  constructor does the job alone, but correctly
- BView::PushState() no longer resets the state (it did so only locally
  anyway...)
- cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 18:56:55 +00:00
DarkWyrm
f479b4974a Added a 2-state BBitmap button for later usage in Shuffle and Loop buttons
Added a playlist class which will be later used for handling tracks
CD music will stop on quit to avoid confusing users
Added pause up/down images to resource file
Style tweaks to some files


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 18:56:16 +00:00
Stefano Ceccherini
feb8560ca9 Implemented run_be_about()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 17:36:31 +00:00
Stefano Ceccherini
df6d71c9fe More forgotten people (I guess we should hire someone just to maintain the about box)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 16:02:43 +00:00
Adi Oanca
f97b5cb586 Moved CopyBits from ServerWindow to Layer. Also, made CopyBits code execute in RootLayer's thread
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 15:34:54 +00:00
Stefano Ceccherini
914c1a4528 You can't return a pointer to an array allocated on the stack. This fixes the uptime not being showed correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 15:30:44 +00:00
Axel Dörfler
0c26ddbc29 The MenuBar background is now drawn correctly when selected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 15:11:58 +00:00
Adi Oanca
843c11c953 another message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 15:09:02 +00:00
Adi Oanca
1302949204 Layer::Show/Hide now works. Improved some invalidating calls. fixed some potential problems
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:57:16 +00:00
Ingo Weinhold
3c0a815896 The registrar now uses BServer instead of BApplication, which makes it
completely independent of the app server.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:55:57 +00:00
Ingo Weinhold
9351453415 * Added a private API class BServer, a BApplication subclass especially
for servers, that don't have a GUI or want to control when the app server
  connection is established.
* BServer is necessarily a friend of BApplication, for it uses a private
  constructor. Hence BApplication::Private::InitGUIContext() is no longer
  needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:53:29 +00:00
Ingo Weinhold
7e5f681ff4 Check the BApplication construction error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:48:26 +00:00
Stefano Ceccherini
62d011e8ef Fixed build on r5 & haiku (patch provided by Philipp Schmid)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 14:48:09 +00:00
Ingo Weinhold
c8e7f53e08 * Radically culled the list of BApplication friends and introduced a
BApplication::Private class for accessing relevant parts.
* Pulled the app server connection and IK initialization out of
  InitData() into a new method _InitGUIContext() and introduced a private
  constructor that allows to avoid this initialization. This will be used
  for servers that don't have GUI respectively want to init the app server
  connection later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:55:16 +00:00
Adi Oanca
ecf3bc3eb4 moving and resizing windows works with the new clipping code. scrolling BViews also works.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:25:32 +00:00
Stefano Ceccherini
3b3a60ad5a Small change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:17:30 +00:00
Stefano Ceccherini
ec05366603 "trailing text" -> "trailing_text". Same for label.
I even take responsibility for this bug, as I told Marc to change it eons ago. 

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:12:22 +00:00
Adi Oanca
876a13d8dc added a scroll message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 12:02:49 +00:00
Ingo Weinhold
290bc091c7 We use B_BITMAP_NO_SERVER_LINK BBitmaps internally now. This should remove the only app_server dependency the registrar has before shutdown.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 11:54:48 +00:00
Ingo Weinhold
07b6630b86 Made reading and writing memory overflow safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 11:19:30 +00:00
Axel Dörfler
a87826801c Added workaround for current stability problems of the app_server: giant lock,
say hello to RootLayer.
Adi will probably not like this, but that's definitely only a temporary solution :-)
This little fix greatly increases app_server stability under Haiku - ie. menus
are working now, the team monitor comes up regularly, etc. - how great is that?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 03:23:16 +00:00
Axel Dörfler
276aa135a7 The size limits are now correctly enforced on window creation, ie. the ResizeLimits
test application now works as it should.
DefaultDecorator::GetSizeLimits() did work correctly, there was no need
to have extra protection limits.
Enabled Stephan's automatic resize code on BWindow::SetSizeLimits() again, and
added a short comment why I think R5's behaviour is just a bug/leftover.
Moved guts of ResizeBy() into _ResizeBy() that doesn't send the update message
to the client, and is now called in the constructor to make sure the border
size is within limits. Also made it work there, as fTopLayer is NULL in that
environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 02:00:48 +00:00
Axel Dörfler
d4e2c64c2a Added small app that tests window resizing and size limits.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 01:54:27 +00:00
Axel Dörfler
85bd83a710 AS_CREATE_WINDOW now also gets the actual frame width and size limits of
the window on server side - ie. if the app_server could not create a
window of the size requested, BWindow::fFrame will still be correct
(and the size limits will mirror actual decorator limits).
Renamed fMinWindHeight and friends to fMinHeight and so on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 01:14:39 +00:00
Axel Dörfler
5727f0cfa2 B_WINDOW_RESIZED sends int32 values, not floats.
Made message parsing more robust for a lot of messages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 00:58:26 +00:00
Axel Dörfler
c17904c587 The B_WINDOW_RESIZED message now looks exactly like it does under R5, ie. has a "when" field, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 00:53:41 +00:00
Ingo Weinhold
047ab3f955 Be on the safe side when checking the size of data to be written to an area (overflow).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 00:35:28 +00:00
Stephan Aßmus
f8570b7199 substract the border width from minSize, as that is the inner width of the window
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-28 00:34:51 +00:00
Stephan Aßmus
063f418c53 made room for a new meaning of BitmapBuffer, it will be used for a RenderingBuffer class that wraps arround a ServerBitmap. BBitmapBuffer on the other side is handy as well and wraps arround a BBitmap, as BitmapBuffer did before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 22:11:27 +00:00
Stephan Aßmus
203661c9d0 svn does not do what I want before I commit this... It's going to be renamed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 21:53:17 +00:00
Axel Dörfler
0ed7eba713 Reverted last change, as BFont::IsFixed() does now work properly, thanks to Stefano.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 19:57:16 +00:00
DarkWyrm
175c92ffb3 Updated the resource signature to match the app's signature
Utilize CDDB lookups
Use display controls look similar to LED panels on CD players
Window is resizable and controls respond appropriately
Added support to display elapsed time, both for the CD and the current track
Numerous little bugfixes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 18:44:34 +00:00
Stefano Ceccherini
9f5ffc2c3c Fixed BFont's GetTunedCount() and IsFixed()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 15:44:47 +00:00
Stefano Ceccherini
418ab0643a Apparently I can't reuse those references, as it leads to every kind of bugs. I wonder if it's just plain wrong or it's a gcc bug. Minor changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 12:35:14 +00:00
Axel Dörfler
08d9a6e30d Some minor work on minimum window sizes. A WinBorder now makes sure it has
a valid size on construction; DefaultDecorator should do that as well.
ServerApp AS_CREATE_WINDOW now makes sure it passes a valid rectangle to
ServerWindow's constructor.
Smaller default size for Layers that have been created with an invalid frame.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 02:06:15 +00:00
Axel Dörfler
0d58f3c284 BFont::IsFixed() doesn't seem to work correctly under the app_server yet
(though the implementation *looks* correct), so I've disabled this check
for now.
This let it draw the data correctly, although the line selection has
artifacts that are not present under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 02:01:32 +00:00
Axel Dörfler
84d9f25ac5 The thread renaming was broken under R5. Cleaned it up a little.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 01:58:56 +00:00
Axel Dörfler
9793d44045 Removed superfluous BView::findView() and moved its functionality to BView::FindView().
Fixed it on the way - it's a bad idea to pass NULL pointers to strcmp().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-27 01:54:12 +00:00
Philippe Houdoin
75480b6bf8 Add Mesa & SGI's GLU copyrights.
Still need to investigate about precise GLUT copyright(s) situation.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 22:07:18 +00:00
Philippe Houdoin
0017390797 Add dependency to the pseudotarget 'obj' to improve MergeObjectFromObjects rule.
Thanks to Ingo for the hint.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 21:52:51 +00:00
Philippe Houdoin
d5cf9b7feb Removed GLX headers: was never there anyway!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 21:48:15 +00:00
Philippe Houdoin
8e6b7c38fb Add opengl kit to build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 21:34:31 +00:00
Philippe Houdoin
006a9e008b Add a first draft OpenGL kit.
The OpenGL software renderer add-on should follow soon.
Allow to link GLTeapot as native, but without renderer, nothing is displayed ;-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 20:21:09 +00:00
Philippe Houdoin
9b531940b9 Link against native libGL.so. Native OpenGL headers too.
Changed the app signature to match resource one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 15:53:49 +00:00
Philippe Houdoin
c17c7c0645 Internal Mesa3D's private declaration use everywhere in Mesa code.
Maybe this header will move in the future...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 13:54:42 +00:00
Philippe Houdoin
0061feaff0 Import OpenGL kit headers, thanks to Mesa3D project.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 13:50:18 +00:00
Stefano Ceccherini
025793417a Added \n to the debug strings, so we get the output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 06:26:03 +00:00
Stephan Aßmus
18cbc4ff3d Using the read locking in DisplayDriver was a bit early. Painter itself is not thread safe, so while we use the HWInterface lock for locking, we can only do read locking once each window has its own Painter instance. I'm still investigating this possibility. It depends on the memory foot print of painter, of which I don't have a clear idea yet. Anyways, this quick change fixes Adis problems and is required at this time anyways. Sorry for the inconvenience.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-25 22:56:24 +00:00
Adi Oanca
e3fbc7752f integration of the new clipping code continues
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-25 15:45:58 +00:00
Stefano Ceccherini
d06e1bff11 Fixed array initialization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-25 14:13:30 +00:00