2229 Commits

Author SHA1 Message Date
Stephan Aßmus
264fe59ded * introduced IntPoint and IntRect, which are just like BPoint and BRect,
but use integer coordinates. These are now used in ViewLayer for the
  coordinate system (layout, scrolling offset, view bitmap layout)
* modest performance improvements by inlining some very often used
  methods, and by preventing to go down the entire layer tree too often,
  for example InvalidateScreenClipping was always called in the deep
  mode, therefor it is save to assume that the tree does not have to
  be traversed as soon as the clipping is already invalid


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-29 03:20:07 +00:00
Stephan Aßmus
ba688f3640 * small fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-29 03:16:51 +00:00
Stephan Aßmus
4d83ef04a2 * something was giving me trouble, don't know if this fixed it
or something else, but I don't think the change is bad (changed
  ServerProtocol.h from a local header to a system header)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-29 03:16:10 +00:00
Stephan Aßmus
5288f0a48d * use exit() instead of exit_thread(), makes profiling even possible
with the built-in GCC profiling (thanks Axel)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-29 03:14:15 +00:00
Stephan Aßmus
64792e619e * small fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-29 03:13:15 +00:00
Stefano Ceccherini
0c48fc7c74 Enable state synching for ServerPictures. Fixes bug 520
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-28 14:52:51 +00:00
Michael Lotz
8449c78396 Fixing build of the printing package for BONE and hopefully R5 too.
Now printing to that old HP LaserJet 2100 over an even older LPR print server from R5 with the PCL5 driver and LPR transport...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 20:06:18 +00:00
Stephan Aßmus
fa4cfdbf62 * use B_RGBA32 icons in shutdown process window (untested)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-17 09:56:42 +00:00
Ryan Leavengood
499aacdd0a Fixed bugs #177 and #180 by adding code to notify the input_server that the
system is shutting down.

For the protocol between the Registrar and input_server I decided to just
re-use the message constant already defined in the input server headers
(SYSTEM_SHUTTING_DOWN.)

The code in the input server to notify the InputServerDevices about the
shutdown was pretty trivial.

For the code in the Registrar I'll let some gurus review it to make sure it
fits in with the rest of the code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 08:19:12 +00:00
Stefano Ceccherini
420fe80e5c Moved picture data writing to its own class, thus simplifying code in
various places. Implemented SetLineMode op for BPicture, fixed shape 
drawing (I accidentally broke it in the previous commit).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-12 20:00:36 +00:00
Axel Dörfler
fd5c02b25c * The recent files list now also preserves the case of the MIME strings.
* STL allocations are guarded by a try/catch block.
* As in RecentApps, Get() did not properly populate an error condition.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-12 17:46:34 +00:00
Axel Dörfler
ddacfc7ff0 * The recent app list now filters out Tracker & Deskbar, as reported by Korli.
* The application signatures now preserve the case; this is better for querying
  after the app, and has no disadvantage.
* Adding an item to the list is now guarded by a try/catch block - allocations
  can fail, and the registrar shouldn't get down because of this. We need to
  proof-read all of registrar (and storage kit) for this :-/
* Get() did not populate an eventual error while adding items to the provided
  list (such as B_NO_MEMORY).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-12 17:16:13 +00:00
Stefano Ceccherini
ab757c7a3a our BPicture stream format wasn't compatible with R5 one.
Hopefully fixed all the problems. Reported by 
Marc Flerackers. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-09 21:53:45 +00:00
Stefano Ceccherini
8f38753043 ReadString() actually allocates memory... fixed that and another memory
leak


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-31 11:24:58 +00:00
Axel Dörfler
8e963d88f0 The app_server did not reset keyboard focus on B_INPUT_METHOD_EVENT messages.
This should fix bug #658.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-31 01:24:05 +00:00
Stefano Ceccherini
2f9eca855a moved Shape related defines to their own header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-30 21:20:38 +00:00
Stefano Ceccherini
34633cab94 patch by Lucasz Zemczak which adds BShape drawing support to BPicture. Actually we should use a ShapeIterator subclass (like Lucasz did here) in Painter too instead of having duplicating code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-30 20:42:54 +00:00
Axel Dörfler
07dc2c6972 * The app_server now gives top-most menus the keyboard focus.
* BMenuWindow now makes its menu focus view, so that it can receive key events.
* Keyboard navigation doesn't work as it should though, that is bug #670 is
  still valid - there should even be another recently opened bug about this,
  but Trac obviously ate it :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-30 14:21:28 +00:00
