Commit Graph

3551 Commits

Author SHA1 Message Date
Stefano Ceccherini
4695f67019 Completed the server part of BDirectWindow::SetFullScreen(). The window is
now resized and moved correctly. Moved this functionality to its own method.
Should fix bug #4168.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 15:57:22 +00:00
Philippe Houdoin
86ee03ec73 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 11:03:15 +00:00
Axel Dörfler
ca9e658bd9 * Added Eizo, thanks Jonas.
* Added comment to monitor_info::name retrieval via EDID1_MONITOR_NAME.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:22:28 +00:00
Michael Lotz
d7a16b238f * Fully switch to the Haiku message format so that it is also used for on-disk
storage.
* Remove reduntant information from the header (field_count vs. fields_size).
* Remove checksums previously used to validate the message passing by area
  mechanism.
* Move variables that are purely used by the instance out of the header and into
  the BMessage object.
* Use more sensible types for the different message fields.
* Reduce some field sizes to realistic values.
* Make size_t values into uint32 values so the message format will not change
  when later moving to 64 bits.
* Pack the structures used for flat message storage so it doesn't change
  because of padding.
* Fix message passing by area. It never worked because the created area was
  never actually filled with any data!
* Some more allocation checks with graceful fallbacks (should be all now).
* Some more checks for negative index values (should also be all now).
* Make printing more inline with how the rest of the class works and make some
  of the output more consistent.
* Also add the new unsigned types to PrintToStream() output.
* Fix printing of unknown types and invalid BMessages, it would always have
  printed only the first entry respectively the same error.
* Added some clarifying comments.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:19:36 +00:00
Axel Dörfler
ed8a411691 * Removed the questionable "found" stuff from GetMonitorInfo(); even if there
is no model name, the info is still useful (this also affects saving by
  monitor).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 18:46:13 +00:00
Axel Dörfler
9c1f8bf0c7 * Reverted r32012 which reopens #4127 - the fix causes strange behaviour with
CL-Amp which is a bit worse than seeing TrackerStatus in the Deskbar. Will
  search for a proper solution later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 15:34:04 +00:00
Stephan Aßmus
313fedacc1 * Let the Encoders use the media_codec_info.sub_id field for their own purposes.
* Implemented some of AVCodecEncoder. Maybe video encoding already works, but
  we don't know until the AVFormatWriter is more than just stubs... but I doubt
  it. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 13:06:34 +00:00
Axel Dörfler
c6906c2832 * In FFM mode, when a window was closed, or the workspace was changed, the
window under the mouse was given focus. This makes using FFM with the keyboard
  alone very inconvenient to use, which is why now the window that previously
  had focus will regain it instead; as soon as you actually move the mouse, the
  focus is changed as usual.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 11:58:59 +00:00
Axel Dörfler
23046a3935 * No longer maintain the Window::fMinimize member for hidden windows; this seems
to be what happens in BeOS, at least, and fixes bug #4127.
* Hopefully diver will also find any negative consequences of this change :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 10:43:47 +00:00
Stephan Aßmus
6033e52a83 Implemented support for get_next_encoder() variations from MediaFormats.h.
The AddOnManager in the media_server registers one encoder entry per
successful EncoderPlugin::RegisterNextEncoder(). This gives us a first idea
what media_format_family and input/output media_type is supported. The
mechanism may have to be extended, or the Encoder needs an API to specialize
a format further. In that case, the get_next_encoder() version that takes
optional _acceptedInput/OutputFormat needs to instantiate the plugin and
needs to ask the Encoder. But AFAIK, no app uses it like that anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 00:46:36 +00:00
Stephan Aßmus
ac13d1a272 * Style cleanup
* Check allocations and report error in case any fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 21:28:00 +00:00
Stephan Aßmus
7cd2513b82 Changed the way Encoders are published by EncoderPlugins. Encoder retrieval
in PluginManager is reenabled. We use the media_codec_info.id to reference
a specific plugin, while the sub_id will be used to reference individual
Encoders that the plugin supports. No idea if that's how it was intented, but
some comments hint in this direction. I failed to mention this before, but
comments are of course very welcome on any of these commits, as always.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 20:05:11 +00:00
Axel Dörfler
69f9a367bc * The app_server no longer uses workspace counts internally, but only columns,
and rows.
* set_workspace_count() now uses the logic formerly found in
  WorkspacesView::_GetGrid() to determine the layout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 00:52:21 +00:00
Stephan Aßmus
60c85abee5 Resolved TODO, make it clear who maintains the allocation of the
media_file_format array (it remains with the plugin itself, as with
DecoderPlugins).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 00:11:02 +00:00
Stephan Aßmus
7c06546a8e Implement the backend of get_next_file_format(). The AddOnManager maintains
a list for known media_file_formats. The internal IDs map to plugins.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 22:49:23 +00:00
Stephan Aßmus
c74bdf0919 In theory, I added management of WriterPlugins and EncoderPlugins. When looking
at media_file_format.id, I wonder if this could work without having to get an
entry_ref from the server for a WriterPlugin, added TODOs to this effect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 19:14:04 +00:00
Stephan Aßmus
e4b11fdb81 Header indentation updated, changed "* " style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 17:58:46 +00:00
Michael Lotz
1aab2b2717 If the font style isn't found, try to scan for fonts as well. The same is done
for families. This fixes the bug that when a font family was already loaded, but
some of its styles haven't been loaded yet, the app_server would fail to set
the system fonts to those styles. Fixes bug #4148.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 13:04:08 +00:00
Michael Lotz
75251adc37 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 11:21:59 +00:00
Michael Lotz
337b8534e0 Don't crash the app_server if the font couldn't be found. Fixes bug #4149,
though it still has to be investigated why the font style isn't found.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 11:17:25 +00:00
Stephan Aßmus
c4d98f827b Wow... pure luck this worked as well as it did...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 10:38:13 +00:00
Ryan Leavengood
568b1f0baf Small workspaces view tweaks: draw only the currently focused window yellow,
and use the navigation color for the selected window (when dragging in the
workspaces view.) I hope window->IsFocus() is enough, the DefaultDecorator
seems to have more complex logic.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 06:52:00 +00:00
Stephan Aßmus
55feb44e82 BScreen uses ~0 to denote the current workspace *index*. This should fix
ticket #4144. Untested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 21:24:02 +00:00
Stephan Aßmus
390b0f9486 Added TODO about why the implementation of StoreConfiguratoin() is broken
if it were ever called for an inactive workspace, as our BScreen API in theory
allows you to do (not the BeOS API).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 21:22:54 +00:00
Stephan Aßmus
97fd0558de * Fixed bug introduced with recent commits that didn't keep the relative
offset of the mouse when resizing/moving windows when other constraints
  restricted the resizing or moving.
* Applied patch by Stephen Deken with changes by myself:
  - Windows now snap to the screen edges.
  - There is a snapping time window of 1.5 secs during which the window still
    snaps to the screen edge after it first snapped. Then there is a pause
    during which there is no snapping.
Thanks a lot, Stephen, and sorry it took so long, nice patch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 10:59:21 +00:00
Stephan Aßmus
6e4ad06302 Improved the anti-accidental-window-nudge feature: Use the activation delay
also in the MouseMoved() hook for a timeout. So window moving begins after
either a timeout of half a second, or after having moved the mouse at least
4 pixels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 22:37:07 +00:00
Stephan Aßmus
0f8d2b68cf Be a good boy and follow through with the new feature of server side window
shortcuts so that the second mouse button sends windows to the back... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 19:12:17 +00:00
Axel Dörfler
47d9ed62d3 * Added AS_GET_WORKSPACE_LAYOUT to get the number of columns/rows of the
workspaces.
* Added shortcuts Ctrl-Alt-{Left|Right|Up|Down} to switch to adjacent
  workspaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 17:22:11 +00:00
Stephan Aßmus
41969dbaf9 Fixed off by one error that would cause the array to be not filled entirely
when the gradient finished earlier than the area to be filled. This is visible
when drawing only one line of the gradient when it's outside the gradient area
as in ticket #3749. Though I am seriously wondering why it works when drawing
more than one line. Maybe a buffer overflow in the regular case? Will
investigate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 16:25:43 +00:00
Stephan Aßmus
90c518c2c2 Make sure the font size for the window labels does not grow beyond the system
plain font size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 16:09:50 +00:00
Stephan Aßmus
5147963dcd headers/private/kernel/util/OpenHashTable.h, Hugo's version, is a bit nicer than
Tracker's OpenHashTable.h which it should eventually replace. We've renamed the
class to BOpenHashTable and changed the interface slightly so that HashTableLink
became superfluous.
Adapted all the code that used it. Since the OpenHashTables no longer clash,
this should fix the GCC4 build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 00:39:12 +00:00
Stephan Aßmus
ab7a6c0999 Implemented experimental precaching of the system font
files during starting the app_server. Should in theory
reduce disk seeks when booting from CD.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 23:44:48 +00:00
Stephan Aßmus
e343673a0b * The app_server implements modifiers for performing decorator actions anywhere
inside the window. These are Command + Alt. In X11, it's just Alt, but that
  is already used in various Haiku/BeOS apps.
* Introduced new window flag B_NO_SERVER_SIDE_WINDOW_MODIFIERS to disable the
  above.
* Made click to front in FFM mode less strict, you can slightly move the mouse
  now and still click windows to front.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 20:45:04 +00:00
Stephan Aßmus
fb2c7f9394 bonefish + stippi:
Reworked the glyph caching:
* It is now glyph index based (a font file has an internal glyph code to
  index mapping, so that for example the same fallback glyph is used for
  all unsupported codes).
* We do not truncate to uint16 anymore at various places, but support
  the full 32 bit char codes.
* This made it necessary to switch to an OpenHashTable based cache lookup.
* In CharacterMap, you can now see that the second Unicode plane does not
  wrap around anymore.
TODO: Remove old entries from the hash table after a while to free up memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 18:04:01 +00:00
Stephan Aßmus
d29e4565b7 When the gradient finished ealier than the to be filled area,
the remaining part with the solid color of the last stop was
filled with red and blue swapped. In the current GUI, it would
only be visible with BTabViews. I am pretty sure there was a
bug report about it (by julun if memory serves), but I cannot
find it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 13:53:52 +00:00
Axel Dörfler
63c07622f6 * Some style cleanups, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 11:25:14 +00:00
Stefano Ceccherini
ab53bb2086 Export get_bytes_per_row() from InterfacePrivate.h, and use it in ServerBitmap
in place of the own rolled implementation. Comment typo fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 07:59:16 +00:00
Michael Lotz
07ff9929e5 Add missing newline in debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-25 20:03:21 +00:00
Stefano Ceccherini
e0826ec8d8 fixed gcc 4 warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-24 18:34:41 +00:00
Stefano Ceccherini
ba823bcb17 fBuffer was allocated with new and freed with "free()". Fixedx
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-24 18:34:05 +00:00
Stefano Ceccherini
e6a52fe4b7 Setting the font family/style in a BPicture works now. Added a comment
to ServerBitmap


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-22 16:38:52 +00:00
Stefano Ceccherini
de6a19ee14 Got rid of fBitsPerPixel (and BitsPerPixel()) in ServerBitmap,
since they were nowhere used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-21 18:28:31 +00:00
Stefano Ceccherini
4bb65f96fc Fixed some coding style violations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-20 17:27:41 +00:00
Stefano Ceccherini
2637ecd547 made some methods private. Those weren't used anywhere outside of the class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-20 17:25:27 +00:00
Stefano Ceccherini
bd09485ce9 try to handle the SetFontFamily case in ServerPicture, although it doesn't work. Maybe I'm not doing it correctly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-19 10:21:21 +00:00
Michael Lotz
63d557f06f Fixing random GCC4 warnings. Mostly missing consts, some parentheses, some braces... Should all be harmless and not change anything.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-16 02:42:03 +00:00
Ryan Leavengood
ef37e382db New midi_server icon roughly based on this:
http://karistouf.free.fr/images/BCR2000_G.jpg

The notes may not fit in with other Haiku icons and could be removed. I kind of
like them though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-15 22:56:55 +00:00
Oliver Ruiz Dorantes
111d946099 - Patch by Michael Weirauch, Finally a deskbar addon for bluetooth
- Functionality to stop services, start preferences, and show debug console
- Cleanups in signatures

-This line, and those below, will be ignored--

M    headers/private/bluetooth/bluetoothserver_p.h
M    src/servers/bluetooth/BluetoothServer.h
A    src/servers/bluetooth/DeskbarReplicant.cpp
A    src/servers/bluetooth/DeskbarReplicant.h
M    src/servers/bluetooth/Jamfile
M    src/servers/bluetooth/BluetoothServer.cpp
M    src/preferences/bluetooth/BluetoothMain.cpp
M    src/preferences/bluetooth/Jamfile
M    src/preferences/bluetooth/defs.h
M    src/preferences/bluetooth/BluetoothWindow.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 15:12:51 +00:00
Oliver Ruiz Dorantes
41077a99de Make debug window bigger
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 14:29:33 +00:00
Oliver Ruiz Dorantes
2a3b755cbe Add handling for write device class event
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 13:43:35 +00:00
Ryan Leavengood
71896c7386 Created an icon for the cddb_daemon. I wonder if it is too complicated, but
hopefully it makes sense. It is definitely pushing it size-wise (997 bytes.) It
is based on an item in my house (I even set it up on my desk to draw it in
IOM.) If anyone wants to tweak it, feel free.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 04:30:30 +00:00
Oliver Ruiz Dorantes
6d8521b1f4 - Fix brackets to not perform a delete on a missing instance
- Security checks on dissapeared devices


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 21:38:36 +00:00
Oliver Ruiz Dorantes
ccf28e4dd1 - Unregister the device when appears any error Issuing any command. Now at least we realize in userland when a dongle has been unplugged with the first problem appears.
- Move code between parent & children classes of the Accessors
- a bit Styling



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 19:46:40 +00:00
Oliver Tappe
16d5c24e53 * merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 10:30:09 +00:00
Axel Dörfler
4d365bbed9 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 12:59:56 +00:00
Oliver Ruiz Dorantes
deb0a3ed2f Some stars to left
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-02 20:43:04 +00:00
Oliver Ruiz Dorantes
ddac407426 - Add initial code to unregister devices from server
- Handle Hardware error event
- Add function to retrieve an string from a bluetooth error
- Styling



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-02 20:07:26 +00:00
Axel Dörfler
7f5bbbdc56 * Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
  adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 11:58:43 +00:00
Axel Dörfler
77fdfdfe5f * Fixed broken logic as pointed out by stippi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 11:26:15 +00:00
Axel Dörfler
c97f4931c8 * This should fix the app_server build under other architectures than x86.
* Fixed wrong operator precedence case in Painter::SetFont().
* Fixed dozens of style violations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 10:30:36 +00:00
Stephan Aßmus
92772bbddd Patch by Christian Packmann:
* Implemented a CPU feature detection function in AppServer.cpp.
  The results are put into the global variable gAppServerSIMDFlags.
* Implemented an SIMD accelerated version of the bilinear bitmap
  scaling code that is the backend of BView::DrawBitmap(...,
  uint32 options) used by the MediaPlayer to smoothly upscale
  movies when no video overlay is available. The speed up is very
  noticable and a Core 2 Duo @ 1.8 GHz can play at 1920x1200 now
  without breaking a sweat. There is currently one SIMD version
  implemented which uses MMX and plain SSE.

Very cool! Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 22:07:54 +00:00
Rene Gollent
926b6fdb08 Fix style violation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 19:34:15 +00:00
Rene Gollent
faafd00c1a Fix broken check for ctrl+cmd+esc that would result in any of ctrl+esc, cmd+esc or ctrl+cmd+esc triggering safe video mode, and as a side effect, prevent menus from being opened via keyboard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-21 19:33:07 +00:00
Stephan Aßmus
5c5195ee7e Fixed regression in SetViewCursor(). It wasn't possible anymore to switch
back to the system default cursor. For that cursor token, the global cursor
manager returns NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 15:26:34 +00:00
Stephan Aßmus
19e179ca4f * Moved the implementation of SetViewCursor from the thread of the
window of the view into the application thread. This solves the
  race condition with asynchronous SetViewCursor and deleting the
  cursor immediately afterwards for real.
* The ServerApp now requires a reference to the current cursor,
  just in case...
* Added TODOs for caching the BView token, it's currently resolved
  for every single BView call that talks to the server... not good!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 12:11:49 +00:00
Stephan Aßmus
5d62f8e0e5 Make it possible to properly use operator= on BCursors by making sure the
reference counting is maintained correctly in the app_server. While reviewing
this code, I have my doubts that my previous solution for handling pending
SetViewCursor() calls is always working as it is intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-20 10:10:01 +00:00
Axel Dörfler
83a9be236a * Implemented switching to the fallback video mode when pressing
Command+Control+Escape.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-16 21:22:10 +00:00
Oliver Ruiz Dorantes
a1163de83e - Long events were locking the bluetooth server, as events can be more than 256 counting with the header.
- Add debug more information in H2 driver and Command Status event
- Change name of port for posting events(former was too long)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-13 19:17:10 +00:00
Jérôme Duval
581708b997 * fix the build by moving a typedef to public scope, and avoid returning a value in the destructor
* some clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-13 10:42:11 +00:00
Oliver Ruiz Dorantes
c6083519e7 Make a bit more elegant the processing of bluetooth events
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-12 18:14:51 +00:00
Stephan Aßmus
483f3c84d9 Added lightbulb icon made by zuMi (idea alerts). Great work, thanks a lot!
Fixes alert part of ticket #1429.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-05 08:43:41 +00:00
Axel Dörfler
e9c7d49aa0 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-01 20:44:59 +00:00
Michael Lotz
cc636a35cb Simplify dirty region handling when copying regions. Basically the full region
is considered dirty and only what we are really able to copy (which excludes all
possible dirty regions) is removed from that again. This is simpler and less
error prone than to remove more than we may copy and then add the old dirty
regions back. Fixes a few region copy related redraw issues most visible in case
of scrolling like non-updated parts when scrolling in Tracker or Terminal as in
bug #3803.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-24 14:38:09 +00:00
Axel Dörfler
c8e7c8ef86 * _IsSystemApp() did not work anymore with the new directory hierarchy. It will
now check for the complete path instead of just the prefix. This fixes bug
  #3862.
* Made TRoster.h self contained.
* Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-18 09:10:58 +00:00
Bruno G. Albuquerque
68c8eecd08 - Clean up server output. Added more relevant information.
- Added the server to Bootscript.

This closes ticket #3446.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-17 14:15:00 +00:00
Axel Dörfler
4b74bbf276 * Make the shutdown request no longer prevent apps from being launched. Now
they only cannot be launched anymore once you acknowledge that request.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 09:13:26 +00:00
Axel Dörfler
1c38b061f8 * Style cleanup, added missing copyrights.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 08:58:32 +00:00
Bruno G. Albuquerque
4a35a822d5 - Finished up cddb_daemon. Still some cleanup needed here and there but it works.
- Added it to the image.
- Anyone wants to come up with an icon for it? :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-13 00:05:53 +00:00
Axel Dörfler
d48fe2445b * Added the option to the shutdown confirmation dialog to perform the "other"
shutdown, ie. either reboot or shutdown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-12 21:17:25 +00:00
Bruno G. Albuquerque
2a2eb31535 Work in progress. Just commiting so I don't lose this code due to OpenBFS bugs
for the third time. :P

- Implement CDDBServer class.
- Include relevant CDDB commands.
- Initial processing of CDDB data. Change device name.

This is close to be complete but I hit some cdda-fs bugs that need to be fixed
before I will finish this.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-11 00:55:42 +00:00
Bruno G. Albuquerque
2b829b045f - Fix DHCP client when multiple interfaces are present in the system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-07 13:00:08 +00:00
Stephan Aßmus
b037500155 Patch by Shinta: The key code was misnamed. Thanks a lot!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-03 08:32:17 +00:00
Stephan Aßmus
338299319e * Update header indentation
* Unify pointer style, it was a mix before


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 21:32:33 +00:00
Stephan Aßmus
cc0580fe34 * Small style cleanup and some comments added for clarity.
* FontManager::GetFamily() removed second call to _FindFamily() with no
  action in between -- why would it suddenly work the second time?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 20:58:24 +00:00
Oliver Ruiz Dorantes
1fd6d62418 Fix spelling errors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 20:19:47 +00:00
Axel Dörfler
f680cfe265 * The direct connection update in ServerWindow::{_Show()|_Hide()} is superfluous
since Korli's change in r30440.
* 80 character per line limit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 17:43:54 +00:00
Stephan Aßmus
c65cf0ae1a Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 12:31:53 +00:00
Jérôme Duval
55423bfa22 send DirectWindow events when hiding or showing a window
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-26 20:39:34 +00:00
Oliver Ruiz Dorantes
6971db8cca Do not leak the delegate, as suggested by Stippi
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-23 21:01:57 +00:00
Oliver Ruiz Dorantes
b9068dbf95 - Change LocalDevice getter for HCI id
- Fix some new some std::nothrow on critical allocations among kit and server
- Some styling



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-23 18:47:01 +00:00
Stephan Aßmus
fc235d5599 Patch based in large on work done by Philippe Saint-Pierre:
* When a BApplication is created, the interface kit globals for this team
  are initialized, including be_plain_font, be_bold_font and be_fixed_font.
  The plain font specifically is assumed the default font for all BViews.
  A BView is not required to every set the font, it will then just be the
  plain font, because the app_server already assigned it when the view is
  created. Here is where the problem starts. When the system fonts change,
  they change on the app_server and are picked up by new applications. Old
  applications will run with the old fonts, because the values remain the
  same and are stored in the already initialized be_*_font globals. So this
  was never a problem. What was a problem is that the app_server would use
  the current plain font for applications which were already initialized
  before the font was changed, so the values in their be_plain_font would not
  match the values in the server side font used when creating new views.
* This patch already prepares for the situation in which client applications
  want to update their be_*_font globals. This needs to be a manual act of
  the client applications, otherwise we would break existing apps. Maybe we
  could automate this for BWindows with the B_AUTO_UPDATE_SIZE_LIMITS flag
  and any child views with B_SUPPORTS_LAYOUT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 15:37:40 +00:00
Philippe Saint-Pierre
fe8e2eb13d * fix for coding style violation
Thanks Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 13:05:14 +00:00
Philippe Saint-Pierre
003491a5c1 This patch fixes the way the DefaultDecorator reads its colors
from DesktopSettings.  

It allows you to change the tab color (focused and non focused)
for new windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 12:05:07 +00:00
Stephan Aßmus
b40fb3c7b9 This patch deactivates accelerated graphics driver functions and also the double
screen height trick for using double buffering with an offscreen half of the
frame buffer. Whenever I run app_server without this patch, it frequently
locks up in weird ways. Additionally, app_server uses less CPU for many graphics
operations, notably the ones that require any blending, ie reading frame buffer.
This should be even more noticable for slow computers. The only draw back is that
slow computers may suffer a bit when just dragging a window, since that is
now performed on the CPU. However, I have high doubts that the benefits don't
outweight the drawbacks, and the feedback I have received indicates that as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 12:01:06 +00:00
Ingo Weinhold
1e855c376c * Patch by Fredrik Ekdahl: gcc 4 build fixes (missing headers).
* Added missing header for mountvolume.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-12 09:57:26 +00:00
Ingo Weinhold
0f37915687 * debug_create_symbol_lookup_context() gets a team ID instead of a
debug context now. That's all it needs.
* Added the option "-a" to the profile command line tool. It triggers profiling
  of the whole system. There are still some issues, particularly image related
  ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-11 22:59:31 +00:00
Ingo Weinhold
4fba3522e0 * Removed src/kits/tracker/OpenHashTable.h. The shared version in
headers/private/shared is newer, though with small interface changes.
* Removed the unnecessary Debug.h include in
  headers/private/shared/ObjectList.h.
* Adjusted sources using these headers, mostly by adding missing includes.
* Lots of automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-11 21:24:32 +00:00
Axel Dörfler
8734b81d23 * Made the NotificationManager.h header self contained.
* Changed some members to be part of the NotificationManager instead of
  allocated objects.
* Use BAutolock where appropriate.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 19:13:07 +00:00
Stephan Aßmus
c4005c4d29 * Some cleanup in the commented out debug code.
* Fixed a problem when scrolling. Basically, the region that could be copied
  should be removed from the pending dirty region. Before a region is copied,
  the dirty regions are removed from it. So the region at the target offset
  can always be considered clean. This fixes the problem in Tracker when
  enlarging windows that are already scrolled to the right or bottom. This then
  triggers the Tracker window to scroll the pose view in such a way that the
  bottom/right stays fixed, but would trigger this exact situation: The bottom
  is already pending dirty, but then the clean contents are copied on top of it.
