* added AbstractLOAdapter by Ingo Weinhold which makes
notifications asynchronous
* removed "Player" interface/concept, replaced it by
the notification mechanism (window loads new file
when "current" ref index changes in Playlist)
* removed some cross classes dependencies
* the wind buttons are not displayed anymore for now
* lots of changes to the Controller
- the decoder/player threads are kept running for the
entire lifetime of the Controller object (in essence, makes
it possible to playback seamless)
- abstracted BMediaTrack usage into "Video-" and "AudioSupplier"
objects (the BMediaTrack pointers are only still there, because
I have not gotten around to fix the messy/hacky InfoWindow)
- reaching the end of the stream will trigger a notification,
so that the next file from the playlist is played
- fSoundOutput is managed by the Controller
- tried to make seeking seem more controlled (slider doesn't
jump back to previous position)
- playback position is correctly updated in GUI
- volume is maintained independend of SoundOutput so
that it can be transfered from one to the next output
- performance time is maintained correctly (?) even if
no audio stream is present
* work in progress Playlist window (drag sorting does not work yet!)
* rearranged menus a bit
* rearranged overlay code in the VideoView, but it cannot work
like it is currently designed, since the buffers need to be
switched all at once, which the video decoding thread
is not doing yet
* dragging files into the main window with shift held down
appends to the existing playlist
* dropping folders adds files recursively
* pressing space toggles playback (instead of changing some
settings of the GUI)
* fixed some more minor issues or unimplemented stuff in the UI
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21276 a95241bf-73f2-0310-859d-f6bbb57e9c96
* use B_OP_OVER in order to do anti-aliasing with the real background
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21275 a95241bf-73f2-0310-859d-f6bbb57e9c96
to save the document also as icon attribute to a native Icon-O-Matic
document file
* added cmd-Y short cut to main window (on a German keyboard, Y and Z
are swapped, but the Undo/Redo shortcuts are still "Z" while Z is much
harder to reach than Y)
* fixed warning in SetColorCommand.cpp
* FlatIconExporter needs to save the attribute using B_VECTOR_ICON_TYPE
(of course)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21235 a95241bf-73f2-0310-859d-f6bbb57e9c96
* small update to icon
* link with libgame.so (includes set_mouse_position())
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21193 a95241bf-73f2-0310-859d-f6bbb57e9c96
* 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
resources are not added for the "Addon" target type? Ingo?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20688 a95241bf-73f2-0310-859d-f6bbb57e9c96
* holding down space, or using the third mouse button, will force
the "pan canvas" mode
* using the mouse wheel zooms in and out
* fixed issues with the undo commands when nudging something with
the cursor keys
* manipulators can now indicate wether they changed the mouse cursor
* ChangePointCommand is no longer inserted if the point didn't change
* new "flip" points feature in context menu, flips "in" and "out" curve
control points
* mouse wheel events are now propagated together with the mouse position
* new "UndoesPrevious" method in Command interface (used to clean up
command stack)
* clean ups in CommandStack
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20623 a95241bf-73f2-0310-859d-f6bbb57e9c96
solves the problem that app_server uses the wrong version of
the class
* TODO: put all the other classes into this namespace as well,
I'm just eager to close this crucial bug, which Ingo kindly
tracked down
[darn, this commit stalled before, and I commited the next step
already from another Terminal...]
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20481 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
only slight clean-up and used the colors from my app icon)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20466 a95241bf-73f2-0310-859d-f6bbb57e9c96
* created new icon for Cortex
(add-on host needs same changes yet)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20446 a95241bf-73f2-0310-859d-f6bbb57e9c96
and I'm still not quite happy with it... will probably work on
it some more
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20441 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
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
* added lha and tar mimetypes (TODO: sniffer rule, help appreciated)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19520 a95241bf-73f2-0310-859d-f6bbb57e9c96
(was only saved when switching from "export" to "save")
* make use of drop index when dragging and dropping paths in
list view
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19519 a95241bf-73f2-0310-859d-f6bbb57e9c96
LockExclusiveAccess() (meaning more or less access to the
frame buffer)
* extracted the AGGTextRenderer to be a global instance used
by each Painter instance (currently, it is thread safe because
of the global font lock, so there is some work left in this
regard)
* gave every ServerWindow it's own DrawingEngine instance, this
is work in progress. So far, there doesn't seem to be a regression,
but less fighting over the exclusive access to the frame buffer, now
each ServerWindow thread can draw in parallel. There is room for
improvement, plus I think I'm leaking the DrawingEngine...
* changed the locking for the software cursor. ShowSoftwareCursor()
can only be called if HideSoftwareCursor(BRect) returned true, or
if you called the generic HideSoftwareCursor(), since it needs
to keep the cursor lock and unlocks in Show...!
* some clean up and renaming in Decorator and friends
* moved PatternHandler.h to live along with the .cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19427 a95241bf-73f2-0310-859d-f6bbb57e9c96
(and also improved performance of rendering icons, the background
was cleared for no reason on each Draw() call) However there
must be a bug still in the app_server which causes GetClippingRegion()
to return an out-of-date clipping region (R5 has the very same bug
though)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19413 a95241bf-73f2-0310-859d-f6bbb57e9c96
so frequently when unflattening R5 messages (each mouse event arrives
as an R5 message in the test environment): unflatten_r5_message()
retrieved the pointer to the message header, but afterwards cleared
the message... resulting in the header pointer to be invalid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19412 a95241bf-73f2-0310-859d-f6bbb57e9c96
changes in the HWInterface (ie on mode switch)
* initialization and shutdown of the HWInterface instance no longer
go through DrawingEngine, which had nothing to do with it in the
first place
(this is in preparation of giving each ServerWindow it's own
DrawingEngine instance)
* small performance improvement in ViewLayer::ScrollBy()
* some cleanup in ServerConfig.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19391 a95241bf-73f2-0310-859d-f6bbb57e9c96
but use integer coordinates. These are now used in ViewLayer for the
coordinate system (layout, scrolling offset, view bitmap layout)
* modest performance improvements by inlining some very often used
methods, and by preventing to go down the entire layer tree too often,
for example InvalidateScreenClipping was always called in the deep
mode, therefor it is save to assume that the tree does not have to
be traversed as soon as the clipping is already invalid
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19390 a95241bf-73f2-0310-859d-f6bbb57e9c96
or something else, but I don't think the change is bad (changed
ServerProtocol.h from a local header to a system header)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19388 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Transformer menu is correctly enabled/disabled when a shape is selected
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19351 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed bug in RDefExporter
* improved zooming, icon is now centered at program start
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19328 a95241bf-73f2-0310-859d-f6bbb57e9c96
commits seem to work fine (BTW, what an odd place for the TeamMonitor :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19314 a95241bf-73f2-0310-859d-f6bbb57e9c96
B_EDIT_ICON_DATA messages, doesn't load an icon yet
(won't look into it within the next 10 hours... ;-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19311 a95241bf-73f2-0310-859d-f6bbb57e9c96
-> Icon-O-Matic is launched, but it says the data is not valid...
don't know why yet (will commit a newer Icon-O-Matic next)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19310 a95241bf-73f2-0310-859d-f6bbb57e9c96
use Icon-O-Matic to create or edit icons
note to axeld: I'm messing with it right now, hope you're sleeping
and not messing with it too! :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19308 a95241bf-73f2-0310-859d-f6bbb57e9c96
* implemented SavePanel that let's you chose the Export format
* introduced DocumentSaver class and several implementations
* Document no longer remembers any entry_refs, but a native
and export document saver, for other export formats than
HVIF, it is no longer necessary to go through the file panel,
simply invoking Export will do
* this makes it much easier to have a custom saver that sends
a message with an HVIF icon to another app instead of saving
to a file
* cleaned up File menu
* last used export format is persistent
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19307 a95241bf-73f2-0310-859d-f6bbb57e9c96
there is some unfortunate code duplication in AppFileInfo,
because it cannot use BMimeType/BNode alone to retrieve icons,
now it works closer to the code in BIconUtils, this fixes
R5 icons not displaying for other icon sizes
* implemented a bilinear scaling function, I don't know if
it is very fast, but I hope it is reasonable. Now that I
see the results though, I wonder if R5 icons should be
scaled with nearest neighbor instead...
* corrected a small bug in the icon format stuff...
7 bit coords are -32-+95, not 96
* improved comment for BIconUtils function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19302 a95241bf-73f2-0310-859d-f6bbb57e9c96
remembered for now
* fixed some annoying bugs:
- the snapping prevented some of the proximity checks from
working while editing a path or using the transform box,
now the Manipulators themself are responsible for mouse
snapping and can do so at the time it works best for them
- pressing the Esc key while using the transform box did
reset the transformation, but didn't exit the transform
mode (return to path editing)
* improved layout of some views when the window is resized
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19266 a95241bf-73f2-0310-859d-f6bbb57e9c96