Axel Dörfler
158893b903 The input_server now removes all B_INPUT_METHOD_EVENTS when the target view is
not input method aware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-29 19:12:29 +00:00
Axel Dörfler
7430a5bea6 Removed the superfluous (doubled) AS_MOVEPENTO as well. Also removed those old constants
from the ServerProtocol.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-26 22:48:31 +00:00
Stefano Ceccherini
0e683ed9aa ServerPicture was using the wrong StrokeRect call (the one which ignored
the pen size). Added scale handling. Removed duplicated AS_SETPENSIZE 
handler in ServerWindow


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-26 19:49:02 +00:00
Axel Dörfler
b735e46de3 Extended input method protocol a bit: you can now set "be:inline_only" to true, which
means that no bottomline window will be opened in case the current view is not input
method aware.
Instead, only the confirmed B_INPUT_METHOD_CHANGE event will be translated to a message
the view will understand - this message must be part of the event in the "be:translated"
member.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-25 10:45:45 +00:00
Stefano Ceccherini
467dbaa9e2 Fill/StrokeArc support for BPicture, courtesy of Lucasz Zemczak
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-23 11:54:44 +00:00
Stefano Ceccherini
0c40a6370e added part of a patch by Lukasz Zemczak which adds ellipse
filling/stroking support to BPictures. 
Thank you!"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-23 09:50:22 +00:00
Stefano Ceccherini
3ffcd64e5c updated headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-23 09:29:30 +00:00
Axel Dörfler
8a93edb60c Made all server version and signatures consistent, and thus closing bug #909.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-22 17:56:02 +00:00
Axel Dörfler
37ec4f04fe * Cleanup of signatures and version infos - this is part of a fix to bug #909.
I've done all preferences apps for now, and some related.
* Some other related cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-22 14:55:44 +00:00
Axel Dörfler
c04f283d6a Fixed the bug noticed by Philippe - we might not only be able to open the
"interfaces" file in the future :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 21:37:31 +00:00
Axel Dörfler
b01a3a33a6 * Implemented node monitoring: if you change the interfaces settings file, the
networking stack is reconfigured automatically.
* The previous default route is now removed before installing a new one.
* "gateway" was missing in the driver settings to BMessage conversion template,
  and thus, it was only set to a default value in case there was no settings
  file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 13:37:13 +00:00
Axel Dörfler
535df2cff3 Now also supports setting a gateway through the configuration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 12:20:44 +00:00
Axel Dörfler
53d1802e02 Now checks if a valid configuration was found, and if that's not the case, it
will automatically configure the stack - without DHCP for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 12:11:19 +00:00
Axel Dörfler
1a2ad4cb2c * Moved settings stuff into its own file.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 11:24:57 +00:00
Axel Dörfler
919c897b98 Started writing the new networking server. Right now, it'll configure the
networking stack according to some settings file. Doesn't do anything beyond
that yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 10:45:11 +00:00
Axel Dörfler
122a163324 The mouse event window will already be reset in RemoveWindow() (through HideWindow());
doing it here is not only superfluous, it would also cause to lose the window when switching
to a workspace where the window is not visible and back while dragging it around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-17 20:52:03 +00:00
Axel Dörfler
8c68eab694 Fixed two different bugs that could cause bug #896:
* the app's Activate() method was called unsafely; the ServerApp pointer could
  have become invalid in the mean time.
* when hiding a floating window (because its parent got hidden) that had focus
  or even was the mouse event window (was currently dragged over the screen)
  the focus was not moved to another window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-17 20:44:13 +00:00