Fixes ticket #1849 and perhaps also #2975.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 14:19:09 +00:00
Stephan Aßmus
ffdb0ccf4f Also improve the BPicture version of drawing line arrays.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 13:51:16 +00:00
Stephan Aßmus
ff4aa6dc03 Style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 13:49:51 +00:00
Axel Dörfler
5bb7f41847 * Fixed warning.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 21:10:08 +00:00
Stephan Aßmus
f99d546d87 Fixed incorrect comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 18:02:22 +00:00
Stephan Aßmus
86990636d4 Avoid using the heap allocator for most string drawing when reading the command
from the link. My benchmark measuring is inconclusive, the numbers are sometimes
very different. At first sight, it looks like string drawing can be up to
double as fast with this change, but sometimes, the numbers are about the same.
Hm.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-06 12:38:15 +00:00
Rene Gollent
0f617d4476 Fix several cases of forgetting to include libstdc++ in the libs. This allows a successful build of Haiku on gcc4 Haiku, though it's presently unclear to me why this didn't prevent linking on any other platform (gcc2 haiku, and gcc2/4 cross compilers from FBSD had no issues here).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-05 22:33:53 +00:00
Stephan Aßmus
12349c7d3d Begun to use structs for the BView<->app_server communication. This makes
the protocoll less prone to errors, reduces possible points of failure and
most importantly, reduces the number of function calls to the link API.
I only know the numbers for StrokeLine(), which I tested via the Benchmark
test app. With this change, drawing random colored and positioned lines
actually doubled in speed. On the BView side, the calls to
ServerLink::Attach() only halfed, while on the app_server side, the number
of calls to ServerLink::Read() is now 1/4th. It will also be worth
investigating why the link stuff is so slow at all. I also optimized
BView::DrawString() a lot in this change, but I don't have any numbers
yet. Some other commands which used multiple Attach()/Read() calls were
also optimized, at least the most important ones. Begin/EndLineArray() was
also pretty bad on the app_server side. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-05 14:59:43 +00:00
François Revol
e2238bd923 - fixed hardcoded color in Deskbar replicant.
- fixed transparent pixels in the icon. This could make use of an HVIF one :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-05 11:02:38 +00:00
Axel Dörfler
317bd7dda3 * Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
  previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
  to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
  though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
  so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
  update them yet, as we'll probably do so anyway at some point. Also, I think
  we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-03 09:02:44 +00:00
Axel Dörfler
339676b608 * This time, I actually got it right, thanks Alexandre...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-02 10:05:13 +00:00
Axel Dörfler
cdc7175bfd * Fixed warning I just introduced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-02 09:09:46 +00:00
Axel Dörfler
56ab1944d5 * Fixed Stippi's favourite typo ("appearantly" does not exist).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-02 09:05:49 +00:00
Axel Dörfler
969f8de530 * agg::rendering_buffer::row_ptr() crashes when passing an out of bounds index.
* This fixes bug #2316.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-02 09:04:00 +00:00
Axel Dörfler
65e2393c21 * Fixed warnings.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-02 08:18:29 +00:00
Axel Dörfler
c79e9de0f6 * Fixed build in DEBUG mode.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-02 08:18:07 +00:00
Stephan Aßmus
55a88f0c29 When a view has B_DRAW_ON_CHILDREN set, do not ignore the user clipping when
painting the background. The user may have set that on purpose. For regular
views, it doesn't really make sense to use the user clipping for painting the
background, since there is no way these parts could ever be painted at all.
In Draw() there will be a new view state on the stack, so the client has no
way to unset the clipping. On the other hand, there may be useful cases where
the user applied a clipping, and wants itself not drawing outside of it, but
does want the background painted. (For example BTextView::SetTextRect() may
use this in the future.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-29 18:20:00 +00:00
Stephan Aßmus
2e44cfce66 Make BView::PopState() (executed at least on every call to Draw()) a lot
cheaper by preventing to rebuild the clipping on the app_server side.
I think this was commented out, because user clipping was broken until
some point and I forgot to reenable it after I fixed it. At least I cannot
spot any regressions when running with this patch now would I expect to
see regressions, since DrawStates do not mess with the screen clipping,
unless they get a clipping region assigned when the (user) clipping changes
during the state's life time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-29 10:51:26 +00:00
Stephan Aßmus
8ee34f96da When setting view flags which toggle the B_DRAW_ON_CHILDREN flag, immediately
trigger a recalculation of the view clipping region (it will now include
children).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-28 14:12:55 +00:00
Stephan Aßmus
7eed63a18b Use the view bitmap options also when drawing the bitmap. This way, someone
can pass filter options to SetViewBitmap() as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-28 14:08:09 +00:00
Oliver Ruiz Dorantes
d081e691a0 - Add Strings for bluetooth events
- Use then in bluetooth server output



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-28 01:03:05 +00:00
Oliver Ruiz Dorantes
52e3ce2c74 Mika Lindqvist & me
- Add Handling for MaxSlotChange
- Many Styling and consistency
- Debug output improved


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 21:45:23 +00:00
Axel Dörfler
84b784b43d * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 17:54:22 +00:00
Oliver Ruiz Dorantes
dd5df90570 - Remove size output parameter creating commands
- Add support for reading the size of internals buffers of the bt chips
- Add support for Resetting the Device
- Add broadcom vendor command fro writting the bdaddr
- clean up the debug output



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 23:07:07 +00:00
Oliver Ruiz Dorantes
3fdaa5bf72 - Drop R5 compatibility by removing first 4 bytes in the IOCTLs containing the size of the command.
- Implement mechanism GetProperty to retrieve detailed information about the LocalDevice
- Generic BluetoothDevice interface changed and adapted
- Implement ReadLocalVersion to be aware of the bluetooth specification supported by our localdevice



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:38:00 +00:00
Axel Dörfler
49cc2c3bf8 * Style police at work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-14 21:07:54 +00:00
Jérôme Duval
83458e6d82 fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-14 17:22:05 +00:00
Ryan Leavengood
04caac4ad1 Renamed the new "_fake" mouse moved boolean to "be:transit_only", as suggested
by Axel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-14 15:32:52 +00:00
Axel Dörfler
dd169d9e23 * Reworked the code that ignores a little jitter in mouse movements when
trying to switch the workspace. Not sure why it didn't behave previously,
  but it seems to work fine now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-14 13:55:14 +00:00
Stephan Aßmus
b5db6bb7ea zuMi has sent me the icon weeks (months?) ago! Really sorry to apply it so
late, since it's great! I am not sure if he meant it for the add-on server,
or as default media_addon icon. But I think it's great for the add-on server!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-13 21:39:12 +00:00
Stephan Aßmus
5ea31e66f7 Cleaned up the dirty region handling in Window::CopyContents()
(the backend of scrolling and BView::CopyBits()). Seems to fix
the dirty entries when opening Tracker windows, and another
problem I've seen when scrolling too fast in Beam.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-13 20:09:31 +00:00
Ryan Leavengood
1674584bb9 Add a boolean "_fake" parameter to fake mouse moves in case views care that the
app_server generated it.

For now used by screen_blanker, in my next commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-13 17:18:49 +00:00
Oliver Ruiz Dorantes
224d5dc603 - Fixed jamfile and added second version of the icons by Raynald Lesieur
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-08 15:15:05 +00:00
Oliver Ruiz Dorantes
33ab9e95db Add icon for Bluetooth server by Raynald Lesieur
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-07 17:52:29 +00:00
Stephan Aßmus
9801209684 For the filter indices and wheight calculation, never calculate more
pixels than can possibly be visible. Clients may pass very large
view rects to layout a zoomed in bitmap. This doesn't only speed things
up, but also avoids a stack overflow in the app_server, as reported in #3166.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-04 13:46:56 +00:00
Stephan Aßmus
8bf58c3b53 Specify the maximum signature buffer size to prevent unwanted overflow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-27 21:11:05 +00:00
Stephan Aßmus
c0b6b0dff6 * Refactored _SanitizeEvents() a bit to remove small bits of duplicate code.
* Round the mouse coordinate to be compatible with BeOS behavior. I know that
  in WonderBrush, I had to extract the fractional coords using the be:tablet_x
  and y fields. This may actually be a better fix for #1527, now that we know
  what caused it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-24 20:13:49 +00:00
Stephan Aßmus
2b4f382aac * When painting the view background bitmap, make sure to do
this with a reasonable drawing mode. Otherwise the current
  graphics state setup may not be what we need.
* Automatic white space cleanup. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-24 10:50:47 +00:00
Ingo Weinhold
cb5d702190 TeamDebugHandler::_HandlerThread(): Remove and delete the team handler in any
case, not only when we kill the team, i.e. also when the team just died or we
handed it over to another debugger. We can do this, since it is also safe to
assume that we won't get any further debug messages from the team after a
B_DEBUGGER_MESSAGE_TEAM_DELETED or B_DEBUGGER_MESSAGE_HANDED_OVER. We were
leaking (well, keeping) the team handler in those cases, which was a problem
in the latter one, since we silently ate all debug messages for the team in
case it would be re-attached later. Fixes bug #2942.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-23 22:51:01 +00:00
Michael Lotz
65cae88fb5 Fix the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-16 16:44:51 +00:00
Axel Dörfler
1a905a762a * The auto-config looper now correctly sets the IFF_CONFIGURING flag - it
cannot be set in the AF_LINK level.
* It now also checks for this flag, so that the fallback configuration won't
  overwrite a manually configured interface anymore.
* When an interface is configured, the IFF_CONFIGURING flag is now cleared as
  it should.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-16 11:03:13 +00:00
Stephan Aßmus
700ab492a9 Finished the optimization for vertical gradients. This code is about
8.3 times faster than using the AGG pipeline, but about 3 times slower
than drawing a solid color square. It can probably still be improved.
The second version of _MakeGradient() is more powerful than the old one
and should replace it. It handles some corner cases, which the other
one does not.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-15 18:14:35 +00:00
Stephan Aßmus
64eb49fd24 * Cleanup in the Gradient department. No fuctional change.
Renamed BGradient::color_step to BGradient::ColorStop
  as it's called everywhere else. Also renamed BGradient::gradient_type
  to just BGradient::Type. Renamed BGradient::Type() to GetType().
* Simplification of method names in Painter.cpp. Some not yet
  complete and yet inactive code to accelerate vertical gradients
  (bypassing AGG for this special case).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-15 15:15:49 +00:00
Stephan Aßmus
a21cfee7f4 Do not let layout the resize rect for borderless windows or
one pixel border windows. This would influence the window
size constraints for no reason and would for example affect
menu windows (one item menus or empty menus would be forced
to be too tall because of this bug).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-15 15:02:37 +00:00
Oliver Ruiz Dorantes
9306af4deb This allows that 2 or more LocalDevices can be retrieved with repeated calls of LocalDevice::GetLocalDevice()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-08 01:56:16 +00:00
Axel Dörfler
01b178700f * The input_server now updates its internal state only from the messages that
actually made it through (ie. after filtering).
* This should fix filters that change the current mouse position to work as
  expected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-04 23:37:10 +00:00
Michael Lotz
779bacf0fe This was most probably a typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-01 23:25:41 +00:00
Stephan Aßmus
740ea80754 Exclude any dirty regions from scrolling or copybitting. The previous behavior,
which was also the BeOS behavior IIRC, has annoyed me a bit as an application
developer. It wasn't possible to avoid display artifacts, if for example
scrolling a view which needed to be redrawn at the same time. It sounds
strange, but makes perfect sense for the situation I have here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-31 20:11:34 +00:00
Oliver Ruiz Dorantes
734ab97cfa Clean a bit the devfs monitoring stuff. Now monitores the correct folder, and registers everything that is already present(hotplugging not tested)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-29 22:12:54 +00:00
Oliver Ruiz Dorantes
06b6c3cbfa Styling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-29 22:09:28 +00:00
Karsten Heimrich
2f8465212f * use client_window_info as suggested by Axel
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-28 19:51:18 +00:00
Karsten Heimrich
320a952cdd * extend Haiku specific client window info to include the tab height and border size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-27 21:03:32 +00:00
Stephan Aßmus
195d11fe5b D'oh! The GlyphCache memory is already managed by the block allocator.
There was no leak before and r29047 freed the memory twice. Sorry about
that. Already feeling like getting old and there is proof left and
right...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-27 18:47:18 +00:00
Stephan Aßmus
edd0e35777 The glpyhs stored in a font cache entry were never freed upon
deletion of the entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-26 19:25:58 +00:00
Michael Lotz
fb3e35fcec Fixing all headers/namespaces/name lookup problems that hinder a GCC 4.3.2
build. I sure hope that this doesn't break the build for anyone else.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-23 03:05:15 +00:00
Stephan Aßmus
a4a780dbed Removed left over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-20 12:17:10 +00:00
Axel Dörfler
a107d1676e * Made the get_token_list() function behave the same way as under BeOS. This
simplifies the code in the Switcher, but has the drawback that the window
  list is not "static" anymore, ie. the items in the window list of the Deskbar
  will now jump around as in BeOS.
* However, EasyMove now works under Haiku as well out of the box, if that is
  something we want :)
* Maybe we should instead add another parameter to the window list to make
  it sorted or not; sorting the list as it's done now is much simpler and
  faster on the server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-19 19:16:43 +00:00
Stephan Aßmus
7f6629a943 Tweaking the look again, trying to take some of Axel's suggestions
into account. I think the shadow bevel on the right is a spoiler
though, and will change that back. But Axel can compare this way...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-19 16:54:16 +00:00
Stephan Aßmus
ce5d64725d * Renamed the drawing functions in DrawingEngine to
remove the *Gradient part. In general, there is
  a lot of code duplication now, also in Painter. I
  will need to find a way to elliminate this again.
  Also, all the stroking functions should be gradient
  enabled as well.
* Improved the look of the DefaultDecorater, inspired
  by the patch from Dennis Washington. I did not adopt
  the changes which give backwards compatibility
  problems, though, like changing the window border
  width or the single border decorator color. But I
  reckon these changes are overall even a bit smoother.
* Fixed a long standing decorator bug, where the resize
  area of the border was visually different than the
  click recognition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-19 10:31:43 +00:00
Axel Dörfler
2ea5e5e8e5 * We should not ignore the minimize request completely when the window is
hidden, but at least set it to minimized.
* Also, we shouldn't show minimized windows, but keep them hidden. This prevents
  the app_server/BWindow to go out of sync wrt the show level. This also fixes
  bug #3258.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-18 17:30:57 +00:00
Bruno G. Albuquerque
b100149cb4 - Small style change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-18 16:05:46 +00:00
Bruno G. Albuquerque
35336d367e - Updated copyright header.
- Fixed some styles violations.
- Changed signature to include the executable name.

Preparation for the new code coming.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-18 15:26:11 +00:00
Oliver Ruiz Dorantes
e5da0ec57e some cleanups and styling by Mika and me
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-16 20:32:19 +00:00
Axel Dörfler
3dc4e7fa47 * The move/resize window protocol now uses absolute coordinates rather than
relative ones. This fixes bugs #2658, and #3213; in BWindow::ScreenChanged()
  the window does not yet know that it moved on the new screen (when it already
  had a position on that workspace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-15 11:35:39 +00:00
Axel Dörfler
f3bd277ed5 * Moved the screen change to a later point, as the workspace-leaving message
did arrive after the change; now it's: leave workspace, change screen,
  enter workspace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-15 11:33:13 +00:00
Axel Dörfler
ea5c7202cb * If a window was hidden during resize/movement, it would still be in resizing
or moving mode when it was shown again. Added a test app HideAndShow which let
  you easily reproduce the faulty behaviour (with a previous version of the
  app_server, that is).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-05 10:32:30 +00:00
Axel Dörfler
790d3aee0a * When the window to be activated isn't a normal visible window (ie. floating
or modal), we need to check if our effort to make it visible (by activating
  its subset window) was successful. This fixes bug #3201.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-02 10:33:46 +00:00
Axel Dörfler
e4737a9260 * Added a third hinting mode: monospaced fonts only. This is especially helpful
with low resolution devices like the EeePC - small fonts can look pretty bad
  when hinting is turned on, and you still have the advantage of hinting for
  text editors and the terminal.
* Added a ServerFont::Hinting() method (that currently only evaluates the
  global hinting setting).
