in the handler, instead of checking if the window is an offscreen one,
check if fDirectWindowData is NULL, and do nothing if it's the case.
When setting a clip region in ServerPicture, also invalidate the clipping.
To do so, I added a public ServerWindoow::UpdateCurrentDrawingRegion()
which just calls the private function. Please review and see if it can
be done better. This fixes the problem with BPicture and the
ConstrainClippingRegion() op (see ticket #1389)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32087 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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