Axel Dörfler
7dfa04527c Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-17 20:40:26 +00:00
Jérôme Duval
6bb2fbd521 inherited is a private typedef of BWindow, said gcc4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-14 15:18:57 +00:00
Axel Dörfler
6edab6011e We must not have the font manager locked when locking the desktop (no matter
if read or write); there are some methods that cause a locking of the font
manager (like ServerFont::SetFamilyAndStyle()).
This fixes bug #885.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-12 12:34:19 +00:00
Stefano Ceccherini
c585b1f46d GetEscapements() didnt' take the font spacing into account. Looks like the spacing is ignored by the font backend, though, am I correct?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-03 11:46:55 +00:00
Axel Dörfler
8b4fbcf3ad * Now dumps a message to the serial debug output in case a GUI server died; if the
registrar or the input_server died, you didn't get any notification before.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-28 15:47:44 +00:00
Jérôme Duval
ee670e9ce2 simplified syntax
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 13:05:39 +00:00
Stephan Aßmus
fd49bce12e * For DrawBitmap(), the bitmap rect needs to be aligned onto pixels
just like the view rect. This fixes bug 721.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 11:55:23 +00:00
Stephan Aßmus
d39634ce4d * on R5, the meaning of B_CONSTANT_ALPHA is a bit different
with regards to drawing bitmaps with alpha channel, instead
  of ignoring the bitmap alpha channel, it is further multiplied
  with the high color alpha channel, so basically, you can
  use the high color alpha as a "global" alpha value to
  draw the bitmap with
* removed some duplicate code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-14 18:07:02 +00:00
Stephan Aßmus
846cc588f2 * a fix for the bug where clicking a window decor button drew
over the mouse cursor. The problem is actually something else:
  non-straight lines extend a little past the calculated rectangle 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-14 18:03:39 +00:00
Stephan Aßmus
ae540011ed * when the layout branch was merged, the same problem
got fixed twice, any unoptimized lines were drawn at
  a (0.5, 0.5) offset


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-14 18:00:09 +00:00
Stephan Aßmus
a907e70198 * a hack to support transparent CMAP8 color in bitmaps
(this would fix the white background on disabled looking
   icons if Tracker would still use B_CMAP8 icons)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-14 17:57:37 +00:00
Stephan Aßmus
af957c251b * don't read the frame buffer a second time when no
blending has to take place


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-14 17:55:55 +00:00
Stephan Aßmus
4423855cbd This is the kind of bug you can search for hours. At first, I suspected
a concurency problem in the DrawingEngine, so there is some debugging
stuff added, as well as some unnecessary locking removed there. The
problem was in Painter though, in that certain functions adjusted clipping
at the "rasterizer level", while some other functions didn't care about
that. Now the clipping is consistently set at the rasterizer level (rough
estimate to avoid scanline generation outside real clipping region bounds).
There are a number of bugs fixed by this, I'm going to find out later,
what their ticket numbers are... Mouse preflet draws the mouse now,
Backgrounds preflet draws the screen reliably... probably more, anything
to do with bitmaps, round rects and possibly ellipses.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-13 20:02:00 +00:00
Ingo Weinhold
6bfd06d1ff BRoster::Launch() eventually launches the application in question
in several steps:
1. early pre-registration with the registrar ("I wanna launch the
   app, make sure noone interferes.")
2. load the app image
3. finish pre-registration with the registrar ("I have launched
   the app, here is its team ID.")
4. start app main thread
5. send "on launch" messages to the app (argv, refs, others)

If the app is already running or being launched, 1. fails with a
conclusive error code and returns the team ID and the pre-registration
token of the app. Steps 2 - 4 are skipped and only the messages are
delivered using the team ID returned by 1.

This change fixes a race condition: The failed early pre-registration
request obviously cannot return the team ID, if the other thread
launching the app has not finished step 3 yet. Thus the argv/refs
message would not get delivered and Launch() would not return the
correct team ID.

Now we wait for the pre-registration to be finished in this case, using
the former _IsAppPreRegistered() mechanism, which already provided
such a waiting feature for one request. It has been extended to
accomodate an arbitrary number of waiting requests and renamed to
_IsAppRegistered().

This fixed bug #763.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-31 17:54:16 +00:00
Stephan Aßmus
7fb6186f3c * integration of vector icons with the registrar and the mime data base
* additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType
  and BAppFileInfo, which handle flat vector icon data
* changes in Tracker to support scalable icons (currently broken for
non-vector icons and needs cleanup) and drawing icons correctly with alpha
channel (large parts of this work done by Michael Lotz)

If someone feels like looking over the changes, that would be much
appreciated! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 17:06:23 +00:00