* Added a TODO comment on why having global settings is not what we aim for.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-31 18:44:02 +00:00
Axel Dörfler
fd95a7e124 * The net_server now accepts messages from the outside that want to configure
an interface (I don't remember why I didn't want this earlier, but well).
* ifconfig now has an auto-config option that will trigger DHCP.
* Also, it will now remove the IFF_AUTO_CONFIGURED and IFF_CONFIGURING flags
  if an address is specified (any on-going auto-configuration should check for
  these and abort if they aren't there anymore).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-28 22:18:21 +00:00
Axel Dörfler
293ed4fe5b * Pulled an AutoconfigClient class out of DHCPClient - all clients are supposed
to inherit from that one (there is still just a single client, though, this
  just simplifies having a generic mechanism to register and use auto-config
  clients).
* AutoconfigLooper now listens to link changes, and will reconfigure the
  interface if a new link is there - this even seems to work in emulation, will
  test on real hardware next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-27 22:15:17 +00:00
Rene Gollent
168cc3df42 Patch by Adrian Panasiuk: Initialize the renewal time before starting the message runner. This fixes a timing race that would trigger on some DHCP servers and result in constant renewal requests (Ticket #2531). Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-19 22:47:41 +00:00
Jérôme Duval
2bbb828870 added get_modifier_key() as proposed by Olivier Cortes. Thanks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-14 14:43:49 +00:00
Oliver Ruiz Dorantes
33fe7b32db - Implement retrieval of Device Classes.
- Implement DeviceClass for easy analisys of discovered devices's type.
- Make harder the intantiation of RemoteDevices.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-13 23:41:32 +00:00
Jérôme Duval
dc7290d08d fix noticed by Olivier Cortes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-13 12:35:54 +00:00
Rene Gollent
0017304e3d Correct a small style violation noted by Axel, and add a TODO note.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-10 14:41:10 +00:00
Rene Gollent
27c43a2d8f Implement the missing pieces to handle per workspace display mode support.
Adjust Workspace view to correctly scale each workspace based on the 
resolution of that workspace. This exposes one or two anomalies in other
places in the app_server code though which I wasn't able to track down.
This fixes ticket #693.




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-09 02:50:23 +00:00
Oliver Ruiz Dorantes
fbbf64a410 Remove dedicated implementation of GetAddress and GetName in server side.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-08 22:49:20 +00:00
Rene Gollent
71279b24dd Adjust the thread counting to use atomic adds. This should prevent the previous scenario where many more threads than the limit could actually be spawned.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-04 03:28:19 +00:00
Rene Gollent
83868e649d Defer actually spawning the thread to the call to Run(). The way the thread manager is currently written as a whole won't correctly enforce the thread limit (looking into that, though I think a different approach entirely is merited here anyways), but this at least prevents large numbers of threads from being spawned and sitting in the suspended state in the registrar forever. Fixes ticket #3172.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-04 00:28:03 +00:00
Axel Dörfler
bcc8dada2c * dhcp_message::seconds_since_start was set to a negative value, causing
corrupt values. Maybe this changes something with bug #2531.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-28 21:34:48 +00:00
Axel Dörfler
0a31071e2f stippi+axeld:
* DrawString() took the fast clipping path for rotated fonts which didn't work
  out (visible when moving a window over the rotated texts in DriveSetup).
* Also, made it work correctly when using sheared fonts.
* Fixed typo.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-28 19:59:34 +00:00
Oliver Ruiz Dorantes
0029cf816e -Add the possibility to post formatted messages to the debug window
-Make the window resizable. BUT as this is a multitab window when I resize, only the view in the active TAB is resized, as soon as I switch to another TAB the view in the new selected tab has its old size, messing all.

* Can any UI guru explain whats the Best/Elegant way fixing this?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-26 18:05:27 +00:00
Oliver Ruiz Dorantes
d23283c43e Increase the priority of the thread handling the HCI events, + a bit formatting
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-25 22:38:55 +00:00
Rene Gollent
6cf3a9ebf7 The previous commit exposed another bug: BWindow::Zoom() incorrectly calculated the max height of the window by only including the border width once. This was previously masked by the fact that the (by default 5) extra pixels were included in its hardcoded default for the height of the tab. Also add the border width to the message returned by GetDecoratorSettings() so Zoom can use the actual value instead of hardcoding it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-17 04:15:51 +00:00
Stephan Aßmus
231cbd908e Actually restore the "dragger" settings. So the system remember your "Show
Replicants" setting after reboot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-16 22:23:15 +00:00
Axel Dörfler
0a3f410f30 * Added a Desktop::BroadcastToAllWindows() method that sends all ServerWindows
a message.
* The DesktopSettings class is now using that to send the new
  AS_SYSTEM_FONT_CHANGED message to all windows.
* The ServerWindow now propagates font changes to its decorator, causing it
  to update its drawing. That means changing the bold font in the "Fonts"
  preferences application will instantly change all window titles.
* Factored out a _RebuildAndRedrawAfterWindowChange() out of several Desktop
  methods, simplifying some code.
* The DefaultDecorator no longer calls _DoLayout() twice (through SetLook()),
  but instead calls the new _UpdateFont() method now also called by
  FontsChanged(), and SetLook().
* BWindow::GetDecoratorSettings() now also includes "tab frame" BRect with the
  exact footprint of the tab, allowing apps to know the size of the tab to
  position itself accordingly.
* Automatic white space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-16 21:59:05 +00:00
Axel Dörfler
0c9593acdc * Minor simplification and clarification.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-14 13:44:25 +00:00
Axel Dörfler
d02835660f * Added a method Desktop::_LastFocusSubsetWindow() which returns the last
window being the focus window that is a subset of the specified window.
* This is now used to bring the window to front belonging to a floating
  or modal window (if on another workspace), ie. Desktop::ActivateWindow()
  should now work with modal and floating windows.
* Fixed typo (in Window.cpp).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-14 13:37:27 +00:00
Rene Gollent
f871c6f737 Reset the drawing state to that of the client view after we finish drawing the workspaces replicant. This fixes artifacts like fonts occasionally appearing tiny when selecting/deselecting items on the Desktop if the Workspaces replicant was also embedded.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-09 22:04:51 +00:00
Stephan Aßmus
52de6dce94 Moved the gradient_type and color_step structs into the BGradient
class/namespace. Renamed the B_GRADIENT_* types to TYPE_* as the context
is already given.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-08 14:56:56 +00:00
Axel Dörfler
c73be1e843 * When switching to a workspace a window is on in ActivateWindow(), only
consider the workspaces in the configured count.
* If the window is not on the current workspace after the workspace check,
  always move it to the current instead. This lets windows on workspaces
  outside of the ones currently configured show up on the current workspace
  as if they had the B_NOT_ANCHORED_ON_ACTIVATE flag set.
* This fixes bug #3003.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-07 11:36:22 +00:00
Stephan Aßmus
f7c8477593 * Don't invalidate anything in offscreen windows. NetPositive is doing
slightly strange redrawing, including scrolling the offscreen view
  that it uses in "flicker free" mode (which is the default). Invalidation
  does not work in offscreen windows, since the client thread is not running
  and certainly won't redraw anything. But that will leave a non-drawable
  region on the app_server side of things. Simply don't invalidate in
  this case. From what I have seen, redrawing in NetPositive seems to
  work fine now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-06 19:19:54 +00:00
Stephan Aßmus
e98ee1410a * big cleanup of the tracing support, output useful information
for most messages, use debug_printf(), cleanup line breaks
* check return code of last link method in a lot more places
* changed some printf() and fprintf() into debug_printf()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-06 19:16:56 +00:00
Axel Dörfler
33309cb5fc * BWindowScreen::_InitClone() was broken, it called the "get clone info" method
on uninitialized accelerant, but that's what AS_GET_DRIVER_PATH is for.
* This should fix #2847.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-06 12:44:26 +00:00
Jérôme Duval
bda802b259 now uses DIRECT_BUFFER_INFO_AREA_SIZE as the direct_buffer_info area size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-05 23:44:14 +00:00
Stephan Aßmus
ca89b8ff59 * The app_server implementation of BView::GetClippingRegion() was using the
wrong check to see if the view was currently visible. This fixes the problem
  that tool tips would popup for windows that are located on other workspaces.
* Removed commented out code that is no longer needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-04 15:27:56 +00:00
Stephan Aßmus
40fa49e7b8 Oversight: When FFM is turned off, don't focus the window under the mouse
on mouse up if there was a focus-locked window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-03 19:57:05 +00:00
Stephan Aßmus
21b40edd75 Implemented respecting B_LOCK_WINDOW_FOCUS that a view can set using
SetMouseEventMask() from within it's mouse hooks. Among other things,
scroll bars won't stop scrolling in FFM mode now if you accidentally
leave the window with the mouse, something which is very likely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-03 19:34:13 +00:00
Stephan Aßmus
6198dc0e17 To allow testing the ViewHWInterface (used in the test environment) with
both double buffering and single buffering, Invalidate() needs to be
virtual and ViewHWInterface needs to decide where to invalidate it's host
window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-03 19:31:26 +00:00
François Revol
48ccb49ab0 Added TODO on SetTitle... the rect gets invalidated even when nothing is visible... flickers apps on top with TitleSpectrumAnalyzer in SoundPlay for ex...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 23:04:40 +00:00
Stephan Aßmus
393f282c79 * Mark InputDeviceListItems only as running if calling Start() for the
device returned B_OK.
* In the InputServer destructor, don't check the fAddOnManager pointer,
  but check the success of calling Lock() on it instead, which should
  be much safer.
* In StartStopDevices(), really start or stop all published devices for
  the given BInputServerDevice, not only the first one found. Simplify
  the check whether anything needs to be done.
* Change a bit the return codes of StartStopDevices(). Especially the
  version that's supposed to start or stop all devices will still try
  to do it for the rest of them.
* Removed no longer needed _FindInputDeviceListItem().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 22:19:55 +00:00
Stephan Aßmus
dae439fe60 Init the ref_count with 1, since the first AddPath() would leave it
at 0. A single AddPath()+RemovePath() would therefore leave a not
anymore needed path_entry(), while a AddPath()+AddPath()+RemovePath()
would remove/delete the path_entry while it was actually still used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 16:44:58 +00:00
Stephan Aßmus
0d2fb32f12 As pointed out by Axel, this TODO is invalid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 10:55:41 +00:00
Michael Lotz
a0d69d7dac Also add the border overlap on both sides to the available space of the initial
tab width. This fixes the initially wrong tab width for windows where the title
does not fit and previously there would be 10 pixels waste on the right.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 10:53:13 +00:00
Stephan Aßmus
740d899004 * InputDeviceListItem::fDevice was not maintaining it's own memory for the
device path, but instead pointing to memory owned by some device addon
  instance.
* Added TODO in the AddOnManager init code about a possible race condition
  which I have not varified yet.
* Check the return code of BList::RemoveItem() before deleting the item...
  pure defensive programming.
* For the time being, print a warning into the syslog when a device name is
  registered twice.
* When failing to Unflatten() an event, don't continue in the code after
  deleting it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 21:33:46 +00:00
Stephan Aßmus
1a1a4f955c * Updated the license header.
* Use new(nothrow) to allocate the MethodReplicant.
* fSignature needs to be free()d, not deleted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 21:29:35 +00:00
Stephan Aßmus
944bc06060 * The way subdirectories for the input_server add-ons were defined was a bit
weird.
* Set fHandler to NULL in _UnregisterAddOns(), just in case it is called
  twice (which it probably never is... but be defensive).
* If a B_NODE_MONITOR message does not contain all the necessary fields,
  drop into the debugger when compiling in DEBUG mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 21:28:21 +00:00
Axel Dörfler
85dbe55d9b * r28281 accidently added the B_NORMAL_WINDOW_FEEL (0) to the list of special
feels. This caused floating/modal app and subset windows to not work anymore.
* This fixes bug #2914.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 10:02:12 +00:00
Stephan Aßmus
2d265d2a5b * Removed some no longer used testing code.
* Fixed unloading the add-on image twice in error case of failing to
  add the add-on info to the list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 09:20:00 +00:00
Jérôme Duval
bdb1d3ac7c * BMediaRoster::GetAudio*() should return B_NAME_NOT_FOUND when nothing is set
* In this case, SoundRecorder shows a different error message, more informative, confer bug #134


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 21:30:19 +00:00
Stephan Aßmus
2469a6f427 * Rewrote the UpdateQueue class. It actually works now and would perform screen
updates during the vertical refresh, but it causes flickering again since
  there is no guarantee that screen regions will stay clean from the time that
  they were scheduled with the UpdateQueue until the UpdateQueue thread
  transfers them. Therefor it is still disabled.
* Refactored a bit the distinction between Invalidate() and CopyToFront().
  Invalidate() used to be virtual, but now CopyToFront() is. This was mainly
  needed for the app_server test environment, because the host window needs
  to call Invalidate() when the front buffer bitmap is clean. When the
  UpdateQueue is used, this needs to be CopyToFront(). Now the separation is
  cleaner in combination with the UpdateQueue.
* Fixed a problem in HWInterface::CopyToFront(): When separating the region
  outside the cursor and the region with the cursor during a transfer, it
  needs to hold the fFloatingOverlay lock to make sure the cursor is not
  moved in the meantime. This fixes graphics glitches with remnants of the
  cursor staying on screen. These could very rarely be observed, but much more
  often with the accelerated double-buffer mode.
* Enabled the accelerated double buffered mode, since it works now very well.
  I was able to test it with the nVidea driver on an nVideo 7300. It works by
  allocating a frame buffer twice the height of the configured screen mode.
  Then all drawing goes into the offscreen portion, including accelerated
  driver functions. AccelerantHWInterface::_CopyToFront() then uses acceleration
  to blit the clean regions in the offscreen portion of the frame buffer into
  the visible part. Please tell me if there are problems, for example when
  if there is too few video memory, or if a driver does not handle it correctly.
  To disable it, see src/servers/app/drawing/AccelerantHWInterface.cpp line 511.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 17:15:39 +00:00
Stephan Aßmus
8b8e062daa * DrawingEngine::CopyBits() was invalidating the wrong region (without offset)
when the HWInterface was using acceleration and at the same time double
  buffering.
* _CopyToFront() should always be used, since it calls a protected virtual that
  derived classes of HWInterface depend on. This fixes some graphics glitches
  in certain situations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 17:02:46 +00:00
Axel Dörfler
4932bc5ea8 * Added the BeOS feature that Command-~ (with American keymap) will switch
workspaces between this and the previous one.
* Note that this is mapped to a specific key on the keyboard (key 17), so
  it will differ with the keymap, but will usually be the key below the escape
  key.
* This closes ticket #2766.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 12:02:49 +00:00
Axel Dörfler
89b1afd16c * Added a new window feel kPasswordWindowFeel that is above all other feels.
* Changed the password window to use this feel.
* Later, the screen saver itself should use this feel whenever the password
  mode is enabled. The password window should then use a modal-app feel, but
  this doesn't work yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 11:51:23 +00:00
Axel Dörfler
ab869c3c27 * The ref_count member should definitely be initialized - thanks Stefano!
* This might fix bug #2894.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 09:04:41 +00:00
Axel Dörfler
23debb05d0 * Rewrote InputServerDevice.h header.
* Renamed _BDeviceAddOn_ to DeviceAddOn, and put it into the BPrivate namespace.
* Moved the DeviceManager functionality into the AddOnManager - this also
  solves a locking issue, as BInputServerDevice::Control() was called in the
  context of the DeviceManager before.
* The AddOnManager now uses the BPathMonitor to monitor the devices that
  BInputServerDevices ask for - this greatly simplifies the code.
* Got rid of TList.h, and use ObjectList.h instead.
* Added PathList class that has a list of paths with reference count, used by
  DeviceAddOn and the AddOnManager.
* DeviceAddOn got an actual implementation that lives in InputServerDevice.cpp.
* Added an experimental BInputServerDevice::AddDevices() that could be used
  instead of recursing over devices manually. It replaces the functionality
  that was found in the DeviceManager before (this was done implicitely for
  all monitored devices).
* Greatly cleaned up and simplified the AddOnManager.
* Also fixed lots of potential errors/leaks when things go wrong.
* Removed the extra locker in AddOnManager - its BLooper lock is now used
  instead.
* Replaced PRINT()/PRINTERR() macros in the AddOnManager with TRACE(), and
  ERROR(), both now use debug_printf().
* Hopefully this fixes the problem that I don't have keyboard under VirtualBox
  from time to time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-19 15:48:34 +00:00
Axel Dörfler
8f2be9ef82 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-18 13:53:03 +00:00
Axel Dörfler
0f32f7ddeb * Added an ASSERT() and a check to make sure the workspace that Backmost() and
Frontmost() are using is valid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-18 11:59:02 +00:00
Axel Dörfler
955307393f * Reworked EventDispatcher::SendFakeMouseMoved() after an idea by Stephan
that solves most app_server locking headaches: it now works asynchronously,
  and therefore doesn't need to lock the EventDispatcher anymore.
* EventStreams now allow to inject messages into the stream to allow the above
  functionality.
* InputServerStream::GetNextEvent() no longer returns when there is no event.
* Desktop::ActivateWindow() now locks all windows before checking the
  workspaces of the windows, fixing a race condition that could lead to
  Window::Foremost() being called for a window that isn't on the current
  workspace, leading to a crash.
* I currently cannot access Trac, but I recall there should be an open bug
  report about this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 21:37:10 +00:00
Axel Dörfler
c2a8fd9b70 * AS_ACTIVATE_WINDOW must not hold a window lock when calling
Desktop::ActivateWindow(), or Desktop::SendWindowBehind().
* This fixes a potential deadlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 15:48:29 +00:00
Rene Gollent
4a4355bd7d app_server was not storing its settings when the workspace count was changed.
As a consequence this setting was lost unless another setting was also altered
that affected the workspace configuration in some way.
Fixes #2849.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 01:56:44 +00:00
Axel Dörfler
64ba396fa7 * When changing the workspace of a window, it's workspace position will now be
set to its current position if that is the only workspace it's in.
* This fixes missing windows on other workspaces in the Workspaces app after
  boot, ie. before you had visited that workspace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 01:31:44 +00:00
Axel Dörfler
4e59d9c7b4 * Use a good default "yellow" in case there is no decorator (otherwise yellow
isn't initialized, but also not really used currently).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 01:30:06 +00:00
Stephan Aßmus
bf3a206445 Fixed r28168, which introduced an app_server deadlock. Functions
which call into Desktop methods which in turn grab the window
write lock are never supposed to hold this write lock themselves
already, since the Desktop code takes care to not hold the lock
when for example calling EventDispatcher methods, which would
cause a deadlock (as in this example).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 18:01:55 +00:00
Axel Dörfler
96c6ee9507 * _Show() and _Hide() must now be called with having all windows locked
(it would do that internally anyway).
* AS_MINIMIZE no longer calls _Show() when being unminimized, but
  Desktop::ActivateWindow(), as this will also bring the window on the screen
  if it's on another workspace (according to its flags).
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-16 12:15:02 +00:00
Stephan Aßmus
431dc47dde Patch by Artur Wyszynski with some changes by myself:
* Resolved TODO: The type of the gradient is no longer encoded twice in the
  app_server link protocoll.
* Moved instantiation of the BGradient into the LinkReceiver::ReadGradient()
  method.
* Check success for (at least) ReadGradient() in ServerWindow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 19:47:00 +00:00
Stephan Aßmus
991547ef6c Patch by Artur Wyszynski:
* Implemented BGradient, BGradientLinear, BGradientRadial,
  BGradientDiamond, BGradientConic and BGradientRadialFocus
  new Interface Kit classes.
* Implemented all the (AGG-based) backend necessary in
  the app_server to render gradients (Painter, DrawingEngine)
* app_server/View can convert a BGradient layout to screen
  coordinates.
* Added BGradient methods of the Fill* methods in BView.
* Implemented a test app and added it to the image as a
  demo.
* Adopted Icon-O-Matic and libs/icon in order to avoid
  clashing with the new BGradient class. Re-use some
  parts where possible.

Awesome work, Artur! Thanks a lot. Now a more modern
looking GUI has just become much easier to implement! :-)

TODO:
* Remove the need to have gradient type twice in the
  app_server protocol.
* Refactor some parts of the patch to remove duplicated
  code (Painter, DrawingEngine).
* Adopt the BPicture protocol to know about BGradients.
* Review some parts of the BArchivable implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 21:27:42 +00:00
Stephan Aßmus
73be167630 * Removed dead code.
* Fixed line lengths.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 19:48:35 +00:00
Stephan Aßmus
f6bffd4e5b Whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 19:47:00 +00:00
Stephan Aßmus
eeb00d5abc Small indentation improvement...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:21:43 +00:00
Stephan Aßmus
e385b2434f * Added clarifying comment.
* When the consumer does not want to consume a glyph, make
  sure the advance values are being reset before breaking out of the
  loop. These are used one more time after the loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:20:29 +00:00
Stephan Aßmus
47ddcdba73 Removed superfluous parenthesis.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:19:15 +00:00
Stephan Aßmus
350b87c7d2 zooey + axeld + stippi:
Fixed a problem with dispatching B_MOUSE_MOVED messages to views which need
the transit event:
* If the app_server decided to send a B_MOUSE_MOVED to the previous mouse
  containing window, it forgot to add the _feed_focus flag, which was a problem
  if the message actually happened to contain tokens (views that registered
  for events.) On the client side, only those views would receive the message,
  while the regular last mouse moved view would not be notified at all.
* On the client side, never change fLastMouseMovedView if the message is not
  targeted at the preferred handler. In the above situation, any "registered
  for events views" would receive the message first, but viewUnderMouse would
  be NULL and then when the regular last mouse moved view received it, it
  resulted in the wrong transit (B_OUTSIDE_VIEW instead of B_EXITED_VIEW).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 23:16:30 +00:00
Stephan Aßmus
18510f899b Added input_server icon by zuMi. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-13 15:52:05 +00:00
Axel Dörfler
36bde12db2 * DHCP now actually uses the new SO_BINDTODEVICE socket option to make sure
the request is sent only on the device it should.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 23:34:08 +00:00
Jérôme Duval
efc97b9894 made several inherited methods virtual
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-12 13:07:01 +00:00
Axel Dörfler
3add2e79b7 * If you click on a window in the Workspaces view, it won't move until you
move the mouse a bit more. This should help with "fast" workspace switches
  when you click on a workspace and accidently move the mouse a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-11 20:06:04 +00:00
Stephan Aßmus
f7d800884d Polished the rendering of the miniature windows in Workspaces.
* The window names are now drawn.
* The window scaling is improved to avoid wobbly placement
  when windows move slightly.
* The tab rect is scaled to size, not a single line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-11 18:25:36 +00:00
Stephan Aßmus
877f6beaec zuMi was at it again and created a cool icon for the mail_daemon. Almost a pity
to use this gem for a background application. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-10 19:14:20 +00:00
Axel Dörfler
54f92239a2 * The ServerWindow now memorizes the original BDirectWindow feel when switching
to full screen. Since BDirectWindows can have any feel, this does now
  correctly restore it instead of always reverting to B_NORMAL_WINDOW_FEEL.
* This fixes part of bug #2808.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-08 07:46:27 +00:00
Stephan Aßmus
dc2da019f9 zuMi created a pretty awesome icon for the debug server. It could be improved
(for better silhouettes), but I think it's pretty cool as is! Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 21:48:37 +00:00
Stefano Ceccherini
36bc11a79f I'm getting old. Without this change, bug #2350 was still with us. Sorry for forgetting to commit this
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 13:06:16 +00:00
Stefano Ceccherini
bebd82c2b2 should've been part of r27898
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 05:51:09 +00:00
Stefano Ceccherini
0dcbaee24a Screen was assuming setting a 800x600 mode would work anyway, but currently the Intel driver only supports the 'native' mode for laptop panels. Added a 'strict' parameter to SetBestMode which, if true, fails if it doesn't find any mode with the passed width. If false, and can't find any good mode, just uses the first mode in the list (could be improved). This fixes bug #2350
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-07 05:47:57 +00:00
Stephan Aßmus
aed05d6cf6 * Added Syslog daemon icon by zuMi. Slight tweaks by myself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-04 17:29:17 +00:00
Axel Dörfler
1b910a79a2 * Since the "restart"/"shutdown" alert has the inconvenient consequence that the
shutdown process is entered (ie. you cannot start new applications anymore),
  I changed its window feel to normal to make it possible to let it appear on
  all workspaces.
* We should think about if simply letting it enter that phase later isn't the
  better solution, though. Opinions welcome.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-01 16:45:59 +00:00
Stephan Aßmus
ea2317a80c * Tweaked registrar icon to make 16x16 version slightly clearer.
* Added icon to the registrar.
* Updated copyright years in version info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-01 14:23:22 +00:00
Stephan Aßmus
165e3a7944 * Tweaked MediaServer icon a bit to improve gradients and make the 16x16
icon a little clearer.
* Applied icon to MediaServer rdef. Removed original BeOS icons. Updated
  copyright years.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-01 11:29:02 +00:00
Karsten Heimrich
611c6ed977 * forgot this file...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-30 21:56:31 +00:00
Karsten Heimrich
3580c2cf12 * remove png dump from app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-30 21:49:20 +00:00
Stefano Ceccherini
e32494d24f Check for NULL before dereferencing the pointer. CID 1050
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-25 13:56:50 +00:00
Axel Dörfler
95deefbf66 * Fixed wrong indentation and spacing.
* Enlarged default port size to 50.
* Added license header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-18 13:12:22 +00:00
Stefano Ceccherini
632f1504a8 assign a token to the ServerPicture before anything else. If something fails to initialize, we can still search the picture via token
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-17 07:35:00 +00:00
Michael Lotz
173563d537 Update fallback mappings after removal of BitStream fonts. Not sure these are needed at all though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-16 21:10:30 +00:00
Stefano Ceccherini
a57b0996eb cleanup and return in error case, otherwise a stale style pointer could be added to the family. CID 1246
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-15 12:26:43 +00:00
Michael Lotz
bbe2597fb6 CID 18 and CID 19: Fix leaking the cursor data.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 16:39:11 +00:00
Michael Lotz
246a908734 * CID 1012: Fix leaking the OffsetFile in case it fails to initialize.
* Use std::nothrow (the rest of the file already used it).
* We also have to keep the source file around and properly dispose it, as
  OffsetFile doesn't take ownership of it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 16:30:48 +00:00
Michael Lotz
3e8d3c5f98 * CID 1090: Check the view pointer for NULL before dereferencing it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 15:55:15 +00:00
Michael Lotz
fccbe8f1a1 * CID 525: Check the return of _UpdateModeList() as otherwise fModeList can
still be NULL although it is used further down.
* CID 526: Check the front buffer to be available before using it in SetMode().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 15:51:16 +00:00
Michael Lotz
7c618f130f Remove accidentally introduced whitespace in last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 15:30:19 +00:00
Michael Lotz
8050519bed CID 157: Fix usage of *covers instead of cover which in this case indeed is NULL
and should have lead to a crash.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 15:28:31 +00:00
Michael Lotz
4071a5a97b CID 930: Fix memory leak in error case.
Note that this file has a completely different coding style, violating ours for
consistency until the whole file can be cleaned up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 15:22:30 +00:00
Ryan Leavengood
9b54ac7464 Fixing CID 1305: the null check of fPageFormatText on line 483 was redundant
since fPageFormatText is accessed in both branches of the if before the null
check. If it was actually null there would be a crash well before line 483. In
addition this member is initialized in the constructor. I assume the null check
was added to provide symmetry with the null check of fJobSetupText below it.
But that latter null check is needed since fJobSetupText may not have been
created in the constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-12 04:13:30 +00:00
Stefano Ceccherini
de2dcd9ab0 fixed another round of gcc4 warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-10 09:13:02 +00:00
Stefano Ceccherini
bb549f1c81 Implemented dummy FontStyle::IsFullAndHalfFixed(). Freetype doesn't seem to offer any api to be able to tell such a font from others
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-10 09:02:59 +00:00
Ingo Weinhold
d29be7f320 * CID 153 (line 754): delete array with delete[].
* CID 152 (line 796): delete array with delete[].
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-09 21:32:15 +00:00
Stefano Ceccherini
8b330bfe28 Should have been part of the previous commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-09 09:54:07 +00:00
Stefano Ceccherini
5f8c1a0244 Remove unused RamLinkMsgReader. Its functionality was integrated inside LinkMsgReader/Sender by Julun.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-09 09:53:27 +00:00
Karsten Heimrich
2982ae5d1a * comment the code that prevents programmatically resize events during
a user resize, this makes ArtPAint's tool pallete window resize properly

  Thanks Stephan for explaining me two time what to look for  :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-08 20:23:00 +00:00
Michael Lotz
57665c6ef2 Respect B_NOT_MINIMIZABLE in the default decorator. Maybe we should recheck all the flags in the window code though instead of relying fully on the decorator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-08 08:33:49 +00:00
Jérôme Duval
212426b00e fix warnings
white space cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-03 20:58:19 +00:00
Jérôme Duval
c08e99ef40 print errors when starting devices
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-03 19:12:18 +00:00
Stefano Ceccherini
52b877461d Apply the same logic of r24682 to the drawing of BPictures inside BPictures. Fixes part of bug #1389 (drawing pictures at an offset). Thanks to Karsten for his observations!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-01 14:43:25 +00:00
Karsten Heimrich
3bc4dacf9a * We need to update the drawing state in case SetHighColor, SetDrawingMode etc.
is called after BeginPicture on a freshly created view.

  This is necessary because a second invocation on this view with BeginPicture
  would have caused ServerPicture::SyncState to write the default drawing state
  into the picture. This happens because to BView had now cached the values and
  therefor won't go to the app_server and tell about the change. The first call
  did not change anything as picture recording is handled in _DispatchPictureMessage
  while view changes that modify drawing state are handled in _DispatchViewMessage,
  thus leading to default draw state values beeing written.

  This fixes invalid ticket #2534.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-28 12:01:46 +00:00
Karsten Heimrich
4e61552ecd * first implementation of passing data via area to app_server
this makes printing of large images work, fixes task #1067



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-27 13:39:16 +00:00
Stefano Ceccherini
139f143c62 fixed warnings. Maybe we should do all the calculations in ints instead of using floats
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-26 06:59:00 +00:00
Bruno G. Albuquerque
ec44f528d8 - Added handling for the table of contents (toc) attribute. Now it is ready to
retrieve CDDB information. This is coming as soon as I have real time (as
  opposed to some minutes during lunch) to work on it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-25 17:43:10 +00:00
Stefano Ceccherini
c63991d1f5 fixed warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-25 15:07:14 +00:00
Stefano Ceccherini
d02fd30b90 We were leaking memory every time a BPicture was drawn. Also check if the allocations succeeded. Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-25 13:57:29 +00:00
Jérôme Duval
65e6fe82ad better check the size of the chars table for keymaps. this avoids crashing in #2659.
dunno why the keymap is invalid though


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-24 12:28:27 +00:00
Stephan Aßmus
fe34b1990b * Fixed bug with cropped scaled bitmaps, the wrong offset was used. This fixes
a regression in MediaPlayers peak display where the last row of pixels was
  wrong.
* Fixed clipping rect bugs in the new bilinear scaling loops, the last row
  and/or columns don't always need special treatment, only if they map to the
  last row and/or column of the destination bitmap.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-23 14:30:57 +00:00
Stephan Aßmus
c1111e046b * When playing with the MediaPlayer and toggling bilinear versus
nearest neighbor scaling, I noticed that the bilinear version
  actually used less CPU than the generic AGG code path with nn
  scaling. So I wrote an optimized nn scaling routine for nn
  based on the bilinear scaling code. So the indices into the
  source bitmap are cached. I don't know if this is the optimal
  nn scaling routine, but the CPU usage dropped significantly.
  Only B_OP_COPY is optimized as of yet.
* Optimized the bilinear scaling. When more filtered pixels than
  unfiltered pixels are anticipated, the loops are unrolled to
  special case the very last row/column and bottom right pixel.
  This eliminates the branches in the loops.
* Fixed a bug with partial scaled drawing of bitmaps when it
  used the bilinear scaling, the bitmapShift was in the wrong
  direction.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-23 11:09:15 +00:00
Jérôme Duval
97686ecc7a also sanitize events added by filters, to be checked with methods too.
this fixes bug #2611


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-22 22:30:11 +00:00
Michael Pfeiffer
4523512663 Print jobs whose transport add-on is either "Print To File" or not set at all (in case of "Preview" printer) are not processed sequentially.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-21 20:16:24 +00:00
Bruno G. Albuquerque
233871e4d4 - Yet another style fix. This is getting old. :) Thanks Axel (again).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-21 14:28:20 +00:00
Bruno G. Albuquerque
5ec5b4f201 - As expected, style fixes. Thanks Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-21 12:37:31 +00:00
Bruno G. Albuquerque
82427071c1 - Added skeleton for new cddb_server.
- Includes all relevant handling of CDDA exported attributes so you guys can
  see where I am going with this.
 
CDDB handling (including server connection, request and response parsing)
will come up next. In the future we will also have a configuration panel
and a Deskbar replicant for controlling it.

Do we really have to edit the Jamfile in the parent dir to get something
building with our build system?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-21 02:33:19 +00:00
Jérôme Duval
3658735727 fDeviceAddons wasn't maintained correctly. this fixes #2610
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-20 23:07:08 +00:00
Axel Dörfler
345d8c9ff0 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 12:59:18 +00:00
Axel Dörfler
f1efe9b3d2 * The string length of the UTF8 ellipsis was incorrect (would have been 3).
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 12:53:25 +00:00
Axel Dörfler
d689f4578d * Fixed a possible deadlock in Desktop::_ActivateApp(): since ActivateWindow()
will need to write lock the window lock, we cannot call it with the read
  lock held.
* Added a TODO comment in _ActivateApp() on how we could handle minimized
  windows.
* Added a WindowList::Count() method.
* Added a WindowList::ValidateWindow() that you can use to validate a window
  pointer in case you had to unlock the list.
* Made FirstWindow()/LastWindow() const.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-13 09:00:36 +00:00
Axel Dörfler
b31df46fd2 * The window title now uses B_TRUNCATE_MIDDLE instead of *_END.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 21:07:28 +00:00
Axel Dörfler
ae0606be74 * Added two more private InterfaceDefs functions: get_application_order(), and
get_window_order() will retrieve the application respectively window order
  on the selected workspace.
* Moved private BeOS compatible functions (as used by the Deskbar) into the
  private WindowInfo.h header.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 17:39:42 +00:00
Axel Dörfler
a8f4e1d0fd * _ActivateApp() did not lock the window list while traversing it.
* It will now first iterate through the windows on the current workspace to
  choose the topmost window of this team (for this, it would be nice to have
  a sorted list over all windows/workspaces).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 17:33:32 +00:00
Axel Dörfler
44cd4a02c7 * Deskbar's Switcher had an explanation what the window_info::layer field is
about. ServerWindow::GetInfo() now fills in that value following this logic
  as well as further testing.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-12 13:44:17 +00:00
Axel Dörfler
547a7d1844 * Since ShowWindow() could call ActivateWindow() again as well, we should
better call Window::SetMinimized() before calling it from there.
* And since ShowWindow() calls _SendFakeMouseMoved(), we also better don't
  call it with the window lock held, or otherwise we would potentially cause
  a deadlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 16:19:25 +00:00
Axel Dörfler
518056893e * BWindow::Activate() now also unminimizes a window if necessary.
* Removed superfluous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 15:49:02 +00:00
Axel Dörfler
3a83c7b181 * Coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 15:42:32 +00:00
Stephan Aßmus
59e13a3f06 Patch by Andrej Spielmann (GSoC):
* Simplified the subpixel related methods for the AGG "pixel format" template
  interface, the ones for the solid cover simply pass through the existing
  methods, so only one subpixel blending function is left which does the actual
  work (this removes a lot of the previously added code)
* Implemented a new rasterizer based on the original AGG rasterizer which
  implements subpixel anti-aliasing for any generic AGG vector pipelines. It
  is now optionally used in Painter and AGGTextRenderer (for vector fonts, ie
  rotated, sheared or big enough fonts) depending on the global subpixel
  setting.
* Put all subpixel variables into the new GlobalSubpixelSettings.h|cpp
* Simplified DesktopSettings related classes a bit and renamed previous
  FontSubpixelAntialiasing to just SubpixelAntialiasing.
* The private libbe functions for subpixel related settings moved from Font.cpp
  to InterfaceDefs.cpp where other such functions live. They are not related
  to fonts only anymore.
* Removed the subpixel related settings again from the Fonts preflet and added
  them to the Appearance preflet instead.

All of the above implements subpixel anti-aliasing on a global scale, which
to my knowledge no other OS is doing at the moment. Any vector rendering
can optionally use subpixel anti-aliasing in Haiku now. The bitmap cached fonts
are still affected by the Freetype complile time #define to enable the patented
subpixel rasterization (three times wide glyphs). Vector fonts and shapes are
not affected though at the moment.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 13:40:41 +00:00
Axel Dörfler
d2d52d31ab * Made _LaunchInputServer() more robust: when launching by signature fails,
we try its well-known location directly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-01 14:02:02 +00:00
Oliver Ruiz Dorantes
bbe098994d Wrong blackboard calculation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-31 21:59:06 +00:00
Oliver Ruiz Dorantes
b48fa68ace Fix bluetooth_server debug window tabs, they were getting out of bounds due the index assignation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-31 21:03:17 +00:00
Axel Dörfler
188233b954 * Removed execute property - I wonder why this file is located in this directory,
though; it shouldn't be in here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 12:44:24 +00:00
Stephan Aßmus
e196501316 The Y check can be moved out of the loop of course, why didn't I see this
before?! Is about 4% faster than before. If anyone sees a way to make it faster
yet, please shoot! I can watch movies fullscreen on a 2 GHz Core 2 Duo in
VESA with bilinear scaling, but it would be nice to use less CPU... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-28 21:30:26 +00:00
Stephan Aßmus
162a7f5f8e * Implemented new BView drawing functions DrawBitmap[Async](
const BBitmap* bitmap, BRect bitmapRect, BRect viewRect, uint32 options).
  Only option so far is B_FILTER_BITMAP_BILINEAR.
* BView::DrawBitmap[Async](const BBitmap* bitmap, BRect viewRect) was accessing
  the bitmap pointer without checking it. Would therefore crash when passing
  NULL, unlike the other methods.
* The BPicture code already reserved room for the BBitmap flags, but did not
  store the actual flags and neiter use them for anything. Since the bitmap
  data is stored anyways, the bitmap creation flags do not matter. So I reused
  this for the new bitmap drawing options.
* Rewrote Bitmap.h and removed the B_BITMAP_SCALE_BILINEAR flag again.
* Tried to optimize Painter::_DrawBitmapBilinearCopy32() a little by giving
  the compiler better hints. There seems to be a marginal, possibly imagined
  speed increase < 0.05 ms. ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-28 18:58:30 +00:00
Stephan Aßmus
42ed4fd712 Rearranged includes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-28 18:51:57 +00:00
Stephan Aßmus
7832e54913 Use #ifdef instead of #if
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-28 12:01:15 +00:00
Stephan Aßmus
28291e331b * Forgot the case in the filter loop where only the top and bottom pixels
need to be interpolated because the x index is right on a source pixel. This
  prevents the out of bounds access for the second to last row in the last
  column. Also the rightmost pixels where incorrectly interpolated with the
  leftmost pixels of the next row. And it actually helps speed too of course.
* Added a compile time option to allocate the filter weighting and index
  caches on the heap instead of the cache. I am not sure if it is a problem
  though, I recall Haiku threads have quite a lot of stack space. The needed
  memory depends on the target size. For a screen with 1920x1200, the caches
  would need 12.5 KB. Allocating them on the stack saves about 0.2 ms on my
  test system. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-28 11:28:19 +00:00
Stephan Aßmus
b6328ba587 Implemented an optimized version of bilinear scaled bitmap drawing for
B_OP_COPY which is about 2.4 times faster than the AGG version (but of
course less generic). The speed up is even better for smaller and even
scales.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-27 23:58:20 +00:00
Stephan Aßmus
eb0a177af3 Updated documentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-27 09:28:28 +00:00
Stephan Aßmus
dcd70f0e39 * Introduced new BBitmap flag B_BITMAP_SCALE_BILINEAR.
* When drawing BBitmaps with scaling in the app_server, use a bilinear
  filter when a bitmap has this flag set. (Hope nobody objects, otherwise
  I can revert or improve this. Performance can certainly be improved, since
  the AGG implementation is too generic. But that goes for the nearest
  neighbor implementation as well.)
* Flags are uint32, fix app_server side code to declare them correctly. Use
  appropriate link methods in BBitmap and ServerApp.
* Enable the BeOS compatibility mode for B_RGB32 (works just like B_RGBA32
  in B_OP_ALPHA mode).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-26 23:40:13 +00:00
Karsten Heimrich
0ca6b749f4 * merge parts of libprint and libprintutils to make both indepentend
* adjust all drivers to take that into account
* fix UpdateText() signature in JSDSlider to avoid warning



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-26 22:36:01 +00:00
Oliver Ruiz Dorantes
585f2ec681 In some cases the remote name request is never returning us the event containing the name. It fails, the reason could be that the command has some differences in the fields depending on the BT version. This is handling the error code properly in this fail case avoiding the wait.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 19:37:19 +00:00
Oliver Ruiz Dorantes
0e5e9538e0 Make more clear the output when removing fields from a request
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-25 19:27:32 +00:00
Oliver Ruiz Dorantes
3205e523cd Implement pairing with a remote bluetooth device
- Fix PincodeWindow to send the pincode commands dissapear after clicking 
- Improve the debug output of bluetooth_server
- Handle all needed events for the pairing
- Simple request could send and receive the event before adding the request to the events wanted list. Inverted the order of this sequence.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-24 20:50:49 +00:00
Karsten Heimrich
12fd6cc2e7 * move libprint sources into libs, as it is a 3rdparty lib
* move libprint headers into libs headers folder accordingly
* merge all shared folders sources into kits print, we might build later on a
  real print kit, propably also to access cups from an nicely API, atm static
* move all shared headers into private print, also pr_server.h from interface
* adjust build to work with the changed folder layout



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-22 20:30:14 +00:00
Stephan Aßmus
1f855f9696 Implemented a double buffered mode for the case that the screen is 32 bit.
It works by adjusting the display_mode to have twice the virtual height to
cause the graphics driver to allocate enough frame buffer. Since hardware
acceleration calls are based on geometry locations instead of memory locations,
accelerated calls can work in the offscreen buffer with this method.
Similarily, the new CopyBackToFront() method copies the back buffer into the
front buffer with hardware acceleration. The code is currently disabled, since
not all graphics drivers handle the virtual versus display size correctly,
for example the intel_extreme driver. It works for example with the radeon
driver, but another problem prevents me to judge the benefit of this method.
Most types of screen redraws are flicker free, though, which is the whole point
of the excercise. :-)
Another problem with the current code is the initial mode switch. It does
not try again to double the frame buffer in the fall back code paths. It could
also check the frame buffer memory at all, before even trying to save some
cycles.
To see it in action, uncomment the code at line 508.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:50:32 +00:00
Stephan Aßmus
576305a5d8 * Adopt the code to handle the case that even a HWInterface instance with
hardware accelerated functions could be double buffered.
* Align the rectangle used for arc drawing like those for ellipsis.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:40:46 +00:00
Stephan Aßmus
328699e5f6 * Coding style cleanup
* Added a flag "fIsOffscreenBuffer", which is used to shift the frame buffer
  pointer to the position after the visible frame buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:33:06 +00:00
Stephan Aßmus
c5ac899aac * Refactor the method that actually copies rectangles from the back buffer to
the front buffer so that derived classes could override it.
* Minor coding style changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:31:27 +00:00
Oliver Ruiz Dorantes
41da6509b2 - Add handling of some events taking part on the pairing process
- Rename event structures to be consistent with another remaining ones
- Fix typos
by Mika & Oliver




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 20:44:09 +00:00
Rene Gollent
2cfee16a9e Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 18:26:40 +00:00
Stephan Aßmus
f01b70d098 mmlr + stippi:
Found an incompatibility with BeOS, where Haiku behaves correctly, though,
after our changes: The alpha channel of B_RGB32 bitmaps is ignored, but
B_TRANSPARENT_MAGIC_RGBA32 pixels are considered fully transparent. In BeOS,
B_RGB32 are simply treated as B_RGBA32, but only in B_OP_ALPHA. We have
added a comment as well as the code that would enabled the BeOS behavior.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 18:18:07 +00:00
Stephan Aßmus
0634c42f2c Small code and comment cleanups as well as clarifications.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 17:06:14 +00:00
Stephan Aßmus
96c7800295 Rearrange Painter::_DrawBitmap() so that the optimized codepaths for unscaled
drawings are used for bitmaps that needed to be converted to B_RGBA32.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 16:46:39 +00:00
Stephan Aßmus
fe71730a9c Add one more optimization for an often used case of bitmap rendering.
B_RGBA32 and B_RGB32 in B_OP_OVER no longer go through the generic AGG code
path, but have an optimized version now, as long as the bitmap is not scaled.
B_RGB32 needs to handle B_TRANSPARENT_MAGIC_RGBA32, while B_RGBA32 works just
like regular alpha blending.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-15 15:41:03 +00:00
Axel Dörfler
bd2509c549 * Desktop::_UpdateFloating() and Desktop::_UpdateSubsetWorkspaces() both
assumed that there was only a single window that was responsible for the
  workspaces of a floating/subset window. Of course, any number of windows
  can make up the workspaces of those. This fixes bug #2506.
* Added a Window::InSubsetWorkspace() method to complement SubsetWorkspaces().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 14:17:23 +00:00
Stephan Aßmus
d24ece5186 * I have experiemented with a different method of countering the colored edges
problem of subpixel-anti-alised font rendering. Personally I find the method
better than filtering the subpixels, since it is a straighter transition
between unfiltered subpixel aa and grayscale aa. There is no added blur
affecting also innocent neighboring pixels. The filter method is better at
hiding jagged diagonal lines though, so Andrej and I agreed to move this to
a general discussion on the mailing list. Screenshots forthcomming...

* Some additional coding style improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 12:59:20 +00:00
Stephan Aßmus
b09e2f6f4b Patch by Andrej Spielmann (GSOC):
* Extend the app_server protocol by configuration options to turn
  subpixel font rendering on/off and also make the glyph hinting optional
  (aligning of glyph shapes to the pixel grid).
* Implement the setting in the app_server and also handle the persistency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:29:50 +00:00
Stephan Aßmus
fa6a00c628 Patch by Andrej Spielmann (GSOC):
* Integrate the subpixel rendering with the existing drawing backend and
  the font rendering.
* The font cache has got an additional rendering type for extracting and
  caching glyph bitmaps that store subpixel coverage values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:26:38 +00:00
Stephan Aßmus
73b44a6aae Patch by Andrej Spielmann (GSOC):
* Extend the existing agg_renderer_region with the two new subpixel methods.
* Remove trailing whitespace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:22:41 +00:00
Stephan Aßmus
829453f678 Patch by Andrej Spielmann (GSOC):
Sorry, actually this third AGG class is also needed to handle subpixel scanline
coverage.

NOTE: I am trying to break up the large patch into digestable pieces. The
comments come from me not from Andrej, so I am to blame for any confusion! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:19:22 +00:00
Stephan Aßmus
185d13d5de Patch by Andrej Spielmann (GSOC):
Two new AGG classes were needed to handle subpixel scanline coverage values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:15:59 +00:00
Stephan Aßmus
0a0622a6de patch by Andrej Spielmann (GSOC):
Removed trailing whitespace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:12:38 +00:00
Stephan Aßmus
c816464287 patch by Andrej Spielmann (GSOC):
Added complementary functions to the set of functions that implement a
drawing_mode, these new functions interpret the coverage values passed
from the AGG rasterizer or another scanline storage as subpixel triplets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:08:59 +00:00
Stephan Aßmus
60d98a49ed patch by Andrej Spielmann (GSOC):
* Added marco definitions for subpixel based blending of two 32 bit pixels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 08:06:59 +00:00
Oliver Ruiz Dorantes
d04eb939af -Move the launching of the Local Device to an IOCTL from the open hook to be more compatible with the net_stack
-Implement Launch method in the accesors regarding previous comment
-Fix KDL at removing device



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-09 17:01:30 +00:00
Stephan Aßmus
264df95726 All input device add-ons should already do this, but make sure that
mouse messages have a "when" field with the event system time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-08 20:29:18 +00:00
Oliver Ruiz Dorantes
48cca06a81 Add new virtual method in the delegates to launch the device, Instantiation meant only to open/register the localdevice
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-08 18:39:41 +00:00
Stephan Aßmus
fc8e77f863 When a BBitmap is drawn with scale, but also only partly, the inverse
image scan generator matrix was calculated wrongly. The part of the offset
that lies within the bitmap bounds needs to have the scale applied as well.
Maybe this code can be simplified. Appearantly there is not a lot of code
that uses BBitmap drawing this way, perhaps because the R5 version has had
issues with rounding. But MediaPlayer uses this feature for drawing the peak
levels and this is fixed by this change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-08 17:48:30 +00:00
Stephan Aßmus
93016537eb Check if the Painter even has a clipping region set before trying to take the
short cut when no text needs to be rendered. I've seen a crash yesterday in
the app_server test environment when the decorater was drawing something,
although it may also have been because I had a screwed up objects folder
where some objects were not recompiled because I am switching back and forth
between two app_server code folders.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-08 17:41:15 +00:00
Karsten Heimrich
685483eada * set the what field to okok on success, as the epson returns 'Good' for some reason
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-07 20:04:03 +00:00
Karsten Heimrich
c5ea3d591d * rearranged header a bit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-07 20:01:46 +00:00
Karsten Heimrich
a836d47d56 * cleanup, no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-07 19:39:10 +00:00
Oliver Ruiz Dorantes
5d7bf42195 Fix EOL
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-02 21:09:04 +00:00
Oliver Ruiz Dorantes
b42c202a65 Fix typos reported by Mika, and remove whitespaces
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-01 20:28:12 +00:00
Oliver Ruiz Dorantes
291e114333 Fix EOL
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-01 19:43:37 +00:00
Oliver Ruiz Dorantes
480cccf67b Fix a serious TODO,
Report the index where the event opcode pair has been found.
Currently server was expecting them to be the first entry of the request 



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-01 19:35:10 +00:00
Oliver Ruiz Dorantes
18dbcd22a0 Handle the command status sent before the arrival of a remote name request.
Avoid unhandled event in the bluetooth_server
	by Mika Lindqvist
  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-01 19:15:15 +00:00
Stephan Aßmus
f592fcef43 stippi + bonefish:
Fixed race conditions when a ServerApp or ServerWindow is created. The 
reply to the client that the object has been created successfully was 
sent in the thread creating it. Preempted at the wrong time (right after 
writing the message to the port) could lead to the object's thread using 
the link at the same time, which would screw up all subsequent 
communication via that link.
This fixes the problem that mimeset would sometimes fail when building 
Haiku in Haiku (can't find the ticket). It probably also fixes #2331, 
and the bug that sometimes when a window is opened (Terminal, crash 
alert, shutdown window, etc.) it would come up with huge width/height 
and tiny other dimension (can't find the ticket).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-01 15:47:56 +00:00
Michael Lotz
d0b2c3e1b8 Remove locking when drawing the decorator buttons. This is most probably not
correct, but it prevents a deadlock that could sometimes be seen right after
booting when the Terminal was supposed to draw the decorator buttons. It
doesn't seem to cause any problems with locking removed (the original drawing
code didn't lock either). Added a TODO to investigate and eventually fix that
though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-29 21:03:34 +00:00
Michael Lotz
61ed28ee13 * All drawing modes except for B_OP_COPY should respect transparent pixels in
source bitmaps. The destination is preserved now when encountering such
  transparent pixels in the source bitmaps.
* B_OP_ERASE is supposed to replace with the low color whereever a source
  bitmap has a non-transparent pixel.
* The B_OP_MIN and B_OP_MAX drawing modes are supposed to select either the
  source or destination pixel based on their brightness, not combine the two
  pixels' color components into a new pixel. The brightness_for() function is
  taken from ColorConversion.cpp in the interface kit. Probably a simpler
  algorithm would do as well.
* Handle B_TRANSPARENT_MAGIC_* in all cases when drawing bitmaps with non-alpha
  source bitmaps, as all modes except B_OP_COPY are sensitive to transparency.

This should make all drawing modes behave as documented in the BeBook. Except
for B_OP_SELECT, which seems broken under R5, the results compare nicely now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-22 02:34:15 +00:00
Michael Lotz
00c81869c5 Fix obviously swapped if statement checking for a solid pattern.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 23:51:37 +00:00
Michael Lotz
efec339946 Take the source alpha into account when doing a B_OP_INVERT so that drawing
bitmaps in B_OP_INVERT mode does not affect pixels where the source bitmap
was transparent, as noted in the BeBook. Not really sure I'm doing that right
though and probably needs looking into for B_OP_ERASE and B_OP_SELECT too.
Fixes bug #2421 though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 19:38:56 +00:00
Michael Lotz
bdc47b1f97 Remove transparent magic handling for B_CMAP8, ImportBits() takes care of that already.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 14:48:06 +00:00
Michael Lotz
f24652cba6 Fix two wrong debug output messages and add one for AS_SYNC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-21 13:45:58 +00:00
Oliver Ruiz Dorantes
14ea910db6 Identation and handling of the pincode and incoming connection events
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 21:05:33 +00:00
Stephan Aßmus
9977d172f0 Keep the last changes more in the style of the rest of the file. (Nice
catch, btw, Michael!)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 10:41:54 +00:00
Michael Lotz
345dc29f8a When drawing bitmaps with B_OP_OVER with a color space that does not provide
an alpha channel of itself, we have to respect B_TRANSPARENT_MAGIC_* pixels
and properly make them transparent. We achive that now by just setting the
alpha to 0 in our converted B_RGBA32 bitmap for each pixel where there is a
B_TRANSPARENT_MAGIC_* pixel in the source. This is not really efficient, but
fixes missing images for example in NetPositive. They were treated as B_RGBA32
while they in fact were B_RGB32 and happened to have all alpha bits set to 0.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-14 20:52:05 +00:00
Michael Lotz
6309b004c6 When drawing the decorator buttons lock the DrawingEngine, enable copying to
the front buffer, draw the bitmap, restore the copy to front buffer state and
unlock. This fixes that the updated button state was not actually copyied to
the front buffer (and therefore visible) when a window was inside an update
(disabling front buffer copying).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-14 20:51:20 +00:00
Michael Lotz
e13a79e005 * Cache the close and zoom buttons in a blit-ready bitmap so the buttons don't
need to be drawn each time an update occurs (switching focus/non-focus or
  pressed state, involving many graphics card blits and state updates in the
  drawing subsystem).
* Provide a shared list of already present bitmaps. All the default decorators
  now use the new _GetBitmapForButton static method to get a rendered bitmap
  of the button for the given size and state (focus, pressed). If a matching
  bitmap exists it is returned, otherwise a new one is created on demand using
  a shared BitmapDrawingEngine.
* Cache the colors of the tab and frame for both focus and non-focus states to
  avoid always looking them up.
* Added a todo that these bitmaps and the BitmapDrawingEngine are never freed.
  They should be freed on app_server quit, but as there are only like 12 of
  them anyway I didn't really bother.
* Some cleanup.

This should reduce the waste of cycles for just drawing the default decorator
buttons quite a bit. Probably the whole tab should be pre-rendered though to
also safe the text rendering of the title.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-13 13:48:33 +00:00
Michael Lotz
33d85b510b Add a handy utility class that provides a DrawingEngine directly attached to a
server side UtilityBitmap of a certain size. It sets up the DrawingEngine, the
UtilityBitmap and the BitmapHWInterface necessary so that one can directly
do drawing to a bitmap using the normal DrawingEngine interface. It provides
an ExportToBitmap method that allocates an output UtilityBitmap of a specified
size and color space where the content is put into, so a single instance of a
BitmapDrawingEngine can be reused for various drawing.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-13 13:28:13 +00:00
Michael Lotz
3ba76c1433 Whitespace cleanup. No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 18:08:52 +00:00
Michael Lotz
018b0c251c * The StrokeLine() variation that takes a rgb_color did change the drawing
state of the painter without restoring it afterwards (HighColor and
  DrawingMode).
  This function is only used in decorators, but as such it could lead to
  strange effects. When clicking and holding the close button on the R5
  MidiPlayer for example, the background of the scope would suddenly become
  the color of the close buttons middle line. As the drawing mode was also
  overwritten this could probably have lead to text rendering issues when
  zooming applications. As I didn't find a easy way to reproduce such a thing,
  this is only theory though.
* Implement the missing IsExclusiveAccessLocked() method in the DrawingEngine
  which is not used at the moment. If corresponding debug output is generated
  though, it reveals possible locking issues with CopyRegion().
* Remove an empty line in the LineArrayData struct.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 23:49:53 +00:00
Karsten Heimrich
ced75fc6b0 * in case we do not show the config window,
still distinguish between config page and config job
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 18:47:07 +00:00
Stephan Aßmus
581e67867c * Change the protocol for sending the affected view tokens during an update
session to also include each view's individual update rect (in screen coords).
  Should actually not be mush slower than the old version, and hopefully makes
  it possible to have smarter BView::Draw() implementations which should make
  more than up for any potential speed loss.
* Removed unused version of View::AddTokensForViewsInRegion().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-09 16:07:18 +00:00
Michael Lotz
ea2bcbf4af * Fix leaking the user and combined screen and user clipping.
* Fix using fScreenAndUserClipping directly in CopyBits() that could crash
  when in fScreenAndUserClipping wasn't used (when there's no user clipping
  for example).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 23:49:04 +00:00
Michael Lotz
f0c3c996cd * Decouple local and user clipping into normal local clipping and a user
clipping region pointer.
* Provide _ScreenClipping() that only includes local and screen clipping but
  not user clipping.
* Provide ScreenAndUserClipping() that returns screen clipping if no user
  clipping is present, or returns a combined region that is then cached.
* Adapt all places where the former methods are used and decide which one to
  use depending on the relevance of user clipping.

User clipping is now ignored for background clearing and when determining
whether or not to call Draw() on a view. This should make Haiku behaviourally
compatible with BeOS (confirmed by the ClippingAndRedraw test app) and should
also fix the Firefox redraw issues. Stephan please review!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 23:09:21 +00:00
Stephan Aßmus
e4ddc13a40 Revert the bad part of my previous change. Wasn't supposed to exchange
the modifier key.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 17:19:19 +00:00
Stephan Aßmus
5f01a858b2 * Check return code.
* Make check slightly more readable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:50:37 +00:00
Stephan Aßmus
171d365edf Honor the 80 chars per line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 21:17:19 +00:00
Axel Dörfler
6ec21b4ad3 * Implemented retrieving additional bitmap support flags by the app_server.
* Added B_BITMAPS_SUPPORT_OVERLAY flag to indicate overlay support for the
  color space.
* Rewrote GraphicsDefs.h - the previous one was obvious a copy of the Be header,
  including typos and strange white space. I was a bit lazy with respect to
  the color space details, and mostly trusted the information provided by the
  Be header else.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 17:44:46 +00:00
Axel Dörfler
1938efc0a9 * Renamed the "simple" mode setter Screen::SetMode() variant to SetBestMode();
it can also no longer create a default mode.
* This SetBestMode() function now follows a similar logic than the boot loader,
  that is, only the width must not deviate, all other values are chosen as
  close to the original as possible.
* VirtualScreen::AddScreen() now follows the same logic as the boot loader in
  case no configuration was found, and the current screen has no preferred mode
  (for example via EDID). That is, it will first try 1024x768, and then 800x600.
* This means there is no mode change anymore when switching from the boot
  loader to the app_server in Qemu and VMware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 14:35:31 +00:00
Axel Dörfler
32eac6c375 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 14:31:47 +00:00
Axel Dörfler
654aaf6ee2 Quick build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 11:26:06 +00:00
Ingo Weinhold
8d1699709a * For operations that implicitly install a MIME type, we no longer send
two notifications (install + update), but only the install
  notification.
* When create_app_meta_mime() installs a new MIME type (app signature or
  supported type), it only sends the install notification, instead of
  install + one or more updates.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 00:07:32 +00:00
Axel Dörfler
55112db6ea * Do not update the internal window state in case sending the message failed.
* This is not perfect, but it makes Tracker catch up and redraw when the next
  event is due. This improves the situation in bug #2212.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-29 18:16:07 +00:00
François Revol
ebc5ec193f fix gcc4... and style rules. I won't be the only one paying beers at BeGeistert ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-29 12:44:18 +00:00
Oliver Ruiz Dorantes
96f4720393 Add into compilation remaining bluetooth components:
- server
- command tools
- H2 transport driver

Patch by Adrien Destugues and Andreas Faerber



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-28 21:33:22 +00:00
Ingo Weinhold
9dec848f8d Fixed memory leak. Discovered by Coverity (CID 1013).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-24 15:36:25 +00:00
Stephan Aßmus
5593e6d9f6 Spotted a mistake in my previous commit, the style would still point to
the last style if the face was not found.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-24 15:30:48 +00:00
Stephan Aßmus
5b30a26b7c Added additional font face flags for "condensed", "light" and "heavy".
Our font has some extra styles and these could be picked up as the
"regular" face by accident, as witnessed by Firefox. Tracked down by
Michael Lotz. Firefox uses the correct font now for it's interface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-24 14:54:18 +00:00
Karsten Heimrich
fc0c84e771 * use the HVIF icon for the default printer folder, this will fix the black
rect arround the folder icon after setting the default printer on Haiku...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-22 20:38:14 +00:00
Karsten Heimrich
c749605ff1 * respect the users choise and don't show the printer panel if he does not wan't to setup a printer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-22 20:23:50 +00:00
Ingo Weinhold
89d327d66e Added missing spwd::sp_lstchg field.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-19 02:16:12 +00:00
Ingo Weinhold
6b202f4e3d * Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
  several kernel headers into a shared part and one that is still kernel
  private. Adjusted all affected Jamfiles and source in the standard x86
  build accordingly. The build for other architectures and for test code
  may be broken.
* Quite a bit of userland code still includes private kernel headers.
  Mostly those are <util/*> headers. The ones that aren't strictly
  kernel-only should be moved to some other place (maybe
  headers/private/shared/util).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 03:55:16 +00:00
Stephan Aßmus
97ee7d0a55 When drawing is double buffered, there is no excuse for a flickering cursor
(including any drag bitmap). HWInterface::HideFloatingOverlays() was plain
stupid, I know it did check double buffering at one point, but I must have
removed that when messing with it. But copying anything from back to front
buffer is now not overwriting the cursor area anymore, which is painted
immediatly afterwards. Also moving the cursor invalidates only one rect
if old and new cursor area overlap. All these changes should save some cycles
too. Added TODO with regard to caching the on-the-fly cursor compositing
buffer.
If you have
* a more recent computer
* a decent VESA BIOS which supports your native resolution
* don't need video overlays
... I recommend using the VESA driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-12 21:10:05 +00:00
Jérôme Duval
07a6286989 B_ZENKAKU_HANKAKU doesn't need B_COMMAND_KEY (I misunderstood the patch).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 13:52:53 +00:00
Jérôme Duval
ba64d8928a * added B_KATAKANA_HIRAGANA and B_ZENKAKU_HANKAKU (used in Japanese keymap)
* Patch by Shinta: switch between input methods are now not only done with Alt+Space but Alt+Zenkaku/Hankaku.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 12:38:57 +00:00
Ingo Weinhold
173dd626bf Cast B_OK to (uint32) to solve an overloading ambiguity (I don't agree
with the compiler, though :-)), I'm about to introduce.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-08 20:50:17 +00:00
Jérôme Duval
0895d46fdd added a TODO about user fonts in safe mode
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-08 11:43:00 +00:00
Jérôme Duval
872556daeb Patch from Kaoutsis: use find_directory() instead of hard coded paths
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-08 11:28:42 +00:00
Stephan Aßmus
3db71143ea Print a message about restarting or shutting down the computer. Since this
may take a short moment on real hardware, it is better than the "Asking blah
to quit..." which is otherwise still left.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-07 19:23:11 +00:00
Stephan Aßmus
fde63f5602 Better naming of a variable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-07 19:22:05 +00:00
Jérôme Duval
f27f494cb2 when no input method is found but the replicant was loaded, we now unload it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-06 21:18:31 +00:00
Jérôme Duval
cea151dc3e B_SAFEMODE_DISABLE_USER_ADD_ONS is also a safe mode we now honor
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-06 21:07:21 +00:00
Ingo Weinhold
3a4c7e6e71 If the supplied entry was a directory,
CreateAppMetaMimeThread::DoMimeUpdate() would always fail early, making
recursive operation impossible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-04 12:48:21 +00:00
Ryan Leavengood
6aede71c0c Resolve a TODO and fix another ancient bug, #386. Print Screen is now handled
by BWindow, no longer by the app_server. This should stop the "screen freeze"
effect.

This adds a dependency on libpng.so and libz.so to libbe.so. The same
dependencies and the PNGDump code added here can be removed from the
app_server. I am just waiting for a code review of this before doing that.

This implementation still does not give the client a chance to handle it
differently.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-30 02:55:15 +00:00
Axel Dörfler
c4d143146c * fDragBitmap was never initialized, leading to occasional crashes after the
first mouse click.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 11:39:47 +00:00
Oliver Ruiz Dorantes
39399f65f0 - Implement RemoteDevice::GetFriendlyName() in kit and handle the required reply in the server.
- Now a discovery process is nicer.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-19 16:53:06 +00:00
Ingo Weinhold
f694f63e2b * Moved private passwd/group/shadow passwd limit constants from
<libroot_private.h> to <user_group.h>.
* Added support in the registrar for adding and modifying users.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-19 00:10:51 +00:00
Karsten Heimrich
8a2dad71cc * no need to reply, as set_ui_color won't read it anyway
Fixes some strage behavior (moving/disappearing text) in
  Appearance preflet while moving a color control chooser.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 23:19:31 +00:00
Ingo Weinhold
b5a945d648 Allow only root access to the shadow password DB.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 17:58:51 +00:00
Ingo Weinhold
a94ce1c912 * Reorganized the passwd and group support: A dedicated thread in the
registrar provides access to the DBs via a port message based
  protocol. The functions in libroot just ask the registrar now.
* Added Linuxish shadow passwd support. No putspent() though -- we'll
  provide private functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 16:19:18 +00:00
Oliver Ruiz Dorantes
ae736793e8 - Fix parsing of the inquiry replies. There is a first byte indicating the number responses which was ignored.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 22:21:28 +00:00
Oliver Ruiz Dorantes
717c9b00f2 - Fix correct handling of the command status event
- Fix Removal of specifil event wanted in a given request



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 17:17:47 +00:00
Rene Gollent
1174007caf Modified bin/keymap's -h option to write a variable to the generated header
indicating the name of the keymap. Correspondingly, modified input_server 
to use the aforementioned variable in order to write the name attribute
to ~/config/Key_map. This allows Keymap prefs to correctly recognize the name
of the default keymap on a fresh build.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 22:41:19 +00:00
Stephan Aßmus
67d5c5a838 Implemented Oliver's suggested improvement to ServerCursorReference when
switching cursors. There was a race condition in case the objects was used
by multiple threads, in which Cursor() could return an already destroyed
object. Note: This doesn't fix a real bug or anything, the change is purely
forward looking in case ServerCursorReference is ever used like that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 08:12:38 +00:00
Jérôme Duval
f27659f55e * GRAY8 is 8 bits
* typo


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 19:45:11 +00:00
Axel Dörfler
33808d63f4 * AttachUser() now creates the user directory if it's not there yet. Added
a TODO comment that find_directory() won't return the correct directory in
  a multi-user environment. This fixes bug #2003.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 13:04:08 +00:00
Stephan Aßmus
ace2d5ee37 HWInterface::Cursor() and therefor Desktop::Cursor() accessed the
current cursor without locking, and did not add a reference while
using the cursor. I have tried to solve both problems by introducing
a simple ServerCursorReference class, which makes sure that the
reference count is properly maintained. There are only two places
where this code was even used, from within ServerApp and when taking
screenshots. Axel, you mentioned in #837 that the code is unsafe, is
this what you meant? This hopefully fixes #837, but it is very hard
to reproduce in the first place, I will close the ticket, but it should
just be reopened if ever encountered again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 11:12:39 +00:00
Stephan Aßmus
42cf275606 The scale of a state does not influence the origin. Only previous states
and their origin and scale influences the current state's origin, since
they can be regarded as within the parent state's coordinate system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 11:04:03 +00:00
Oliver Ruiz Dorantes
4b7428b564 - Implement the server understand the Inquiry complete, and the Inquiry result.
- With this, we should be able to discover other devices, but not tested yet. No application to use this part of the kit



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 21:59:23 +00:00
Oliver Ruiz Dorantes
1ba54b5b31 Fix correct handling of more than one event wanted in a single request
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 21:51:31 +00:00
Oliver Ruiz Dorantes
fd223db5ad - Add capability to the server to handle Command Status events
- Add capability to reply the inquiry started command status



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 21:53:37 +00:00
Ingo Weinhold
e954dc800b Send SIGTERM on shutdown, not SIGHUP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 19:11:18 +00:00
Karsten Heimrich
5d81827b2c * push the states on the server instead on the client side
* DrawState::SetOrigin needs to take the view scaling into account
* set the orgin in BPrintJob, to be able to print more then one page properly

Note: This would make printing work on HAIKU as on BeOS, but still it does
      not because of 1; BPortLink size limit and 2; because we can only print/ draw
      the visible region of a view? I had to resize StyledEdit to a i.e 10000
      to test and to be able to print the full syslog.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 16:25:23 +00:00
Axel Dörfler
f2879f52a3 * The mouse message now also contains the x/y delta, if available, in the
int32 fields "be:delta_x", and "be:delta_y".
* This way, you can discover if the mouse is moved against an edge or corner
  of the screen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 17:46:01 +00:00
Maurice Kalinowski
f9fd198ee3 prefer $(TARGET_LIBSTDC++) instead of stdc++ for being more generic (We do the same in libbe)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 23:06:09 +00:00
Rene Gollent
c6242cb287 media_server needs libstdc++ to link on gcc4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 23:02:01 +00:00
Axel Dörfler
9dbce7a4e7 * AS_CURRENT_WORKSPACE now holds a single window lock before retrieving
the current workspace.
* This should fix bug #1765 as far as the app_server is concerned.
* Cleanup, removed extraneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 18:59:08 +00:00
Ingo Weinhold
0323066a2a When failing to remove MIME DB attributes that don't exist, don't fail
anymore. This concerned mimeset for instance. The Haiku build under
Haiku now gets a little further.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 07:45:16 +00:00
Ingo Weinhold
b40802973a Addressed memory leaks in the MIME sniffer code. Fixes bug #1660.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 04:26:43 +00:00
Ingo Weinhold
781a715529 Move RegistrarThread[Manager].cpp to the registrar. There was no point
in those living in libbe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 02:51:58 +00:00
Karsten Heimrich
c8ee6ba8fb * do some simple checking if the printer exists and is usable at
all, otherwise complain or offer to make it the default printer


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 13:23:03 +00:00
Axel Dörfler
5e2ef462ec * Got rid of the duality of FS_WRITE_STAT_* vs. B_STAT_* flags (removed
the former ones).
* Removed extraneous white space.
* net_server settings are now also updated when the size of the 
  file changed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 12:04:47 +00:00
Karsten Heimrich
bd937035c7 * adjusted copyright
* small coding style cleanups
* made the config window a bit more font sensitive
* removed unused code in AboutRequested, since change 19593 there is no Be anymore in the about text



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 00:34:49 +00:00
Karsten Heimrich
77258c7702 * proper check for the what field to show the config window
* if there are printers but no default one, show only the printer panel without the add dialog
* adjusted the alert message accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 00:20:26 +00:00
Axel Dörfler
98fe648b6e * FontFamily::GetStyle() now looks for alternative names when a specific
style couldn't be found, ie. when looking for "Roman", "Regular", and
  "Book" are accepted, too, and "Italic"/"Oblique" are now synonyms as 
  well.
* This prevents StyledEdit from using the "Condensed" style when it does 
  not find a certain font.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 16:52:34 +00:00
Stephan Aßmus
79ef179c52 A test app revealed some bugs with regards to client provided clipping regions:
* It is necessary to store the local origin and scale of a view state, at
  least for the clipping region and especially because the scale affects the
  clipping region. Ie origin and scale of one state affect the clipping region,
  at the time the clipping is evaluated, ie
     SetOrigin(...);
     ConstrainClippingRegion(...);
  is equivalent to
     ConstrainClippingRegion(...);
     SetOrigin(...);
  The current client provided clipping region at the time of PushState()
  always constrains the region of the new state. The previous region
  and the current local clipping may have their own individual origin and
  scale.
  To support all this, I needed to store origin and scale of each state on
  the stack, but I do cache the combined origin and scale. Caching only
  the combined region is not possible though. So the new implementation
  is slower than the previous, but more correct.
* Refactored "copy constructor" from DrawState, which is not really a copy
  constructor anyways, made it private. It is only used by PushState().
* Removed some dead code from DrawState.

All this improves Firefox redraw issues a tiny bit, but does not fix them.
Either I am not covering Firefox needs with my test app, or the bug is
somewhere else. At least Haiku behaves like BeOS with regard to client
clipping regions and the state stack now...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 00:04:12 +00:00
Oliver Ruiz Dorantes
a774d59ff0 Implement handling of the scan mode event reply
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 22:41:47 +00:00
Stephan Aßmus
f306ef434f * Fix build of app_server test environment by implementing atomic_get(),
maybe this should be the assembler version we use for x86, but is probably
  fine for the purpose of the test environment (only BString uses this)
* Fix semantics of DrawingEngine::CopyToFront() which I recently introduced,
  for the fake accelerant of the test environment, we do need to call
  Invalidate(), not CopyBackToFront() directly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 14:28:09 +00:00
Bruno G. Albuquerque
c975a408dc - Changed default address for failed DHCP requests from 192.168.0.x to
169.254.0.x, as this is the IANA reserved address for default
  configuration.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-16 22:24:18 +00:00
Oliver Ruiz Dorantes
b4825b618a Remove code references for commands
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-15 15:46:58 +00:00
Axel Dörfler
d8ebe61203 The fWorkspacesViews list now gets its own lock which solves a deadlock
problem when deleting Workspaces replicants.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-14 13:21:17 +00:00
Axel Dörfler
58c42ec9de No need for the kWorkspacesWindow flag anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-14 11:19:57 +00:00
Oliver Ruiz Dorantes
057d0dc02a Correct misspell adquire->acquire
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-13 19:30:04 +00:00
Oliver Ruiz Dorantes
876b8c17c8 Remove Command builder implementation from the server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 21:52:49 +00:00
Axel Dörfler
092c62f0f1 * Creating a Desktop can fail, in which case the app_server should not return B_OK,
and an invalid desktop message port...
* Desktop::Init() now checks if VirtualScreen::fHWInterface is valid, and exits
  if not. This can happen if you don't have a graphics driver, and turn on on-screen
  debug mode in the boot loader (such that you already see the messages from the
  boot loader).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 18:01:32 +00:00
Stephan Aßmus
97d6a0515e GetClippingRegion() was implemented wrongly on the app_server side. It needs
to take the current effective drawing region of the view, but converted to
local coordinate space. Untested as of yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 17:38:26 +00:00
Stephan Aßmus
ffac272e35 Used the new mechanism/options in the DrawingEngine with regard to
back to front copies in Window for updates. When in an update session,
any back to front copies are turned off. When the update session ends,
the whole region is copied at once. This has two effects: For once, it
avoids a lot of unnecessary copies (for example, rendering text copied
the background and then the same area for the text again). But even more
effective, it changes the entire drawing of any Haiku app to be completely
flicker free. Provided it happens in the normal Invalidate()/Draw() cycle.
And of course all this only works for double buffering mode, ie VESA.
Potentially, I might have overlooked something, so that this patch could
result in some drawing glitches, but in my testing, I have seen none yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:30:07 +00:00
Stephan Aßmus
18212e76cc * Made it possible to supress automatic back to front buffer copying of the
rectangle area that is touched by a drawing command.
* Added a CopyToFront(BRegion) method which copies a complete region from
  the drawing/back buffer to the front buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:24:00 +00:00
Stephan Aßmus
b7458c6b96 RenderingBuffer::Bounds() returns an IntRect, saves a conversion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:22:11 +00:00
Stephan Aßmus
8a1c136e47 Use the front buffer for screenshots always, otherwise we don't get the contents
of BDirectWindows for setups where the app_server uses double buffering mode.
I didn't test the change, but the way the cursor is optionally copied into
the bitmap (which might now be not 32 bpp) looks very flexible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 15:32:01 +00:00
Stephan Aßmus
417889ced8 * Handle clearing to white on the client. This also makes sure that bitmaps are
cleared which have no app_server link (B_BITMAP_NO_SERVER_LINK).
* Check the allocation of the BWindow in BBitmap for view accepting bitmaps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 10:51:56 +00:00
Axel Dörfler
6c1198ff2d Disable user add-ons only if specifically set in the safemode settings,
thanks François!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 22:21:21 +00:00
Axel Dörfler
cfb3cc4648 * Now checks and honours the "disable user add-ons" safemode setting.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 15:25:39 +00:00
Oliver Ruiz Dorantes
009fac9906 Code & text output cleaning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 00:04:16 +00:00
Stephan Aßmus
582b3d5a72 * When allocating a new Window, check the allocation of the DrawingEngine
instance by introducing Window::InitCheck(), use new (nothrow).
* Window is responsible for the DrawingEngine instance, but forgot to delete
  it.
* OffscreenWindow is no longer special, every Window owns a DrawingEngine,
  no need to delete it anymore, but since it already deletes the HWInterface
  instance, it needs to detach the DrawingEngine from it.
* Use new (nothrow) in OffscreenWindow as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:41:24 +00:00
Stephan Aßmus
f875a78340 RenderingBuffer returns IntRect in Bounds() now. Should have been
part of an earlier commit...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:36:15 +00:00
Axel Dörfler
c7a77521ff Renamed all *LAYER* constants to *VIEW*.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 16:44:18 +00:00
Axel Dörfler
437b19277f * Removed severly outdated DebugInfoManager.
* More "layer" cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 15:28:31 +00:00
Axel Dörfler
953d895e02 * Got rid of the "Layer" part of WindowLayer, ViewLayer, WorkspacesLayer
(now WorkspacesView), OffscreenWindowLayer.
* Renamed ServerScreen.cpp/h to Screen.cpp/h (the class was already called
  Screen).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 12:45:54 +00:00
Axel Dörfler
b0121f5117 AccelerantHWInterface::_DrawCursor() did not override its parent method, but
hide it (because of different argument types, BRect vs. IntRect).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 12:26:59 +00:00
Axel Dörfler
2c184b20ed * The Desktop is now maintaining a list of workspaces views, and supports
more than one of them at the time.
* Changed ViewLayer::FindView() to FindViews() that collects all views
  with the given flag set, not just the first one.
* Made ViewLayer::AttachedToWindow() and DetachFromWindow() virtual,
  WorkspacesLayer now overloads them to register itself with the window and
  the desktop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 11:42:20 +00:00
Axel Dörfler
e0d6d2fe80 Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 11:36:10 +00:00
Oliver Ruiz Dorantes
30f1d1f363 bluetooth_server: a really young piece of meat, code not even to be looked at. Bad/fast code in some modules. But better here than in a crashed partition.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 21:02:08 +00:00
François Revol
9fb2c0f239 Fix tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 14:27:18 +00:00
Axel Dörfler
6ec72e838c * In normal mouse mode, the focus list is no longer used to find the
next window to get focus after the current one is gone. This fixes the
  strange behaviour when using right-click to send the current window to
  the back.
* When FFM is active, Desktop::SendWindowBehind() will now choose the 
  new focus window to be the one under the mouse, overriding the focus 
  list.
* Desktop::SendWindowBehind() will now also call _SendFakeMouseMoved()
  if necessary.
* Removed Desktop::fFocusFollowsMouse; it was not used or 
  maintained anywhere.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 12:55:41 +00:00
Stephan Aßmus
cebfa7dc45 I was trying to fix Firefox redraw problems, but this change does not
help. However it appears I might have fixed the GL apps drawing over
other windows. Cannot reproduce this problem anymore, but it may be
that this bug doesn't show on my new setup (32bit double buffered VESA).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 11:15:09 +00:00
Axel Dörfler
d01879e5a6 * Added a separate focus list that will contain all windows in the order
of the last focus.
* When choosing a new focus window, this list is now used to find the
  new focus window instead of just choosing the next window in the
  workspace list.
* With the normal mode mouse, this shouldn't change anything, but with
  focus follows mouse turned on, this will behave much better if you 
  don't actually move the mouse - and it also fixes bug #1886.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-04 12:47:34 +00:00
Rene Gollent
4e03eeaa47 The registrar's shutdown window and BAlert both use
a BTextView in order to be able to display multiline
panel text (since BStringView can't handle this). However,
while they correctly set the background panel color, they
neglected to set the font style/color to that used by panel.
Fixed. This makes shutdown/restart dialogs properly color sensitive.




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-04 01:21:00 +00:00
Rene Gollent
676308a602 App Server now saves/restores ui_color settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-04 01:19:04 +00:00
Axel Dörfler
b9d1483940 Added support for recognizing Jamfiles.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-01 12:36:03 +00:00
Axel Dörfler
e4ffdb7a94 * Added a more generic subtype for the source code files for automatic
MIME type guessing.
* Now, if the specific MIME type exists, it will be chosen, if it doesn't,
  the generic MIME type is chosen. If that does not exist either, the most
  generic is chosen (a.k.a. "text/plain").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-01 11:56:30 +00:00
Axel Dörfler
a9ab9cf19a Setting a default netmask/broadcast address is no longer needed in ifconfig
and the net_server; the network stack now does this internally since r24170;
it worked for IPv4 only, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 15:51:34 +00:00
Axel Dörfler
a4de7fa0fa * Do not trust the client! ServerFont::GetEscapements() now takes a
parameter for the length of the arrays, so that even if the char/byte
  counts do not match, no memory is overwritten anymore.
  This fixes bug #1862; .canna obviously contains invalid UTF-8 
  characters, or there is a bug in StyledEdit (or deeper) and it doesn't 
  call BFont::GetEscapements() correctly.
* Fixed some cases of unchecked allocations in the font handling methods
  of ServerApp, added TODOs to all other ones.
* Improved error code when creating a window fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:22:48 +00:00
Karsten Heimrich
85b669320b * make sure we show the "Printer Setup" panel in case one calls ConfigJob
without a previous call to ConfigPage, as this would fail without any notice...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 22:27:05 +00:00
Stefano Ceccherini
10da43ea2e Use DejaVu as default fonts, instead of Bitstream Vera. DejaVu is
just like Vera, but it has some more glyphs. Actually we could get rid 
of Vera completely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 15:59:17 +00:00
Stephan Aßmus
c8d785a71d Cursor frame can be expressed using IntRect. Saves a few lines of code too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 16:43:50 +00:00
Stephan Aßmus
4d1dd3bcfe Use the AutoFloatingOverlaysHider in the remaining cases where overlays were
hidden regardless of the affected area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 16:08:57 +00:00
Stephan Aßmus
b1ab9b5f07 * ReadBitmap() could mess up the software cursor locking, since it
used the BRect version of HideSoftwareCursor() but then called
  ShowSoftwareCursor() unconditionally.
* Renamed Hide/ShowSoftwareCursor() to Hide/ShowFloatingOverlays().
* Removed no longer needed FontLocker.
* Implemented AutoFloatingOverlaysHider and got rid of a lot of
  code duplication this way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 15:31:12 +00:00
Axel Dörfler
f9bbab8848 * First steps towards a more flexible workspaces view handling: the
workspaces view can now be any view in the hierarchy.
* Added private view flag kWorkspacesViewFlag that identifies such a
  view - note though, that you must not remove a view before closing or
  hiding its window for now (and that you still need to set the 
  kWorkspacesWindowFlag, too).
* Fixed Workspaces check for valid screen coordinates; after a crash, it
  managed to open its window offscreen for me.
* Added a ViewLayer method FindView() that finds a view with the 
  specified flags set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 11:18:52 +00:00
Stephan Aßmus
c067ed4ea4 applied patch by Maurice Kalinowski:
* Add check whether directory to store settings exists. If not, create it.
* Use global constant (like in DefaultManager.cpp) for path/file names.
* Cleaned up a little bit and made debug output only appear in case 
  debugging is turned on (meaning printf->TRACE).
-> Fixes #1531.
(I added a few more error checks to the code, maybe there should be even 
more...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 09:55:44 +00:00
Stephan Aßmus
f8cb1f478c * Always use the double buffered implementation if running in VESA mode. It
was not used in case of 32 bit VESA modes. Gives a huge performance boost
  for 32 bit VESA mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 19:39:42 +00:00
Stephan Aßmus
d755e1c073 Implemented Enable/DisableUpdates again on the app_server side. Untested. It
should prevent the app_server to send any update messages to the client. It
should just keep adding to the pending update sessions region until the client
enabled updates again. If anything is already in the pending session, an
update request will be send immediately.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:56:45 +00:00
Michael Lotz
94fec641a7 Implemented a small kernel debugger add-on that triggers a redraw of the
entire screen when exiting the kernel debugger. It sets up a thread that sends
a message to the (currently hardcoded) desktop message looper. The desktop then
does mark the whole screen dirty which causes a full redraw.
Since interrupts need to be enabled I went with an asynchronous thread and
releasing a request sem in the add-ons' exit hook.
Added the add-on to the image as it shouldn't hurt to have it for now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:40:07 +00:00
Stephan Aßmus
ddb44fda2c Fixed the log file output when DEBUG=2. PRINT() is called from global
initializers before sLogFile was created in the InputServer constructor.
Even moving the log file creation to a global initializer didn't help,
since the order is not guaranteed. So I changed the code to create the
log file on the fly in the PRINT method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 11:32:41 +00:00
Axel Dörfler
4db9f96954 Added "FTP" facility string.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 12:42:34 +00:00
Axel Dörfler
5e42a6bdd7 bonefish+axeld:
* the net_server leaked file descriptors for every opened session.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 16:40:03 +00:00
Jérôme Duval
a0c4a29faf added B_RGBA15 colorspace, and explicitly print which colorspce is unsupported
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-09 18:08:34 +00:00
Ithamar R. Adema
eb5a25ca41 Slight rework of my previous commit... now ports can be asked too ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-08 02:00:08 +00:00
Ithamar R. Adema
62cb58a8ef Make print_server track Transport addons too. This is because some of the NewTransportAddOns(tm) can also autodetect devices, e.g. USB printers. For this, the print_server needs to keep those transport addons loaded at all times. This code now also enables dynamic Transport discovery for the Printer prefs, e.g. 'hey print_server GET Transport 0' or 'hey print_server GET Transport 'USB Port'' will now work too ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-08 00:34:53 +00:00
Axel Dörfler
41d99cab60 * SetDragMessage() could be called when the mouse button was already released.
* Since it didn't check if any mouse button was pressed at the time it was
  called, it would still initiate a drag, and thus caused bug #1710.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-29 15:14:39 +00:00
Stefano Ceccherini
511c231b35 remove unnecessary code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 13:45:59 +00:00
Stephan Aßmus
28ff3e2c9a * the name of an image is actually B_PATH_NAME_LENGTH long
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 14:58:24 +00:00
Stephan Aßmus
0644c0e333 * actually print the image name if a symbol name could not be found
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 14:51:20 +00:00
Axel Dörfler
2d0687ae9e * B_AVOID_FOCUS windows never got mouse clicks. This fixes bug #1652.
* Our behaviour differs a bit from how BeOS handles those windows, added a
  comment to the code which explains that, and how we could change it if we
  really wanted to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-22 19:08:28 +00:00
Stephan Aßmus
9d4fa2c12b * Appearantly, we are calling ScreenClipping() on some views who's parent
views don't have a valid screen clipping yet. If then later we want
  to invalidate the clipping of an entire hierarchie, the traversal stops
  before reaching some of the child views, because the assumption was that
  for any views with invalid screen clipping, their child views have invalid
  screen clipping as well. Though this might cost a little performance, we
  always invalidate the screen clipping of all child views, ignoring the
  flag of the current view. Fixes ticket #1198 (garbled screen clipping of
  E-Mail prefs and WonderBrush tool area when switching tabs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 16:58:06 +00:00
Axel Dörfler
89ba97ea24 * ViewLayer::ViewAt() must not use the screen clipping to find the view
in question as it used to find the view that is under the mouse (found
  during a short phone session with stippi :-)). This fixes bug #1714.
* The local view clipping is still not correctly maintained by the 
  app_server, but that only affects the drawing now. I've added some
  commented out code that give you some visual feedback on this problem
  (ViewLayer::MarkAt()).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 16:49:58 +00:00
Ingo Weinhold
da788f64d4 When we're already late for scheduling a message for a message runner
with an unlimited count, we just drop it and schedule the next message
in the future. This way applications won't get swamped with pulse
messages after a longer KDL session.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 19:24:23 +00:00
Stefano Ceccherini
ebdedf9bbf disallow importing/exporting big pictures, since the Link* api doesn't allow sending more than 64 kb through it. At least printing via ShowImage doesn't hang the app anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-16 08:27:11 +00:00
Michael Lotz
f82c11c079 bonefish+mmlr:
* Move most of MIME database support out of libbe and into registrar
* Use the (async) MessageDeliverer instead of a synchronous SendMessage in _SendMonitorUpdate

This fixes a deadlock when the message port of a MIME database watching
application gets full as documented in bug #1311.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 22:45:06 +00:00
Axel Dörfler
45d0ea5605 Fixed two dirty region problems of the workspace switching code:
* If two intersecting windows didn't change their position but their 
  order, the dirty region wouldn't contain the region that would need
  to be updated because of that order change. This fixes bug #827.
* When a hidden window was on the new workspace (but not on the old one),
  its region would be included in the dirty region, but shouldn't have
  been. This caused the app_server to update a larger region than 
  necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 14:04:53 +00:00
Axel Dörfler
737ce1c03c * The keyboard target was always the first menu in the window list - no matter if that was hidden or not.
This fixes the bug described by Stefano in r23343.
* Therefore, I enabled cached menu windows again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:26:55 +00:00
Stephan Aßmus
826ea6b6f1 * the change to support B_DRAW_ON_CHILDREN broke ViewLayer::ViewAt(), ie
mouse events would not be passed to the correct children of views with
  B_DRAW_ON_CHILDREN flag set -> fixed. (fixes #1673)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 11:37:05 +00:00
Stephan Aßmus
052ae287b0 * made transfering the pending to the current update session a bit faster
by toggling pointers instead of assigning/transfering regions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-06 20:20:37 +00:00
Stephan Aßmus
c177064158 * removed no longer valid TODOs
* cleanup the code in a few places
* fixed a bug where the border region would not be made empty if there
  was a decorator previously, but there is no new one
* slight improvement for memory footprint of WindowLayer by using bit fields
  for more of the flags


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-06 20:09:55 +00:00
Stephan Aßmus
92c779bd11 patch by Alexandre Deckner (aldeck):
* improve the placement of text in the shutdown window
* define constants for the width of the "stripe" and icon size

Thanks! Fixes #1697.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-06 19:02:00 +00:00
Stephan Aßmus
1c05a4100f patch by Anthony Lee:
* fixed bitmap fonts for real (applied the wrong patch last time)

* some cleanup for coding style by myself (in other places)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-06 18:01:47 +00:00
Stephan Aßmus
0e4fdb4f97 applied patch by Anthony Lee:
* fixed rendering of certain chinese fonts

(I think it fixes rendering of bitmap fonts in general, but it should not
support rotated text AFAIKT, since that is only supported for vector fonts)

Nice work, Anthony, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 16:46:53 +00:00
Jérôme Duval
4cbcdf6e54 added an error message when no replicant can be found
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-04 13:40:06 +00:00
Axel Dörfler
9a2d0cf6ff Applied patch by Anthony Lee: the user was attached to the font manager too
late, therefore, the DesktopSettings couldn't access user fonts. This fixes
bug #1691, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 10:13:21 +00:00
Stefano Ceccherini
691b2922a6 The parameter passed to BInputServerMethod:SetIcon() can be NULL. Patch
by Anthony Lee. Thank you! Fixes bug #1686. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 14:42:27 +00:00
Stephan Aßmus
a4d578c4cb * small cleanups for more coding style consistency
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 14:12:12 +00:00
Stephan Aßmus
099fb2d3be * removed declarations for methods which are not used/implemented in View.h
* improved naming of some private BView functions and used our underscore
  prefix
* added a _DrawAfterChildren method to BView which does the necessary setup
  and calls the DrawAfterChildren hook
* call the new _DrawAfterChildren method in the BWindow implementation, this
  was easy since the view tokens are already hierachically sorted
* implement support for B_DRAW_ON_CHILDREN in the app_server's ViewLayer, it
  simply means that children are ignored for the views clipping region, any
  drawing methods will paint over children (therefor the B_DRAW_ON_CHILDREN
  flag is even properly named)

With these changes, support for B_DRAW_ON_CHILDREN and the DrawAfterChildren()
hook are implemented and behave exactly as on R5 as far as I can tell, also
for the view background painting.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-25 14:47:06 +00:00
Stefano Ceccherini
d246d9be88 Some old changes I forgot to commit... BInputServerDevice::InitCheck()
now checks if the fOwner allocation went fine (and returns B_NO_MEMORY 
in case it didn't). Since it can fail, inherited classes should call it 
as well (I modified MouseInputDevice's and KeyboardInputDevice's 
versions for now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-10 21:20:25 +00:00
Stephan Aßmus
48882cec96 * lock pattern drawing to the true view origin, independend of the views
position on screen (fixes drawing glitches in patterns when the view
  was moved on screen (for example because the parent window got moved))


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 22:59:04 +00:00
Stefano Ceccherini
46f29e60b4 Also update the ui_color for menu backgrounds, when using set_menu_info.
Update the menu_info neverthless, when setting the ui_color for menu 
backgrounds. Fixes bug #550.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-06 21:09:35 +00:00
François Revol
2e3233d74e Propagate set_ui_color() up to the DesktopSettingsPrivate class.
Still needs code to save the values.
Also needs a way to access them from Decorator::UIColor(), but the DesktopSettings passed to the ctor can't be cached.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 01:21:19 +00:00
Axel Dörfler
bade8d7b70 The MediaAddonServer destructor was never called, thanks Stippi!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 14:29:55 +00:00
Axel Dörfler
3891a797aa * Now checks if the media_server is running in ReadyToRun(), and quits itself
if not. This fixes bug #323.
* Now uses find_directory() instead of hard-coded add-on paths.
* A few more error checks.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 12:22:53 +00:00
Axel Dörfler
349ba1a53c * IsDoubleBuffered() was not correct - fModeList has nothing to do with the
back buffer. This fixes bug #1631.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-21 15:45:12 +00:00
Axel Dörfler
1dec1e5786 display_mode::[hv]_display_start fields were not set when using a certain
Screen::SetMode() method, thanks to Gerald Zajac for reporting this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-20 21:34:59 +00:00
Axel Dörfler
7301a7fbdb bonefish+axeld:
* The debug_server now sends the registrar messages whenever the debug alert
  is shown, and also, if the user wants to debug the team.
* In the latter case, the registrar will now cancel a shutdown process.
* Also, it will now wait with the shutdown process until the user has
  acknowledged the debugger alert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-14 01:28:47 +00:00
Axel Dörfler
5b1f301a11 * _FindBestMode() can now also take the aspect ratio into account.
* Reduced rating of the color space - after all, the resolution is more
  important.
* The EDID detailed modes are now scanned for the best mode available, this
  could be done in various ways, so please report any problems you have with
  it.
* Ignore resolutions below 640x350 - this should also fix bug #1615.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-12 11:44:55 +00:00
Jérôme Duval
8bef760f81 create media settings directory before saving default nodes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 21:54:12 +00:00
Axel Dörfler
b289dec88c * Factored out a _FindBestMethod() from _SetFallbackMode() - it now also takes
the timing of the original mode into account (I haven't tested if the computed
  score makes that much sense, though).
* GetPreferredMode() now also works correctly for EDID data): it now returns
  the correct status, and also constructs the mode correctly. Furthermore, it
  will now search for the mode in the mode list, instead of using that mode
  directly (so that it can take hardware limits into account).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-31 14:05:24 +00:00
Jérôme Duval
9bfd424271 replaced '_RRC' with B_REFS_RECEIVED
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 19:25:04 +00:00
Jérôme Duval
69e65f2f57 replaced misc values with respective constants
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 19:10:30 +00:00
Axel Dörfler
6ae06ef86a Implemented AS_IDLE_TIME, this closes bug #1593.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 09:11:25 +00:00
Stephan Aßmus
42a2db3602 * track the fact if Painter is attached to a frame buffer, incorporate
this information in the fValidClipping flag... which should prevent
  any drawing code to run if Painter is not attached properly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-26 15:31:27 +00:00
Stephan Aßmus
cf91c9e850 * some disabled code that was supposed to reveal more info on why
it can happen that a view's background region is outside the
  framebuffer... for some weird reason, it doesn't get triggered
  though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 18:20:03 +00:00
Axel Dörfler
ce78b3653a Now only removes a default route for a domain in case a new one is specified;
this fixes bug #1423, the loop interface removed the default route for the
other interface (didn't happen previously, as routes were bound to devices).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 15:15:25 +00:00
Stephan Aßmus
ff85245718 * fixed the crashing result of bug #634, check if the supplied region
falls within the frame buffer bounds. This should not happen, and
  I am going to search for the cause next, but at least app_server
  dosn't crash anymore in this context. Left a comment on my findings
  so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 15:11:58 +00:00
Stefano Ceccherini
09a4122e4c Moved initialization of the system color map from AppServer to Desktop
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 14:07:26 +00:00
Stefano Ceccherini
37b83b1a2d The system palette was defined in two files. Moved to a private header,
included by the two.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 13:44:37 +00:00
Axel Dörfler
15ab0bcf01 * int32_t, uint32_t are now of type "int", and no longer of type "long".
This should help to reduce the number of warnings imported code will throw
  during compilation (helps a lot with tcpdump, for example).
* Since long is 64 bit on 64 bit platforms, we might want to think about doing
  that change for the Haiku types int32 and uint32 as well.
* Fixed several occurences of hidden type problems.
* Fixed build of the stack and TCP under BeOS.
* Fixed incorrect typedef in socket_interface.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 20:10:43 +00:00
Axel Dörfler
9db35b6825 Revised named configurations a bit:
* Named settings are only overwritten if they were an exact match (ie. it's
  the very same monitor).
* The unnamed settings retrieval now has two passes, on the first it will
  now ignore named settings. It will also only remove unnamed settings now.
* Added some TODO commments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 11:00:30 +00:00
Axel Dörfler
4ee81443c3 * The app_server now stores the whole display_timing structure of a mode, not
just the frequency.
* Previously saved modes are no longer supported, though.
* Screen modes are now stored with the monitor info it belongs to, IOW the
  app_server will now choose a mode from the settings that fit your monitor
  description. Driver support is required for this to work as intended.
* The changes are completely untested at this point, though, sorry (shouldn't
  harm anyone, though) :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-19 16:47:06 +00:00
Jérôme Duval
5a9e9581c1 clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 20:44:20 +00:00
Axel Dörfler
dd84f111b9 Fixed a few potential deadlocks:
* in r22410 the unlock/relock was removed accidently from ServerWindow::_Hide()
  before calling a desktop method.
* Desktop::ActivateWindow() no longer calls SetWorkspace() with the window lock
  held.
* WorkspacesLayer::MouseUp() now uses the asynchronous version of SetWorkspace().
* AFAICT AS_HIDE_WINDOW, AS_SHOW_WINDOW, and AS_MINIMIZE_WINDOW don't need the
  all window lock, reverted to standard single window lock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 13:49:36 +00:00
Axel Dörfler
643801426c As the commit says, don't do this at this place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 13:41:18 +00:00
Axel Dörfler
89d522a443 AccelerantHWInterface should no longer rely on GetModeList() being called before
working with it. The app_server would have crashed before if a graphics driver
could directly return a preferred display mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 14:20:58 +00:00
Axel Dörfler
f6e4cbb952 * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 20:13:55 +00:00
Axel Dörfler
c278448653 * Introduced a monitor_info structure and means to let it be filled by the
accelerant (or the app_server via EDID info). It's still experimental
  API, and opinions are welcome.
* Moved BPrivateScreen into the BPrivate namespace.
* Rewrote Screen.h.
* Introduced a BScreen::GetMonitorInfo() method, and implemented it in the
  app server as well (ie. AS_GET_MONITOR_INFO).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 11:41:47 +00:00
Axel Dörfler
7e9f5d25d3 * WindowLayer::InWorkspace() was actually nowhere used the way it was
implemented; it now only returns wether or not the window is part of the
  list specified by the index. This fixes bug #195 and #1553.
* HasInSubset() would report "true" for app-floating windows vs. modal app
  windows which was wrong.
* Removed SameSubset() as it isn't needed at all.
* SubsetWorkspaces() now take the front window into account for floating
  windows.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 11:03:57 +00:00
Ingo Weinhold
190e377976 ppInfoList deletes its elements on destruction, and we didn't clear our
temporary list after deleting its elements manually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 16:15:49 +00:00
Axel Dörfler
4191a211aa * Started accelerant extension to be able to get the preferred mode from
the accelerant, as well as its EDID info. B_GET_PREFERRED_DISPLAY_MODE and
  B_GET_EDID_INFO are both optional. The preferred mode will be taken from the
  EDID info if only the latter hook is implemented, or the former returned an
  error.
* Currently, the app_server should correctly set the preferred mode on start,
  but no accelerant supports that yet, so it's not really tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 16:50:24 +00:00
Stephan Aßmus
4d1c422802 * added a way for the ServerWindow message loop to determine the required type
of locking before processing the message (single/all window lock)
  -> in most message cases, I could comment out the unlocking/locking which
  switched to the different lock, because the required lock is now already held,
  this removes some race conditions which were commented in the code already
* EventDispatcher::SetDragMessage() didn't lock the object, this would have
  been bad if multiple windows tried to set a drag bitmap at once
* the Desktop object keeps track of mouse position and pressed buttons, so
  that it doesn't need to lock the EventDispatcher for sending fake mouse
  moves to windows on show/hide of windows (solves some cases of possible
  dead locks with the new locking strategy)
* the keyboard EventFilter switches the current workspace asynchrnously from
  the Desktop thread (another source of possible deadlocks)
* the "reader is trying to become writer" check in MultiLocker is only used
  in DEBUG mode now

As a summary: It would be nice if ServerWindow used a readlock for all messages
it processes itself, and forwards all messages for which it needs a write lock
to the Desktop thread. All cases where either the Desktop or the ServerWindow
mess with the EventDispatcher are possible sources of deadlocks. This is solved
right now by making sure that the lock is released before using the
EventDispatcher.

I have not observed any deadlocks while switching workspaces and launching
many apps anymore, neither crashes. But I have not tested extensively except
for in the test environment. That being said, I could reproduce the problems
on first try before in Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 14:09:11 +00:00
Axel Dörfler
e2693621b6 Correctly implemented the missing BBitmap::GetOverlayRestrictions() on the
client and the server. This should fix bug #1490, but I haven't tested it yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 16:03:53 +00:00
Axel Dörfler
64fd7c1a00 This fixes the problem of launching more than one document with one application
at once with Tracker (eg. launching several text documents) - only the first one
would have been opened, and an error B_BAD_VALUE would have been reported for the
others:
* HandleAddApplication() did not return the correct token in case of a
  pending registration; therefore, BRoster::_LaunchApp() would try to
  check the registration with invalid arguments.
* HandleIsAppRegistered() put the pending registration requests into
  the fIARRequestsByToken map using the wrong key, so that they could
  not be found again.
* Minor cleanup (fixed indentation of not so temporary debug code).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:48:06 +00:00
Stephan Aßmus
158001f57d * fractional rects need to be aligned if not drawing in subpixel precise mode,
by now, I feel there is too much code involved in this... I guess I should
  really move this to stuff to ViewLayer::ConvertToScreenForDrawing()...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-12 08:18:09 +00:00
Stephan Aßmus
72c9d31ec4 * transmit correct type in BView::BeginRectTracking()
* put message codes for Begin/EndRectTracking() into giant switch... not
  actually implemented though


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-11 21:23:07 +00:00
Stefano Ceccherini
945d8d11cd Sync the drawing engine state in set_scale. The pen size, for example,
needs to be recalculated when the scale changes.
Also call ResyncDrawingState() in exit_state_change(). This fixes the 
pen size test in FlattenTestPicture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-10 11:56:28 +00:00
Stefano Ceccherini
b1af0a7a24 Setting the font shear in a BPicture didn't work, because the value was
treated as uint32 in some places, when it's a float.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-10 10:20:26 +00:00
Stefano Ceccherini
af02a9a71c Use DrawState::PenSize() to set the drawing engine pen size, since it
returns the scaled value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-10 09:43:02 +00:00
Axel Dörfler
8a3cfa2cf3 * Made menu windows behave differently than others: before, they were just
always put between window screens and modal all windows (before floating
  all ones), so a BWindowScreen couldn't have menus at all.
  Now, they behave more like floating app windows, just that they float above
  all other application windows, such that all window feels (also BWindowScreen)
  can now have menus.
* Reenabled keyboard redirection to the top most window in case it's a menu;
  bug #1152 no longer applies due to the above change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-02 12:16:28 +00:00
Axel Dörfler
a632458d8e The wonders of signals:
* Since the app_server launched the input_server, it would also get notified
  when the latter died via a signal - but LinkReceiver could return B_INTERRUPTED
  in that case (it didn't check the return value of port_buffer_size()) which
  the app_server misinterpreted and quit itself... this fixes the hanging part
  of bug #1298.
* But the input_server still wasn't restarted, because the Registrar had it
  still listed as being running. Now, the Registrar checks not just periodically
  for died teams, it will also check for it when a new application registers
  itself. This fixes the rest of bug #1298.
* Removed the old (disabled) R5 style input_server launch mechanism from the
  app_server.
* MessageLooper now prints a bit more information when a port is supposed to
  have been deleted.
* The default implementation of MessageLooper::_GetLooperName() is now
  returning the name of the semaphore of its BLocker instead of "unnamed
  looper".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-30 00:09:43 +00:00
Stephan Aßmus
e749c485ed * this fixes the second part of #1426, unfortunately, the clipping checks
have become more expensive, so maybe it is better to do what I proposed
  in the ticket comments, and move the rounding of drawing command coordinates
  into ViewLayer::ConvertToTopForDrawing() instead of handling it in
  DrawingEngine and Painter


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 14:31:49 +00:00
Stephan Aßmus
561844529d * implement FillRect() with B_OP_INVERT using hardware acceleration like
FillRegion() is already doing (untested)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 14:23:06 +00:00
Stephan Aßmus
307d439902 * reenabled implementation of "false bold width" font feature
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 14:15:07 +00:00
Stephan Aßmus
c5c3b078e7 * clarified comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 14:14:30 +00:00
Stephan Aßmus
15a6a1bd6d * more pleasing insets/offsets and the proportion of the zoom button scales
with the font size


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 16:24:01 +00:00
Stephan Aßmus
f7e1df7560 * get rid of RGBColor usage where it is not needed, this simplified many things,
possibly making them a little faster too
* mess with decorator button size calculation to make the whole layout scale
  more agreeable with the font size (no more fixed offsets/insets), but it
  is work in progress
* DefaultDecorator no longer allocated the border color array, it is part of
  the object now
* small memory footprint optimizations in ViewLayer, Decorator and WindowLayer


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 12:56:20 +00:00
Michael Pfeiffer
1623ec9289 Bug fixes:
* origin is given in "outer" coordinate system therefore if there is a
 previous state it has to be transformed. Please review if this is
 required in OffsetOrigin() too.
* in Transform() we have to scale relative to the view origin not (0 /
  0).

- optimized SetScale: saved one division


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 07:04:46 +00:00
Stefano Ceccherini
422fadc829 Moved the dummy table local to the PicturePlayer::Play() function since,
as Marcus pointed out, having it outside wasn't thread safe. Moved 
PicturePlayer into the BPrivate namespace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 14:40:03 +00:00
Stefano Ceccherini
46b4e48998 Added some debug output to PicturePlayer. Since checking the table size for every op is very slow, now we do that only at the beginning, and use a custom op table if needed. The best case (which is the one used when drawing a picture with BView::DrawPicture()) is very fast since it only requires one check.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 09:14:03 +00:00
Stephan Aßmus
91d0586a7d * it should be better to lock before accessing the data, even if reading only
* after this change, I have not spotted "left behind" cursors again, but it
  might just be bad luck...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 19:06:11 +00:00
Ithamar R. Adema
3b1dcc1e09 Fix GCC4 compilation issue.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 18:38:47 +00:00
Stefano Ceccherini
253d42a602 Implemented SetClipping op, but it's not working yet (looks like it's
never written into the data stream)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 15:21:15 +00:00
Stefano Ceccherini
796e4e4552 Implement calling the exit_xxx hooks. Thanks to Marc Flerackers for the
help.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 12:45:42 +00:00
Stefano Ceccherini
9cc1cb3cae Disabled writing the font shear, since this results in missing font in
Chart's BPictureButton. Needs some investigation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 09:43:19 +00:00
Stefano Ceccherini
feb557a6d1 Implemented WriteSetFontFamily() and WriteSetFontStyle(). Only the
server side functions are missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 09:17:21 +00:00
Stefano Ceccherini
2f99607b77 My last commit broke setting fonts in BPictures. Added a comment in
PicturePlayer to explain what we need to do. Don't write the 
B_PIC_ENTER_STATE_CHANGE and B_PIC_ENTER_FONT_STATE ops until we fix the 
problem (we don't care about them in our server side 
implementation anyway). Font changes and state syncing work again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 08:40:13 +00:00
Stefano Ceccherini
c00e6e3f89 Implement more bpicture font methods, now PicturePlayer checks the size
of the function table, so if someone passes a smaller table, we avoid
 
calling invalid pointers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 08:05:05 +00:00
Stefano Ceccherini
8e503a70c8 Also set the font properties for BPictures. Some of them, at least.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 07:37:51 +00:00
Stefano Ceccherini
37033892c5 Implemented SetPattern op. Reduced the buffer size to 4096 again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 06:39:37 +00:00
Stephan Aßmus
8f4f70a56d * implemented a lock up table for drawing text in B_OP_COPY,
maybe this is too resource hungry, feel free to critisize... :-)
* the speedup is there, but not overwhelming


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 17:09:20 +00:00
Stefano Ceccherini
38daa5cd6e Also upload/download subpictures
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 14:52:02 +00:00
Stefano Ceccherini
690c7474a4 Implemented BPicture's SetPenLocation() op, also nested
AppendToPicture() (but still doesn't work :( ). Moved some functions 
around in PictureDataWriter.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 14:07:12 +00:00
Stefano Ceccherini
b1b69140a1 Don't delete the subpictures in the ServerPicture destructor. They are
kept in a list by ServerApp, and deleted by its destructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 13:52:16 +00:00
Stephan Aßmus
ea6280b6d5 * maybe I fixed the sometimes weird decorator buttons, I have not spotted them again with this change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 09:27:18 +00:00
Stephan Aßmus
a2d6475360 * fixed usage of hardware accelerated inverting, of course we shouldn't do it again in software after we have done it in hardware...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 09:26:27 +00:00
Stefano Ceccherini
edac8f06a8 Implemented drawing of pictures inside pictures. Thanks to Marc
Flerackers for clarifying some things.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 09:19:30 +00:00
Stefano Ceccherini
ac5fdd8a6d Fixed drawing of arc and ellipse in a BPicture.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 07:38:44 +00:00
Stefano Ceccherini
ed5de868df Implemented the following BPicture ops: fill region, stroke/fill arc,
stroke/fill polygon, stroke/fill bezier. some work towards drawing of 
nested pictures.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 07:20:43 +00:00
Ingo Weinhold
ac7fc18b09 Always allow debugging a team, even if it wasn't possible to get its
executable path. It seems, gdb doesn't produce very helpful stack traces
then, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 23:49:38 +00:00
Ingo Weinhold
7e8ac2903b * Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
  counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:15:10 +00:00
Stephan Aßmus
5a626bd963 * removed code duplication in BView::check_lock() and do_owner_check(),
* revised use of check_lock() versus do_owner_check() (do_owner_check()
  is supposed to drop you into the debugger if there is no owner, otherwise
  it behaves like check_lock())
* ConstrainClippingRegion() no longer transmits empty regions to the
  app_server. I would have thought that my fix to ServerLink would have
  solved the issue I was investigating, but only this commit fixes it.
  Maybe the last commit would have fixed it if I did a "jam clean"...
* WonderBrush draws the icons again on mouse over...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 13:14:09 +00:00
Stephan Aßmus
8c1a98d8d4 * there was a complete mixup of "drawing origin" and "scrolling offset" in the
BView implementation (client side)
* introduced some private methods for _Convert*(BPoint*) methods which avoid
  doing the check_lock() thing in the recursion, also Origin() would likely
  have communicated with the app_server all the time, since the origin bit
  was needlessly invalidated, so some speedup should be achieved
* this should fix ticket #98


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 09:52:25 +00:00
Stephan Aßmus
95baf31294 * view accepting bitmaps are now cleared to white
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 15:56:37 +00:00
Stephan Aßmus
aadc09c665 * fix the mixup of charCount (glyphs) versus bytes. The new font cache
implementation takes the byte count, even though it looks like this is
  less efficient when the glyph count is already known (I tested to
  optimize it away but it was not faster)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:34:09 +00:00
Stephan Aßmus
b595496d03 * minor cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:31:59 +00:00
Stephan Aßmus
e4273662d2 * this function might be called with a NULL FontCacheEntry, handle that
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:16:07 +00:00
Jérôme Duval
6f922173d2 missing ctype.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 21:53:36 +00:00
Stephan Aßmus
fe914c98b4 * added a version of SetFont() that takes a DrawState* to DrawingEngine and
Painter, that is needed to be able to tell if anti-aliasing is to be used,
  since the flags in the font can be overruled by the flags in the view...
* fixes aliased fonts reliably, tested with FontDemo


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 09:48:28 +00:00
Stephan Aßmus
05357ae700 Fixed an interesting bug in the app_server, after beating my head against
this for a long time... what happens when the app_server has requested a
redraw, but the client sends some drawing commands before starting the
redraw session? This would be the case, for example, when TextViews got
notified of their parent window becomming active (they would invert the
selection outside of any update session). When there was an additional
expose event, the app_server would already have the background cleared, so
the lonely "invert" command would invert the freshly painted background. Then
the normal Draw() of the TextView would be called because of the expose event.
By the time the text was rendered, it was rendered on the inverted background,
then the normal Draw() contained another "invert" command to invert the
region of the selection. Thus inverting just the text, and the background
twice. Solution:
* introduced a special handling for drawing commands arriving between
  requested update session and beginning of that session: the pending
  update region is clipped from the region the client is allowed to draw in.
* fixes funny text rendering in the selected part of text views. For example
  ticket #908.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 00:33:50 +00:00
Stephan Aßmus
e83f8dc9a0 Didn't I have a bad feeling because of code duplication?
* fixed a bug in the font cache, the signature was generated in one way
  (rendering type) while the initialization of the font engine could
  use another way
* should fix non-antialiased straight text
* weird non-transformed text in FontDemo
* generally not using vector glyphs when it was supposed to use them (rotated
  or sheared text, or non-antialiased text)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 00:25:52 +00:00
Stephan Aßmus
bbc424771b * convert shape coordinates to screen at the time of playing the picture
(fixes ticket #1367, stefano I thought you knew that I meant this in an
  earlier mail)
* move_pen_by() looked wrong in ServerPicture, have not tested though
* make sure the pen location is adjusted after stroke_line() and draw_string()
  in ServerPicture
* set_pen_location() does not need to update the Painter drawing state
* ServerWindow AS_LAYER_SET_PEN_SIZE needs to set the resulting pen size of
  the drawing state stack, not the one set on the current state
* ServerWindow AS_LAYER_GET_PEN_SIZE needs to return the current state's
  size, not the result of the stack
* small cleanups


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 18:36:23 +00:00
Stephan Aßmus
a748b927a5 * make sure that the pattern used for line arrays is B_SOLID_HIGH
and that the previous pattern is restored after execution


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 18:30:28 +00:00
Stephan Aßmus
aaa42c7e22 * added a way to get the unscaled pensize (ie that of the current draw state
of a view)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 18:29:09 +00:00
Axel Dörfler
277bea40a3 rectArray can only be NULL in case fAsString is true, not the other way around; this fixes
ServerFont::GetBoundingBoxesForStrings() (ScreenSaver no longer crashes as reported by Brian
Verre on the mailing list).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-07 01:24:09 +00:00
Stephan Aßmus
4971740e39 * in FillRegion(), check if the current drawing mode is B_OP_INVERT,
and then use hardware acceleration... found out this is what our
  BTextView is actually using, that's why it never used hardware
  acceleration for invert rect/region before. Have not tested this on
  real hardware yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-06 18:50:44 +00:00
Stephan Aßmus
90ad4da30d * small cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-06 18:49:11 +00:00
Stefano Ceccherini
e9d1494da3 Nevermind Stephan, in the end I found it out. Fixed shape drawing inside
a BPicture, though I'm not yet sure if I should do it there on when 
playing the picture...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-06 11:55:29 +00:00
Stefano Ceccherini
1f8ea6a98d Set the origin before playing the picture, so DrawPicture() with an
offset works correctly. Drawing a BShape using a BPicture is currently 
broken. Stephan, any insight on what it's changed about shape drawing ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-06 11:41:18 +00:00
Stefano Ceccherini
2671c0bf0a Since AS_DRAW_STRING doesn't attach the escapement delta anymore,
drawing a string inside a picture and then playing that picture 
triggered a debugger call. Fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 14:34:47 +00:00
Stephan Aßmus
c9d2046fe5 * after my last changes to font rendering, it was about 15% slower than
before (although there should be much less lock contention)
* with this change, there is quite a bit of cleanup, text drawing is now
  about 20% faster than before the original changes to font caching,
  mostly due to turning off the kerning feature, which at the moment
  gives absolutely no benefit. The correct way of doing it might be to
  use kerning depending on the provided glyph spacing mode
* removed fPenLocation from Painter, the usage should be more correct now,
  since it is now consistently applied before the coordinate transformation
  from view to screen (also for DrawShape() now, before any view scaling
  and origin offset)
* Painter no longer has it's own instance of a ServerFont, instead it uses
  its AGGTextRenderer instance, which was per Painter again after the
  last change, and not global anymore, made _UpdateFont() useless
* When using GlyphLayoutEngine, it supports a second pass with the same
  FontCacheEntry through the introduction of a FontCacheReference. This
  speeds up DrawString a little, since it needs to calculate the bounding
  box for the string, and then draw the string in a second pass. This is
  now done with only one FontCacheEntry lookup
* I also tried to optimize the on-the-fly conversion of UTF8->CharCode away,
  since it was done four times per DrawString, but surprisingly, it proofed
  to be a slight slowdown.
* introduced a shortcut in DrawingEngine::DrawString() which avoids
  calculating the bounding box, we are now a tiny bit faster to figure
  out that we don't need to draw any string than Dano

In the test environment (drawing to offscreen bitmap and blitting to
screen eventually), text rendering is now about 3.7 times _faster_ than Dano
text rendering (directly to screen), for untransformed text. Unfortunately
I cannot test on the same machine in accelerant using version of the test
environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:37:16 +00:00
Stephan Aßmus
94a48ae276 * use a different message code for DrawString() with escapement delta
and DrawString() without
* this change also includes adding the penlocation to the shape to-screem
  coordinate conversion (temporarily breaks shape rendering, will be fixed
  in next commit)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:22:47 +00:00
Stephan Aßmus
7c1cb28850 * cache the tab highlight and shadow color
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:18:21 +00:00
Stephan Aßmus
25a7061652 * moved AGGTextRenderer alongside it's pal, Painter, it felt lonely,
removed font_support folder
* ServerApp can use ServerFont::StringWidth() directly again
* more ServerFont functions implemented via GlyphLayoutEngine and
  custom consumer
* extended GlyphCache data structure to hole the left/right insets
  of the glyph shape between its advance width, took it from the earlier
  ServerFont implementation, have not tested if that gives same result
  as R5
* TODO: implement GetGylphShapes via GlyphCache, although it might not
  look as clean as it does now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-03 01:11:27 +00:00
Stephan Aßmus
4389b7028c * TransformBounds() takes a const BRect&
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 21:05:34 +00:00
Stephan Aßmus
1a6914c517 * fixes the build, forgot to include in r21797
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 21:05:01 +00:00
Stephan Aßmus
2222864eed * complete overhaul of the font/glyph caching
* the previous AGG implementation is superfluous
* the new implementation is based on that one, but in a way that allows
  read/write locking to the list of cache entries (fonts) as well as
  read/write locking to the cached glyphs per individual font cache entry
* new GlyphLayoutEngine.h, which is to be the central place for layouting
  glyphs along the baseline.
  It handles the locking for getting the font cache entries.
  It works by giving it a template class GlyphConsumer which does the
  actual work.
* changed AGGTextRenderer to use the new font cache
* changed ServerFont::StringWidth(), and the bounding box stuff to use it
* changed DrawingEngine, it doesn't need the global font lock anymore
* our BFont thought that GetBoundingBoxesAsGlyphs and GetBoundingBoxesAsString
  is the same, which of course it isn't, hence the two separate functions...
  AsGlyphs just gets the bounding box of each glyph in a string, not treating
  the string as an actual word
  AsString adds the offset of the glyph in the word to the bounding box
* changed ServerProtocol.h accordingly for the different bounding box meaning


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 19:10:38 +00:00
Stephan Aßmus
78f1b0e97c * added IsLocked() method to AutoWriteLocker
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 13:04:27 +00:00
Axel Dörfler
2851dbad53 * Moved Referenceable.cpp to src/kits/support (private libbe API), and its header to
private/shared.
* Made AddReference() and CountReferences() inlines.
* The registrar is now using the private Referenceable version in libbe.so.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-31 16:20:37 +00:00
Michael Pfeiffer
820f5fa5a5 Undo last change (Search spool folder by name stored in attribute
'Printer Name'). In other parts of the print_server we had assumed that
printer spool directory name = printer name. So the change broke some
things.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 17:41:06 +00:00
Michael Pfeiffer
620f852c78 Search printer spool folder by name stored in attribute 'Printer Name'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 09:03:25 +00:00
Michael Pfeiffer
da0bbaed22 Updated copyright year.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-28 06:15:01 +00:00
Axel Dörfler
6a05ab0186 My ClientMemoryAllocator implementation wasn't complete and badly leaked memory.
It now at least frees all memory when the object is deleted. Reported by Jonas - thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 23:50:34 +00:00
Stephan Aßmus
5286819920 * last commit broke rendering dots (though it should have been just more
work and no visual change... don't know why) -> fixed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 20:04:14 +00:00
Stephan Aßmus
38287e02af * completed my changes to DrawState handling, the current DrawingState
of the active ViewLayer is now always mirrored in the Painter instance
  of a ServerWindow, so that it doesn't need to be synced on every drawing
  command, this was previously incomplete for font handling
* removed the DrawState parameter from all the DrawingEngine functions
* adjusted ServerWindow and ServerPicture accordingly
* made sure that string related functions used by non-drawing related
  parts (ServerApp, Decorator) don't interfere with the current drawing
  state
* moved AS_SYNC handling from _DispatchViewMessage to _DispatchMessage,
  it is actually a window message and doesn't require fCurrentLayer to
  be valid
* fixed bug #1300, fCurrentLayer was not updated when a ViewLayer was
  deleted by client request which happened to be fCurrentLayer (I am now
  handling it so that the parent becomes the current layer, could be
  wrong)
* AGGTextRenderer is no longer using it's own scanline, which should save
  a few bytes RAM, the Painter already had such an object
* StringWidth() in AGGTextRenderer is now taking the escapement_delta into
  account
* Painter::StrokeLine() doesn't need to check the clipping as much, since
  that is already done in DrawingEngine
* if a ServerWindow message is not handled because fCurrentLayer is NULL,
  a reply is sent in case the messages needs it (client window could
  freeze otherwise, waiting for the reply for ever)
* removed unused AS_SET_FONT and AS_SET_FONT_SIZE
* added automatic RGBColor -> rgb_color conversion to RGBColor.h
* minor cleanup for 80 char/line limit



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:48:27 +00:00
Stephan Aßmus
7223defe3f * removed unused function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 13:34:54 +00:00
Stephan Aßmus
779b52e5d0 * fix some issues with line placement, now it should be as close to R5
as possible without unacceptable overhead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 16:06:22 +00:00
Stephan Aßmus
582da17386 * complete reimplementation of BRegion and it's backend
I "ported" the region implementation from XOrg to work on BRegion data.

This resulted in pretty much the same code structure as before, with 
RegionSupport.cpp containing the messy details. Only now it _is_ really messy
from a code beauty point of view. I didn't exactly feel like cleaning it
up right now... but I guess I will have to.

So what does this mean - our BRegion implementation was very slow (no offense!),
and on top of that it scaled very badly with more and more rects. The new
implementation seems to be on par with the very fast R5 implementation and
the data looks exactly the same too. BRegion is very performance critical
for the app_server, and I cannot wait to try this on my slow computer...

Some changes are noteworthy: The right and bottom coordinates of
BRegion internal data are now exclusive! I inherited that from the
XOrg implementation and didn't feel like changing the code, seeing it
is probably tested quite well. The conversion is handled transparently.

Secondly, constructing a BRegion with just one rect is not invoking
malloc anymore for the member data, this makes it much more efficient
to use temporary BRegions with just one rect, both externally and internally
in the BRegion implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 17:06:28 +00:00
Ingo Weinhold
bd03cdc1f6 axeld:
Don't print a message that couldn't be written to the syslog to stdout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 13:38:12 +00:00
Ryan Leavengood
5f43b49ba0 When I added my BuyNow screen saver to the image and ran it, the app_server
crashed. Turns out a call I use, BFont.GetBoundingBoxesForStrings was not 
implemented, and worse, there was bug in how the ServerApp read the parameters
from the link. This was easy to fix to stop app_server from crashing, but it 
took me a while to figure out how to implement GetBoundingBoxesForStrings.

Anyhow I implemented an initial version which works fairly well for now. I
don't think the width is quite right, but it seems to match StringWidth(), so
I guess it is good enough for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 02:06:32 +00:00
Stephan Aßmus
eb9f93f347 * cleanup, removed use of pointers and allocations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:02:44 +00:00
Stephan Aßmus
6369b909b2 * fix comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:02:03 +00:00
Stephan Aßmus
33ab66d539 * check the overlay of the child being removed, instead of the view's own
overlay (Axel please review)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 17:01:34 +00:00
Stephan Aßmus
41b487e43c * accidentally left the profiling on in last commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 13:22:26 +00:00
Stephan Aßmus
67f3be42b0 * added ProfileMessageSupport.h/cpp to translate server message codes to
a string
* fixed profiling of message processsing in ServerWindow (didn't take batch
  processing into account)
* accelerated ViewLayer::RebuildClipping() by a factor of two by avoiding
  BRegion::Exclude(clipping_rect) for each child, and instead building
  one region with all children, and excluding that. RebuildClipping() is
  quite a common operation and is quite slow for views with many children


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:59:05 +00:00
Stephan Aßmus
da819d069e * performance optimization, getting the bounding box of a text is about 10%
faster


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:29:44 +00:00
Stephan Aßmus
0896fce5fb * since every window has it's own Painter instance, the drawing state does
not need to be "set" (transfered from the "current" view to the painter)
  for each singly drawing command. Now, painter is synchronized whenever
  the client changes the drawing state of the current view, or when the
  current view changes.
* the screen offset of the current view has become part of the Painter state,
  in the PatternHandler. This fixes a bug in which moving or scrolling a view
  which used patterns for drawing, resulted in visual glitches (seams in the
  pattern).

NOTE: this patch is a bit work in progress, most importantly, it is not
complete with regards to text rendering. More specifically, the server
applications and other parts of the appserver might set a font on the Painter
and this might mess up the synchronization. But this happens on the Desktop's
Painter instance (only?), and so it is not a problem. I did observe some
drawing bugs with this patch though, so bug reports are welcome, particularily
how to reproduce these bugs reliably.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 09:35:40 +00:00
Stephan Aßmus
0794971822 * one can now specify and "offset" which will be taken into account when
looking up the color in the pattern, this is needed because before,
  patterns were always drawn with the virtual origin in screen coordinate
  space, but they need to be drawn with view coordinate origin taken into
  account (will be implemented in a forthcomming commit)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:52:47 +00:00
Stephan Aßmus
5fdc05c105 * make sure that the 80 chars per line limit is not exceeded
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:48:54 +00:00
Stephan Aßmus
fd5d46e099 * separated FontStyle and FontFamily into different .h/cpp, before they shared
FontFamily.h/cpp (just for the reason that this is how we do it mostly
  everywhere)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 20:48:06 +00:00
Jérôme Duval
d57634f732 the keymap is now saved when key locks or key modifiers are changed
this fixes bug #1282


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-16 18:40:32 +00:00
Axel Dörfler
81cd4ad0ec Accidently left in some debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 12:24:11 +00:00
Axel Dörfler
f6ad6dd6a6 * Now a service is quit when it is removed from the settings file.
* When deleting the Services handler, it will now also stop all running services,
  and close the command pipe (since it's only quit when the net_server quits, that
  wasn't much of a problem, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 12:16:22 +00:00
Axel Dörfler
9047804645 Optionally allows a different settings format; now you can write:
interface /dev/net/... { ... }
instead of:
	interface {
		device /dev/net/...
		...
	}

This will also work with service::name, and address::family.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-04 19:42:16 +00:00
Axel Dörfler
43d946d6d6 * Now uses BPathMonitor instead of the node monitor; this fixes several issues with
changes to settings files that were ignored (for example, watching "services" did
  only work if "interfaces" existed).
* On services update, Services::_Update() accidently compared the pointers of the
  service objects, instead of the objects themselves.
* Implemented comparison of address changes in service objects; IOW when you change
  the addresses a service should bind itself to, but leave the rest of the service
  unchanged, this will now be detected as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-04 18:53:51 +00:00
Axel Dörfler
470ca87e4d * _Update() was called too early in the constructor of class Service; that caused
incorrect values in fSet, and fMinSocket which also resulted in select() never
  to return (in would only work for settings you changed after the net_server
  was run).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-04 16:47:20 +00:00
Axel Dörfler
1e5e237d6e No longer avoids switching the workspace when a window one clicked on is not movable.
This fixes bug #1229.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-03 00:48:52 +00:00
Axel Dörfler
ef636873ad Fixed the overlay I accidently broke with the last commit - sometimes, but only
sometimes, testing seems like a good idea 8-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-28 20:05:39 +00:00
Axel Dörfler
117b384e5e * Implemented the overlay suspend/resume protocol on mode changes; not really tested
yet. Also, BBitmap::LockBits() should probably fail when the Bits() are NULL.
* The downside is that many more classes now know of each other.
* Cleaned up the work divided between the BitmapManager and the Overlay class.
* Fixed a memory leak in AS_CREATE_BITMAP in case the bitmap could not be added to
  the ServerApp's bitmap list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-27 11:29:20 +00:00
Axel Dörfler
ca13bd31a7 * The Deskbar tray icon menu "Check Mail" and the status window "Check Now" button
are now only enabled if there are any inbound accounts.
* BMailSettings::StatusWindowFrame() now returns some useful defaults.
* Minor cleanup.
* The MDR kit needs some serious overhaul before it can be part of R1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-22 00:15:17 +00:00
Axel Dörfler
b9c1e099e2 The Workspaces layer will now also be updated when the window hidden/shown is not on
the current workspace - this fixes bug #1191.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 22:42:39 +00:00
Ingo Weinhold
3ff21b6bf7 libasdrawing.a was including a plethora of libraries. Not sure, what ar
made of this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-07 01:50:50 +00:00
Ingo Weinhold
4ee595e300 Fix the build. IMHO it's really ugly to use syscalls without even including
<syscalls.h>.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-07 01:38:58 +00:00
Ingo Weinhold
9e0276b75d Also include <syscalls.h> where _kern_get_safemode_option() is declared.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-06 19:24:20 +00:00
Stefano Ceccherini
189360b5d8 Initialize all variables in the constructor
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-04 14:09:16 +00:00
Axel Dörfler
4fc538a920 No longer allow the shutdown window being closed using the shortcut. Patch by Jonas Sundstrom, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 21:43:20 +00:00
Axel Dörfler
b2ed0e7acf Implemented "fail_safe_video_mode" boot option; if you're using it, the app_server
will not load any graphics driver (other than VESA).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 20:20:19 +00:00
Stephan Aßmus
1ad1713ad2 * applied patch by Jonas Sundström,
makes the Escape key cancel the restart/shutdown dialog


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 08:18:34 +00:00
Axel Dörfler
d6f8cacab9 Moved the (currently very simplistic) code to check if a display_mode is valid into
it's own (static) method. In case setting the display mode fails, the returned mode
is now checked for validity as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-31 22:39:16 +00:00
Stephan Aßmus
7ce678aa5f * implement conversion of absolute mouse coordinates (0..1) in device
messages to normal screen coordinates



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-29 20:21:33 +00:00
Stephan Aßmus
10e5f892a3 * created alert icons in vector format (idea icon is missing yet)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 08:07:48 +00:00
Michael Pfeiffer
f1bbbce435 Fixed bug #1232. Report "Add new printer" cancellation correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-20 20:31:37 +00:00
Jérôme Duval
34bd8bf599 cleanup, fixed some warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 17:47:23 +00:00
Jérôme Duval
c0d5509623 remove filters and methods from their lists when unregistering
fixes bug #1215


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 19:54:18 +00:00
Stefano Ceccherini
0d478eeb6f Avoid sending an extra (useless) B_DIRECT_MODIFY notification to the
client, when the connection is stopped. But cache the "reason" of the 
notification, and join it with the next one, when B_DIRECT_START is 
notified. Experimental, could be reverted. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 21:26:33 +00:00
Stefano Ceccherini
ff32e5158c ServerPicture now uses a BPositionIO object as internal storage instead
of BMallocIO. Added an additional constructor to handle a file. This is 
in preparation of implementing BView::SetDiskMode().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 14:52:13 +00:00
Jérôme Duval
3499cb7591 now creates the monitored directories if they don't exist (0755)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 19:05:57 +00:00
Michael Pfeiffer
ce3a2228e7 Changed __ZETA__ to B_BEOS_VERSION_DANO as suggested by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 15:46:25 +00:00
Jérôme Duval
48cc07ffa7 added a commented option to activate input_server serial log
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 18:34:45 +00:00
Marcus Overhagen
19ca4fb578 insert the missing space
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 18:10:12 +00:00
Michael Pfeiffer
f57432d8c2 Support building on Zeta with BeIDE or make.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 07:54:40 +00:00
Axel Dörfler
4231541414 * Implemented atomic commit support to the clipboard as described by #1187.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 10:50:15 +00:00
Jérôme Duval
68ed0a8e97 get rid of the BHandler used in DeviceManager
DeviceManager wasn't run


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 09:50:12 +00:00
Marcus Overhagen
e27964028e Made maximum syslog size and inclusion of timestamps configureable in kernel settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 17:06:54 +00:00
Jérôme Duval
6b6537f153 clean unused includes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 22:02:13 +00:00
Jérôme Duval
22b3307b23 Sound events are now played with a BSoundPlayer, because it's more easy to handle restart and have a correct name displayed in the mixer. Sound players are reused when possible
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 21:59:55 +00:00
Stephan Aßmus
8d184de1da * bugfix in ScrollBy (it could scroll the screen area of hidden views)
* test the actually visible view area against dirty region,
  (this avoids making the client window call the Draw() function of views,
  even though all the drawing would get clipped on the server side)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 19:36:36 +00:00
Jérôme Duval
2006a80079 now plays the file found for the selected event
reclaim and reuse of sounds ressources still to be implemented


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 23:14:13 +00:00
Jérôme Duval
d444ac5b51 updated license header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 18:07:37 +00:00
Axel Dörfler
e93d736dac We should not pass the mouse down event to the window in case it has B_AVOID_FOCUS set; found by Stefano as described in bug #670 comment 5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 14:40:29 +00:00
Stefano Ceccherini
19ebf74dc6 Call RemoveToken() in the destructor
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 10:05:56 +00:00
Ingo Weinhold
d619e89985 Fixed incorrect use of the sort() function. It expects a "less than"
compare function with bool return value, not a -1/0/1 returning
compare function. Fixes bug #1158 (registrar crash on shutdown).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 05:39:33 +00:00
Jérôme Duval
31ebfe61e4 added default sound events
implemented system_beep() by sending an event to the media addon server


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-16 19:15:46 +00:00
Jérôme Duval
33c487a43e implemented add_system_beep_event()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 20:40:12 +00:00
Jérôme Duval
1cafa90eda code style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 14:17:02 +00:00
Jérôme Duval
88ec4b1dbe fixed some warnings
code style of MMediaFilesManager.* 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 13:59:59 +00:00
Stefano Ceccherini
ba4918e74c Menu windows are no longer the preferred keyboard events target (for
now, at least). This feature wasn't used yet anyway, and turning it 
off cures bug #1152.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 12:28:13 +00:00
Axel Dörfler
f01106c3cf * Moved the network status replicant into its own application, similar to what
ProcessController and PowerStatus are doing.
* Currently polls for info only - later, the stack should support listeners for
  interface related changes.
* Also works under BONE (although it doesn't make much sense to use it there).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-11 16:01:02 +00:00
Axel Dörfler
d7e473d310 The network status icons are now correctly read from the resources (I even
forgot to add them to the server before :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 12:24:32 +00:00
Axel Dörfler
3eb30a22b2 * Implemented loading icons from resources - doesn't seem to work yet, though.
* Fixed leaking menu items in StatusReplicant::_PrepareMenu().
* Renamed private methods to have an underscore prefix.
* Some minor style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 11:55:03 +00:00
Stephan Aßmus
48e0491d5a * added icon for "connecting" status
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 10:42:48 +00:00
Stephan Aßmus
4467a70250 * created icons to inform about network connectivity status
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 10:39:38 +00:00
Hugo Santos
02a6d07927 small gcc 4 compilation fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 06:59:55 +00:00
Hugo Santos
a3e4e4f762 also update configured devices' status, but ignore the loopback interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 05:59:16 +00:00
Hugo Santos
90d110b64c tiny cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 05:47:00 +00:00
Hugo Santos
37c50abfaf net_server: initial replicant version.
* Still picture-less and thus ugly.
 * It provides updated information on what the net_server is doing in terms of interface configuration.
 * It is also able to show simplistic address information for configured interfaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 05:38:45 +00:00
Axel Dörfler
65186fec5a Removed duplicated information (the PARAMETER_* constants were already expressed in form
of the OPTION_* constants).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 09:22:22 +00:00
Hugo Santos
a073ba1aa8 DHCP: since we are only installing routes while handling an OFFER, request gateway in DISCOVER. Fixes an issue where the gateway address is not configured.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 23:46:24 +00:00
Hugo Santos
5d4d5313c7 DHCP: explicitly request the gateway address and domain name servers to the DHCP server. This fixes an issue some people reported regarding obtaining such information.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 22:05:35 +00:00
Stephan Aßmus
d2e5bdb4e8 * re-enabled rendering of vector glyph shapes (when text is rotated,
sheared or put to "false bold"), the actual problem was resolved
  with the last revision


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 18:23:11 +00:00
Axel Dörfler
19b0fb934c The MessageLooper class did not initialize its fThread member, causing ServerWindow
to rename arbitrary threads. This fixes bug #1122.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 12:43:13 +00:00
Axel Dörfler
4b661a956f Fixed a stupid bug that prevented DHCP from trying again if a request was lost
(always happened here with my laptop :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:09:53 +00:00
Jérôme Duval
a1394a90ad fixed bug #637:
"Shutdown window didn't draw fancy gray box where closing app's icons are shown
as in BeOS."


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-19 20:46:01 +00:00
Axel Dörfler
91d6453948 * Added a new Workspace::GetPreviousWindow() method to allow traversing the window
list in the other direction.
* Since WorkspacesLayer now cuts out the current window from the clipping region,
  the window order was upside down; it now uses the new Workspace::GetPreviousWindow().
  This fixes bug #1105.
* WorkspacesLayer::MouseDown() now also uses GetPreviousWindow() which prevents it
  from needing to scan the whole window list for the top window at every click.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 16:53:19 +00:00
Ingo Weinhold
9781d591cb Include <util/kernel_cpp.h> in DoublyLinkedList.h only when compiling
for the kernel. Added missing includes in userland code that uses the
header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:56:45 +00:00
Marcus Overhagen
0690e6bc16 added fast path to BPicture polygon drawing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 00:33:23 +00:00
Marcus Overhagen
0b0ecfab90 Added "const" to many parameters.
Removed most data allocations/copying from PicturePlayer, ServerPicture now has to do this when converting coordinates.
Added additional functions to ViewLayer to copy&convert multiple BPoint, BRect, BRegion to Screen coordinates, those should be further optimized.
Removed some function call overhead.
Note: some functions of PicturePlayer don't appear to be implented by PictureDataWriter,


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 23:17:40 +00:00
Marcus Overhagen
533b9a69a7 removed unnecessary use of const_cast
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 19:14:19 +00:00
Stefano Ceccherini
caae1184ab When creating a picture with data, the app_server was writing beyond the
allocated memory, without telling anyone. That was causing bad things to 
happen. Flattening and unflattening BPictures now works, and 
consequently, printing works too. Bug #1014 is fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 14:47:10 +00:00
DarkWyrm
fa73ff0d14 Moved the decorator function declarations into DecorManager (which is the only place which uses them) to allow add-on decorators to build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:35:01 +00:00
Axel Dörfler
cf2aeb201f * Implemented BDragger::{Show|Hide}AllDraggers() and its backend in the app_server.
This fixes bug #242. The value is currently stored in a separate file.
* Removed some unused codes from ServerProtocol.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-21 07:57:21 +00:00
Ingo Weinhold
38979f27b0 * All "GUI servers" (app server, input server, and registrar) will now be
debugged automatically in a consoled session, when they crash. Note,
  that after a recoverable error (like a debugger() call) one can
  "detach" the debugged team in gdb, "quit", and continue as if
  nothing happened. 8-O
* The input server will no longer be killed when starting the debugger
  in a consoled session. Not sure why it was done; it simply works as it
  is now.
* Replaced all printf()s and fprintf()s by debug_printf() or TRACE(()).
  The debug server prints little enough anyway. In fact only when something
  crashes or an unexpected error occurs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-16 17:03:34 +00:00
Ingo Weinhold
f20962103f We catch exceptions in Registrar::MessageReceived() and main() and
invoke the debugger. At the moment the ultimate effect is the same as
before (the registrar terminates), but it does at least cause some
output in the serial debug output. And as soon as the scheduler and
keyboard stuff is fixed, I can commit my debug server changes and the
registrar should become debuggable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-15 23:10:33 +00:00
Ingo Weinhold
d09c136a8c Send out B_SOME_APP_LAUNCHED/QUIT messages only for fully registered
apps. This fixes bug #948.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-03 12:23:03 +00:00
Axel Dörfler
4d1fd46cdf * Replaced DEBUG MultiLocker with an implementation that actually helps debugging
locking problems (instead of debugging the locker class).
* MultiLocker::IsReadLocked() is now only exported with DEBUG mode turned on, as
  it only works correctly in this case.
* Made MultiLocker safe against B_INTERRUPTED, ie. it now just tries to lock again
  instead of failing for no obvious reason.
* Removed bogus arguments to acquire_sem_etc() in MultiLocker (like B_DO_NOT_RESCHEDULE).
* Applied coding style to MultiLocker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 19:16:18 +00:00
Axel Dörfler
cb134e2550 Resolved a TODO: WorkspacesLayer must take the whole workspaces frame into account, not
just the one of the first screen. This also solves a locking bug, as the HWInterface
is already read-locked when WorkspacesLayer::Draw() is called.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 18:14:25 +00:00
Axel Dörfler
89eb4cd6c9 Now checks the screen mode to be set if it is already the active one (and do nothing if
that's the case).
Accidently this also fixes bug #1010.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 16:20:16 +00:00
Michael Pfeiffer
24a0bfcb01 Fix bug #1004. The directory B_USER_PRINTERS_DIRECTORY does not exist in
haiku.image. It is now created when print_server or the Printers preflet
is started.
Applied coding style.
"Flattened" some nested if statements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 20:39:20 +00:00
Ingo Weinhold
ee202d50bc Fixed access of deleted object in out of resources situation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 13:09:15 +00:00
Jérôme Duval
b2f8cb2ef4 it seems fRegisteredApps also lists not fully running apps, so we add a check for the state APP_STATE_REGISTERED.
this fixes the ticket #627.
Ingo, could you review ? This check might also be needed at other places.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 23:36:15 +00:00
Axel Dörfler
2617d83e76 Damn, forgot to include these two in r19968. This should fix the build again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 16:48:02 +00:00
Michael Pfeiffer
fcccd8b759 Some printing related improvements:
* libprint based drivers can now show a preview window and show progress
  window while printing contributed in part by Hartmut Reh.
* Libprint and PCL6 driver bug fixes.
* Code clean-up (removed code duplications, coding style, copyright text)

Builds under Linux. Not tested under BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-20 15:52:37 +00:00
Axel Dörfler
e30afed439 As per Ingo's request, I moved calling BRoster::Private::UpdateActiveApp() into
the app_server (and updated all comments that said otherwise).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 16:41:58 +00:00
Axel Dörfler
c2f641f2e5 Turns out the whole "active app" mechanism in the registrar wasn't used at all; the
Switcher now works as expected.
* Renamed TRoster::ActivateApp() to UpdateActiveApp(), as the app is already activated
  at that point (the registrar only keeps track of it).
* BWindow::DispatchMessage() now calls the new BRoster::Private::UpdateActiveApp()
  method when it receives a B_WINDOW_ACTIVATED message.
* Added BRoster::_UpdateActiveApp() which calls the new B_REG_UPDATE_ACTIVE_APP.
* Removed now unused B_REG_ACTIVATE_APP.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-18 17:45:08 +00:00
Axel Dörfler
bbaa26a490 The net_server is now a BServer instead of a BApplication, IOW it doesn't rely on the
app_server being started anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 16:51:27 +00:00
Axel Dörfler
2d75f771bf Fixed minor ugliness (only visible on slow systems, such as Qemu): the mouse cursor
was drawn before the background got cleared.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-09 23:33:57 +00:00
Axel Dörfler
625f8abdb0 * The networking stack now removes all invalid interfaces during startup (those
where there is either no address or MAC address [ethernet only]).
* _ConfigureInterfaces() now notices if a network device that has a configuration
  is gone and memorizes this configuration.
* If a new device pops up, and there is an existing configuration for a device
  no longer available, that configuration will be used for the new device, allowing
  you to easily move your Haiku image to a new system without losing its network
  settings - it does not yet test if the IP address is already in use in the local
  network, though (in which case a configuration using DHCP would be preferrable).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-08 16:04:16 +00:00
Axel Dörfler
ccf137b886 BWindow::IsFront() was implemented incorrectly - we actually need to query the
app_server for this; added a new AS_IS_FRONT_WINDOW command for this.
For example, clicking on the menu bar to bring windows to front in FFM mode
does work now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 17:08:19 +00:00
Axel Dörfler
167c61fce4 Turns out drawing text using the outline path always results in an endless loop.
Since I have no clue about AGG at this point, I just disabled rendering the glyphs;
instead, their bounding boxes will be shown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 13:26:46 +00:00
DarkWyrm
98969dd0a4 Added app restart capabilities
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 13:20:01 +00:00
Axel Dörfler
2ca64e4886 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-05 19:53:45 +00:00
Axel Dörfler
efe7244436 Added a comment that should make clear my last accidental commit doesn't fix anything.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 12:32:44 +00:00
Axel Dörfler
c6f9f65dff At least temporary fix for the Deskbar not updating additional items (unless you resize it).
The problem was that the view's screen clipping was not updated if its frame did not change
because of a resized parent - but that might be needed if the new parent frame reveals a new
portion of that view.
I added a TODO so that if there is a way to test for this case, we only need to invalidate
the clipping if really needed. For now, we always do it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-04 12:28:31 +00:00
Axel Dörfler
6b97dd4e51 Looks like DrawingEngine::ContrainClippingRegion() no longer copies the region
passed in, but references it. This broke drawing the workspaces window background.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-03 16:36:04 +00:00
Axel Dörfler
16aceec16e Put the new server into its own session.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 16:33:21 +00:00
Axel Dörfler
c30e35eb9b Actually launching services should work now:
* ServiceSocketMap now maps directly to service_address objects which now have
  gotten a pointer to their owner.
* now uses listen(), and accept() for SOCK_STREAM sockets
* fMinSocket could be wrong.
* use FD_CLOEXEC on all sockets, and the communication pipe.
* removed unused service::type and service::protocol.
* if no family is specified, we now default to AF_INET.
* uses fork()/exec() to actually spawn the servers to not clobber the net_server's
  input/output streams.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 16:21:19 +00:00
Ryan Leavengood
db9fbf8e9d Changed the new menu item's text to be more user friendly, thanks to DarkWyrm.
Added a Japanese translation for this item, thanks to Koki.
Now the old queries are deleted before adding new ones, thanks to AGMS.

Though the last item was not actually a memory leak (the destructor would
eventually get all the added queries), this would cause weird behavior which I
did notice (multiple queries existed which all sent the same notifications.)
Either way, good catch AGMS :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-30 17:50:48 +00:00
Ryan Leavengood
1f2e7f93df I was sick of the mail_daemon deskbar replicant always showing the wrong count
of new messages so I added a new menu item to refresh the new mail query. I
wrapped the addition of the menu item in an #ifdef since it should not be
needed on Haiku.

While testing this I saw some pretty crazy behavior which I can only assume
means the R5 query notification is really, really buggy. Or the mail_daemon is
doing something weird.

Unlike the others this menu item does not have a Japanese translation and
probably doesn't need one, but if someone really wants to add it feel free :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-30 03:24:41 +00:00
Axel Dörfler
b5a8a89b5d * Removed the debugger() call when the input_server couldn't be started - it's not
a critical error, and definitely no reason to take the server and all GUI apps
  down. You could also still log in remotely.
* Now opens and uses the syslog in some rare cases (should become the primary error
  channel over time).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 14:11:08 +00:00
Axel Dörfler
c42ca72638 Work-in-progress on the "services" implementation: it now reads the configuration
message, parses it, and stops/starts the services as needed - it doesn't launch
any actual servers yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 13:58:58 +00:00
Jérôme Duval
dde7916d62 gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-26 18:06:46 +00:00
Michael Lotz
3379428150 * Made UTF8 functions overflow safe
* Unified UTF8CountChars and UTF8ToLength and removed the latter
* Rewrote UTF8CountBytes to use the more safe algorithm from UTF8CountChars
* Removed the unsafe count_utf8_bytes() function

This should fix bug #839. Marcus can you please review?

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-25 21:58:00 +00:00
Ryan Leavengood
6869c8a59a The app_server now starts and restarts (if needed) the input_server. The use of
a debugger call in _LaunchInputServer may be overkill, but at least you could
conceivably cleanly restart the machine in the debugger (I think.) Because
without the input_server the machine is pretty useless.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-23 22:59:06 +00:00
Ryan Leavengood
87719fdb8f Added a needed header for the recent ioctl() call addition. Lack of this caused
the libbe_test environment build to fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 22:44:07 +00:00
Axel Dörfler
fc398fa2ab * Added "services" to the network settings, and refactored the settings class a bit
to be easier extendable with more classes.
* Fixed a bug in the settings that caused updated settings to be appended to the
  existing ones (missing BMessage::MakeEmpty()).
* Started services system, doesn't do anything useful yet (inetd replacement).
* Fixed the bug that caused the loopback default netmask to be incorrectly chosen;
  removed the temporary fix Bruno introduced before. The same bug has been in
  ifconfig where I copied the code from (but wrote it there, too) :-).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 20:53:08 +00:00
DarkWyrm
d2980e876d Removed the testing-only restart messages -- daemon now silently relaunches servers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 19:07:37 +00:00
Bruno G. Albuquerque
eaeb7fd4f5 The loopbacl interface has a fixed netmask.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 15:30:37 +00:00
DarkWyrm
9710088cc3 Increased timeout to 2 seconds before firing the alert - 1 second wasn't long enough to get through shutdown without complaining about the Deskbar
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 23:24:52 +00:00
DarkWyrm
ce7fd13b0d Initial checkin. Works fine for me so far, but YMMV. Bug reports appreciated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 21:12:58 +00:00
DarkWyrm
5cb03f9fb9 Fixed some copyright year entries I accidentally mangled in the header updates. Thanks korli!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 15:58:51 +00:00
DarkWyrm
314167cd80 Header updates
Tweaked a couple BAlerts to be a bit more standardized


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 15:18:09 +00:00
DarkWyrm
bdb64116e9 Accidentally removed large icon with last patch. Fixed. <Puts on trout-proof suit> :^)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 14:12:50 +00:00
DarkWyrm
16785e2a19 Unmangled lines clobbered by the resource compiler (I think I got everything)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 13:39:36 +00:00
DarkWyrm
db5fdafdc7 Added some config buttons that both look better and also look clickable (like buttons should)
Updated the layout code to be font sensitive


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-21 13:04:05 +00:00
Axel Dörfler
7da584bb64 * Looks like setting the first 16 palette entries is not enough.
* Tested a bit more, and there seems to be some minor drawing problems.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-19 23:01:58 +00:00
Axel Dörfler
0c6f77951e * Moved VGA planar mode blitting into the VESA kernel driver.
* In grayscale mode, the AccelerantHWInterface now sets the palette correctly.
* HWInterface now has a fVGADevice set by AccelerantHWInterface which will be used
  to talk to the VESA driver.
* Completed planar blitting for all 4 planes; we now have a perfect 16 color
  grayscale mode when you choose "Standard VGA mode" in the boot loader with
  an unsupported graphics card (such as in Qemu).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-19 22:57:56 +00:00
Axel Dörfler
c46eb09e8f * The 4-bit VGA planar mode is now advertized as B_GRAY8 to the app_server.
* The app_server now detects that this mode is being used, and at least correctly copies
  the 32bit data to the first plane, meaning we have a monochrome output for now
  (it crashed before, as Stefano reported).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-19 18:45:40 +00:00
Stephan Aßmus
10f6ed940b * implemented "false bold" for text rendering. It is a new property
of BFont. You can BFont::SetFalseBoldWidth(float) a width on a
  BFont object, and it will cause the glyph shapes to be run through
  an AGG "contour converter" so that they become thicker or thinner.
  IIRC, this is commonly referred to as "false bold". The "width" value
  is the distance in pixels that the new glyph outline will be offset
  from the original outline.

It would be nice if someone could look at my change to View.h with
regards to the B_FONT_ALL flag.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-18 05:22:13 +00:00
DarkWyrm
1080834a69 Made the Quit menu item in the system tray appear only when the icon is clicked on with the Shift key and renamed it to Shutdown Mail Services (which is clearer)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-16 20:04:31 +00:00
Stephan Aßmus
b93f9f1371 * now the Decorator uses the DrawingEngine instance of the WindowLayer,
so that we can draw the window borders using parallel access too.
  Seems to improve things even further, using the app_server environment
  with direct accelerant access on R5 looks pretty decent now, but
  of cause still far from perfect. The global font lock could actually
  be the problem now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-15 23:05:35 +00:00
Stephan Aßmus
527b4ad1b3 Gracious me, I forgot to actually turn on parallel frame buffer access!
Seems to make some difference too. Nothing dramatic though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-15 22:43:15 +00:00
Stephan Aßmus
2ba6b3a649 * minor cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-15 22:41:35 +00:00
Ryan Leavengood
908b5c2034 Removed the dependency in the registrar on an input_server header file which I
had previously inroduced. It is not needed anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-14 07:07:30 +00:00
Ryan Leavengood
d6ead04161 Removed some debugging lines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-14 05:20:18 +00:00