Commit Graph
100 Commits
Author SHA1 Message Date
Stephan Aßmus e339f8165b Also don't print error on B_BAD_PORT_ID in BMediaNode::WaitForMessage(),
it just means the port has been deleted while the node was waiting, like
when a program quits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 13:02:01 +00:00
Stephan Aßmus 6b8545a4fe * Improve line breaks in BMediaNode::WaitForMessage() for 80 char width
according to coding style guide.
* Print the error string for read_port_etc() instead of the error code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 12:40:46 +00:00
Stephan Aßmus 8056f0db19 * Failing to find an add-on for a BMediaNode could simply mean that the
node was instantiated by an application, therefor it is not an error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 12:37:43 +00:00
Stephan Aßmus 590bb3b9e2 Might have implemented seeking to keyframes (video streams only for now), but
I need to test it yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 10:19:03 +00:00
Stephan Aßmus d830aa92ce * Added FindKeyFrame() method to MediaExtractor, it is similar to Seek(),
but operates "read-only".
* Added FindKeyFrame() method to ReaderPlugin, see above.
* Reformated ReaderPlugin header. Added const qualifier to Source() method.
* Small cleanups in BMediaTrack::SeekToTime() and SeekToFrame(). Added TODOs
  with regards to "seeking" in decoders, wich should IMHO be revised. (Codecs
  cannot seek in the stream, they only get fed chunk data. The only thing they
  can do is reset themselves in preparation for a discontinuity of the chunk
  data...)
* Implemented BMediaTrack::FindKeyframeByXX() methods via the new
  MediaExtractor::FindKeyFrame() method.
* Implemented Seek() and FindKeyFrame() methods in the Reader base class,
  returning B_NOT_SUPPORTED. I think this makes sense and also I don't have
  to adapt all existing Reader plugins for the new FindKeyFrame() call. :-)
* Implemeneted FindKeyFrame() in the avi_reader. The OpenDMLFile class
  gets Seek() extended for a "read-only" mode. Currently the implementation
  is broken (as before) with regards to keyframes. These were ignored before
  and I have not changed them to actually support the seek flags with regards
  to keyframes. That's the interesting TODO...
* Some reformatting here and there in avi_reader code, sorry for the mixup.
  The only actual change is the support for the read-only flag to Seek().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 23:36:14 +00:00
Stephan Aßmus 3bac9fe16c Failing to find a suitable decoder for a stream is reported in three different
modules, I left the one from MediaExtractor::CreateDecoder, since it also
mentions the stream index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 12:59:45 +00:00
Stephan Aßmus 112d61551e * Add Style::HasTransparency() which just tells if any of the colors that the
style uses has an alpha value below 255.
* Add support for intermediate rendering passes to IconRenderer. Normally,
  the whole icon is rendered in a single pass, which means shapes cannot
  overlap. With the change, intermediate rendering passes are inserted when
  a shape is encountered that contains transparency. This is an easy way to
  allow for more feature rich icons, with easy support for glossy/reflective
  surface effects or other such effects that require support for transparent
  shapes on top of other shapes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 11:35:51 +00:00
Stephan Aßmus 48498869f9 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 11:06:41 +00:00
Stephan Aßmus a7b7eb1ea5 Don't export shapes which are not visible at the default image scale.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 11:00:27 +00:00
Stephan Aßmus af7303013f Icon-O-Matic was missing the "[]" specifier when exporting a C array. Thanks
to mmu_man for pointing this out!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 09:47:55 +00:00
Stephan Aßmus 4a46d818c9 * Implemented ERROR as fprintf(stderr, ...) with tracing turned off as well.
* Fixed all but one compiler warnings in libmedia.so.
* Truncated lines to 80 char width where I looked at code.
* Turned printf()s into TRACE/ERROR calls in MediaExtractor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 19:39:07 +00:00
Stephan Aßmus d14375b803 * turn tracing off in OpenDMLFile as well
* rename tracing define in StartIndex


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 19:14:48 +00:00
Stephan Aßmus 9b58b8e2d8 * printf -> TRACE (turned off)
* fixed a few compiler warnings


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 18:49:09 +00:00
Stephan Aßmus a08f6a39d8 Return B_ERROR for the FindKeyFrameFor*() methods, unless the time/frame
is 0, in which case it is almost save to assume it is a keyframe. Added
TODO though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:15:12 +00:00
Stephan Aßmus c844c20840 * Use tracing facilities in BMediaTrack.
* Turn off tracing in the Media Kit.
* Notify of unimplemented functions regardless of tracing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:12:05 +00:00
Stephan Aßmus c2848f102b * Improved debug output.
* fTrackList was deleted with delete, but needed delete[].


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:09:26 +00:00
Stephan Aßmus 936f5631e4 Turn off tracing in all the decoder and reader plug-ins. It should be turned on
when looking for a bug in the respective plug-in.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 16:44:26 +00:00
Stephan Aßmus 1fde221032 Turn off tracing. Only people looking for bugs in this plugin should have
it turned on, IMHO.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 16:32:27 +00:00
Stephan Aßmus 694f0665c0 * Added --help and -h command line options which print the available options
and quit the program immediately.
* Added --deskbar option to automatically install the Deskbar replicant.
  NetworkStatus waits up to 10 seconds for Deskbar to become available in
  case it is not running. In case the replicant is already installed, the
  program quits immediately.
* Refactored a _InstallDeskbarReplicant() method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 12:58:08 +00:00
Stephan Aßmus a529aaf3c6 Fixed 32 bit blit modes for real...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 21:41:02 +00:00
Stephan Aßmus c2de9613a6 Fixed 32 bit versions of blit*.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 20:45:07 +00:00
Stephan Aßmus 55ef60a5ae * Removed the Copyright image/rendering.
* Fixed the icons image, it was upside down.
* Support the new 24 bit boot screen images in the boot_loader and the kernel.
* Prepare the code for future indexed versions of the boot screen images.
  But the generate_boot_screen tool currently does not generate those.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 20:27:47 +00:00
Stephan Aßmus d37b47817b Use LaunchBox icon for boot script stage... <smacks hand against forehead>
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 18:41:24 +00:00
Stephan Aßmus 863894f9e4 Added new artwork for the boot screen (WonderBrush and PNG files). I am not
sure about the Copyright string. Should we really have that on the boot screen?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 18:21:08 +00:00
Stephan Aßmus a3636f92c0 * Removed almost all global variables.
* Release the resources needed for reading the PNGs and storing the image data.
* Change the semantics of the tool, previously it only supported palette mode
  PNGs. Now I am doing the opposite, the tool tries to set up the PNG lib to
  hand out RGB data, even stripping a potential alpha channel.
* Used standard Haiku license header.
* Improved output syntax.
* No longer depends on input image names, even with paths. The generated
  output needs to have fixed names, or else the other source code will break.
* Made the use of the setjmp feature optional, depending on the PNG lib version
  in use. This makes it possible to build the tool on BeOS without updating
  the installed PNG lib.
* Added a few TODOs. Most important is to generate a single palette for all
  three images, and storing the images in their palette representation along
  with the full quality versions, so that they are ready during boot without
  sucking up too many CPU cycles.

NOTE: The header which is now generated is not usable by the rest of the
source code yet, but that will come later. generate_boot_screen is not
integrated yet anyways.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 18:15:58 +00:00
Stephan Aßmus 7d85665d0f * Give boot stages a more meaningful name, make the max stage count known.
* Calculate icon offset from stage in splash.cpp, remove hard coded placement
  values. Draw only icon, not the whole image from top/left to right of
  icon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 13:14:18 +00:00
Stephan Aßmus 5973fcdfb2 Fixed initial rendering of the grayed out icons, depends on frame buffer
depth now. Removed now unused blit16_cropped().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 12:14:43 +00:00
Stephan Aßmus 61a1f36f79 * Implemented 32 bit cropped blit. Untested. I am guessing that the functions
could be refactored to avoid code duplication (ie only cropping
  implementations, with the non-cropping function being a special case of the
  cropping version)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 11:18:38 +00:00
Stephan Aßmus 10134c6d28 * Apply coding style a little more firmly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 11:09:13 +00:00
Stephan Aßmus aa727f6643 patch by Artur Wyszynski (aljen):
* Added the feature of an animated boot screen (icons lighting up at
  different boot stages).
* Added first version of new boot splash images, generated by the new
  hsbg tool. (Also finally contains the "new" Haiku logo.)

changes by myself:
* Added Artur to the contributors list in About System.
* Fixed some left overs in the patch, kept tracing turned off.

TODO:
* Remove the need for hard coding the icon positions. (Maybe generate
  those from hsbg and put them into images.h? Have user provide icon
  spacing/offsets at the command line for hsbg?)
* Rename the stages to something meaningful.
* Use hsbg as a build system tool and generate images.h during build
  from PNGs provided in the artwork folder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 10:25:53 +00:00
Stephan Aßmus ff2f1edf62 patch by Artur Wyszynski (aljen):
* Added a tool to generate the "image.h" header from supplied PNGs,
  which is going to be used by the new boot splash code.

TODO: Integrate this whole thing as a build system tool, complete with
source PNGs in the artwork folder. I am also in favor of renaming it
to something like "splash_gen" or similar if it has to be short.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 10:15:44 +00:00
Stephan Aßmus 45ae49e9c5 patch by Artur Wyszynski (aljen):
* update the kernel copyright string


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 10:11:58 +00:00
Stephan Aßmus c09ac5cf13 patch by Artur Wyszynski (aljen):
Build fix for Darwin host platform.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 10:10:50 +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
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
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
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
Stephan Aßmus b92508756d * Removed explicit timezone and keymap settings file generation. The system
works fine without those, the keymap file will be generated.
* Supplied the removed lines as example in UserBuildConfig.sample for how
  to supply these settings during image generation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 10:12:15 +00:00
Stephan Aßmus c8fe52608c Disabled the mimeset trick for now, since it causes too many other
problems at the moment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 21:06:23 +00:00
Stephan Aßmus 8dd37e7af9 Make sure that a detached view is really no longer the focus view.
MakeFocus(false) can not be trusted, since it is virtual and might not call
the BView version.  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 20:58:59 +00:00
Stephan Aßmus 96e23ec325 * Check the return code of the functions that trigger the work in the
registrar.
* Added the constant names to the force parameter (as comments for now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 16:07:06 +00:00
Stephan Aßmus 5a410001da * Added Firefox optional package.
* Added VLC optional package. (I repackaged the latest BeBits version and
  put it on www.yellowbites.com, which is a) much faster to download at
  least from Germany and b) has the Haiku vector icon.)
* Exchanged the Pe package for a recent SVN build which also has the Haiku
  vector icon.

Going to test all these changes on a Linux host soon, seems to work fine
on a BeOS host.

NOTE: The WonderBrush package has gotten a silent update, it includes the
icon in the resources now too, like the other packages with Haiku icon and
also fixes a problem in the Navigation view.

NOTE 2: The build system does not download packages again if generated/download
already contains a .zip with the name of the optional package. So you need 
to delete those to get the recently updated Vision, Pe and WonderBrush
packages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 14:12:05 +00:00
Stephan Aßmus fee1aa056c Thank you very much, BitmapDrawing, you have served us well. You may go and
play outside now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 12:42:16 +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
Stephan Aßmus e2947e5344 Created a simple icon for this demo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 11:06:02 +00:00
Stephan Aßmus 89abb79148 Tweaked the pen shadow to be a bit smaller.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 11:02:48 +00:00
Stephan Aßmus 16eb448eb4 * The HaikuImage script will put a file "fresh_install" into
/boot/home/config/settings.
* The Bootscript will check for the existance of this file and updates the
  mime database with all the applications and preflets that come with the
  install. Then it removes the indicator file.

This fixes the problem that all the apps are not known to the system until
you run them once. Ie "Open With..." and such stuff works out of the box.
Feel free to find a more elegant way, I just found this simple and effective.
:-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-05 22:25:33 +00:00
Stephan Aßmus d00563dfeb * Created an icon for the Mail preflet, based on the Mail app icon.
* Added vector icon loading for the interface (Haiku build).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-05 21:21:58 +00:00
Stephan Aßmus 017fb2f082 I have tried to bring the developer list up to date to the best of my
knowledge. I compared it with the current commiters list on Berlios. Some
people listed there are still in the contributors list, since they have
been inactive for a long time. Any blunders are unintentional and I will
fix those ASAP once pointed out!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-04 12:41:45 +00:00
Stephan Aßmus 7d12795a90 R5 host platform needs this too (for Haiku target platform).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-03 22:25:16 +00:00
Stephan Aßmus d2dd893957 Added James Urquhart to the list of contributors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-03 20:58:16 +00:00
Stephan Aßmus ccf6ad1d8b Reverted to the previous version. Axel, your change completely broke all kinds
of stuff. I think the trouble is that you keep decrementing charCount while
still inside the same UTF8 glyph. I cannot really tell, I am hoping you don't
mind me reverting to the old version, since the new one is only three lines,
so it should be easy to correct and re-commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 15:56:31 +00:00
Stephan Aßmus 43361fc860 * Fixed "missing virtual constructor" warning (which is probably even a
correct warning) for AbstractPointerListHelper. (libbe_build.so)
* I have had problems with implementing virtual functions inline in the
  class declaration before, so I implemented the virtual destructor
  externally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 14:39:19 +00:00
Stephan Aßmus 37950dd1d2 There is no reason to prefer 16 bpp modes anymore. 32 bpp is just as snappy,
maybe users on older hardware prefer 16 bpp, but that should be fixed by
supporting a vesa config file instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 12:32:10 +00:00
Stephan Aßmus a01db67de0 Do not scroll to the bottom of the current line if that means the top of the
line will be scrolled out of view. (Fixes text jumping one pixel up/down in
Vision with each new char you type into Visions text box.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 11:48:36 +00:00
Stephan Aßmus 46ea5b1e49 Further improvements to auto scrolling and text rect + container view resizing:
* Renaming things in Tracker list mode no longer magically grows the text view.
* ScrollToOffset() is not supposed to depend on the existence of any scroll
  bars, in R5 text views simply scroll to where they need to. This fixes
  renaming things in Tracker when hitting the window bounds (text widget stops
  growing and starts to autoscroll) and also the Text tool in WonderBrush.
* _ScrollToOffset() is therefor no longer needed.
* The insets of the text rect are not so interesting as the original width.
  In auto resizing mode, the original width is important when there is no
  container view. In this setup, the text rect auto resizing is mainly needed
  for auto scrolling, but it should never shrink below the original size.
* Further improved auto scrolling for right aligned and center aligned text
  views, it works like R5 now. Also take the line height into account when
  checking for the bounds bottom. Removed extra spacing for vertical
  scrolling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 23:34:23 +00:00
Stephan Aßmus a68292dd29 fh -> fontHeight
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 22:35:30 +00:00
Stephan Aßmus b8872c02c1 BTextControl:
* Placed _BTextInput_ into BPrivate namespace.
* Made _BTextInput_::AlignTextRect() smarter, it centers the line vertically,
  for the case that the BTextControl has a larger label font. Improved insets
  for asthetics.
* Used _BTextInput_::AlignTextRect() consistently in BTextControl, no more
  custom calls to SetTextRect(). Account for minimum vertical inset of 2
  pixels in GetPreferredSize().
* Consistendly select all text when gaining focus in _BTextInput_.
* Override MouseDown() in case the control did not have focus before, or else
  BTextView::MouseDown() will deselct the text again and place the cursor.
  (in line with BeOS behavior)
* Removed unused fBool member from _BTextInput_ and other cleanup.

BTextView:
* Reimplemented BTextView::_AutoResize() so that it works well with
  BTextControl and autoscrolling when the alignment is not B_ALIGN_LEFT.
  I needed two new members for this, fLeftInset and fRightInset which are
  the original insets from the fTextRects. It might currently be broken
  for renaming things in Tracker, I will have to check. _AutoResize() no
  longer messes up the fTextRect insets.
* Fixed stray carrets sometimes being left over, mostly when auto scrolling,
  but I observed them in other cases as well.
* Prevent negative scrolling offsets when autoscrolling. Fixes weird scrolling
  offsets when navigating to the left.
* Reset scrolling to B_ORIGIN when SetText() is called. Fixes for example
  starting to type in the middle of the control in Vision when entering new
  text and autoscrolling was triggered before.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 20:39:29 +00:00
Stephan Aßmus 35b450cd25 Draw the label right at origin in B_ALIGN_LEFT mode. Should improve alignment
with other controls. (BTextControl patch with the same change is upcomming, but
it includes many other changes I didn't want to mix in.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 20:25: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
Stephan Aßmus a6ca2bfcec Export ktrace_printf for the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 15:03:15 +00:00
Stephan Aßmus fef3930499 patch by Rene Gollent:
* BListItems now store the top offset of the frame within the parent BListView.
* This allows binary searching the clicked item.
* ItemFrame() is now a cheap call.
* Fixed several bugs in the sorting code of BOutlineListView which lead to
  crashes of client applications.
* Implemented previously unimplemented functions in BOutlineListView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 14:15:28 +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 18c361960a applied patch by Maurice Kalinowski:
Do not attempt to install optional 3rd party packages when building
a GCC4 version of Haiku. I think there has been some discussion on this
topic before, with a more advanced solution, but for the time being, this
should be ok.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 09:43:10 +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 9553296aee * Removed #ifdefs around cursor code (ie activate it).
* Replaced non-stylish/conform looking cursor shapes with cool looking
  cursor shapes. (I am always delighted by WonderBrush's cursor code output...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 11:54:34 +00:00
Stephan Aßmus ab7c45e727 * Prevent cross from being too close to the surroundings.
* No need for B_OP_OVER anymore since ages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 11:52:53 +00:00
Stephan Aßmus 9640a42e77 * Got rid of the casting in Read, motivated by a patch sent by Fredrik Ekdahl,
should also fix GCC4 build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 11:03:37 +00:00
Stephan Aßmus 50baebaf5f * Fixed warnings.
* Truncated lines to 80 char width.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 10:00:52 +00:00
Stephan Aßmus 3c3f84d112 Applied patch by Maurice Kalinowski with additional changes by myself:
* Fixed ResEdit build.
* Small cleanups and simplifications.
* Removed reference to CapitalB resource in ReadyToRun().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 20:10:41 +00:00
Stephan Aßmus 59312709ae * Maintain the previously selected partition when rescanning drives (ie also
when mounting/unmounting a partition).
* Set the enabled state of the Unmount menu item when a partition is not
  mounted (was using previous state from last partition).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 14:23:13 +00:00
Stephan Aßmus da5d970124 * Small code cleanups, a bigger style cleanup should be done, but I didn't
want to mix too much cleanups into real changes.
* Got rid of the weird lines between rows.
* Tweaked colors (selections are usually dark everywhere else in Haiku).
* Implemented slightly tinting alternating rows.
* Removed the code duplication to figure out the appropriate background
  row color, fixed some inconsistencies between Draw() and RedrawColumn()
  in this regard.

TODO: Default colors should be computed based on current panel color though.

TODO: Figure out why the outline view does not scroll (at least not visibly)
when the vertical scroll bar is used.

TODO: Remove remaining redraw bugs. I observe a column of pixels not being
updated in some cases when resizing columns.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 12:27:36 +00:00
Stephan Aßmus bbf31e4d1f * If bitmaps are drawn with alpha channel, it helps to setup the correct
alpha mode. Thanks to Ralf Schuelke for pointing this out.
* Also check the bitmap color space and only use alpha drawing for bitmaps
  with valid alpha channel.
* Don't just reset the parent to B_OP_OVER, but use the previous mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 09:56:26 +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
Stephan Aßmus c3b57150e2 I was just going to implement Begin/EndViewTransaction(), but I saw
it is already implemented they way I thought it could be done - nice! Just
some simplifications.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:42:09 +00:00
Stephan Aßmus f6a3e5637b * Looking at the diff I remember it contains a patch Andrea Anzani send me,
fixes indicating the focus of the resized column if it isn't the first one.
* Code cleanups by myself in the archiving implementation. No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:40:53 +00:00
Stephan Aßmus 99238ef54f Disable excessive debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:37:40 +00:00
Stephan Aßmus 33def0ba07 * Small cleanups, renamed "md" (for "mouse device") to "device" among other
stuff.
* It's a while since I wrote this code, and I don't remember why I don't
  always "set the configuration". Appearantly on BeOS and ZETA, the
  active configuration was not yet set on the device when the driver examined
  it, but on Haiku it is. The special control command which puts a tablet
  into tablet mode is then not executed. I simply commented out this check
  (always set the configuration) and now my Wacom Intuos 2 is working fine
  in Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 16:06:32 +00:00
Stephan Aßmus d4122828d4 * Reworked debugging feature, it's now much more simple to use, copied
from the input_server implementation to create a log file.
* DeviceReader already provided the data byte count, since this is a USB
  only Wacom driver, we can simply use the max_packet_size from the endpoint
  descriptor. Changed TabledDevice accordingly to use the already existing
  DeviceReader::MaxPacketSize().
* Reworked DeviceReader::ReadData(). Renamed variables for clarity and
  removed the restriction to read exactly the requested ammount of bytes,
  reading more than the "header" (which contains vendor id, product id
  and max packet size) is already considered a successful read.
* Refactored TabledDevice::poll_usb_device().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-19 16:03:15 +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
Stephan Aßmus fd6477d3e6 I tried to follow the example of PartitionMapAddOn and implemented more
stuff for the ExtendedPartitionAddOn. If I understand correctly, from the
point of view of the Disk Device API, ExtendedPartitionAddOn is a disk system
which supports child partitions and is analogous to PartitionMapAddOn. The
type string for the supported child partitions is probably wrong, since I
used "Intel Logical Partition".... In fact, the types currently returned by
PartitionMapAddOn are not as intended either. We will have to think of how
we want this particular feature to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 17:57:40 +00:00
Stephan Aßmus af4ad10c3e I took the liberty of implementing GetNextSupportedType(), which is needed
to be able to call BPartition::GetNextSupportedChildType(). For the 
PartitionMapAddOn, the types should be either primary or extended, depending
on the number of empty primary partitions and the existance of one
extended partition. DriveSetup shows "Intel Primary Partition" and
"Intel Extended Partition" in the Create menu now. Ingo, please review,
maybe I didn't understand the plan correctly. Also, I tried to follow the
code path, which is quite nested, and am pretty confused.. For example,
I didn't find the place where the CreateChildJob is finally created. Is this
missing yet?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:23:19 +00:00
Stephan Aßmus e0b3fc9796 IMHO these are a little better error codes. If fDelegate is NULL, it means
the BDiskDevice of a BPartiton has not been prepared for modifications. To
me, it means the initialization status of the object does not support the
operation, hence B_NO_INIT. B_BAD_DATA hints to me that I have passed invalid
data to a function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:16:22 +00:00
Stephan Aßmus 70c8595603 Spotted a leak while trying to understand what's happening.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:13:14 +00:00
Stephan Aßmus 7b95b37ca2 Make the Desktop window check the Deskbar frame only every half a second,
use a cached value otherwise. Should speed up icon placement when Tracker
starts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 09:23:05 +00:00
Stephan Aßmus 753fd45fc2 Second part of a patch sent by Clemens zeidler:
* If in B_WIDTH_AS_USUAL mode, the strings in the tabs are nevertheless
  truncated to the available width.
* Pass the real area available for the string to BTab::DrawLabel(), resolved
  TODO in DrawLabel() about not having to calculate an offset to account
  for the slope.
* Fixed some too lines of code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:07:21 +00:00
Stephan Aßmus 00f378126a First part of a patch sent by Clemens zeidler:
* The BMediaTheme now uses B_WIDTH_FROM_LABEL for tabs in tabviews, 
  this makes tabs as wide as they need to be.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:04:03 +00:00
Stephan Aßmus 034e2b7f94 applied patch by Maurice Kalinowski:
* BTimeSource now checks if it is about to add itself as a slave node
  and refuses to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:00:08 +00:00
Stephan Aßmus 967d72041f * Implemented support for generating global partition_ids for partitionable
spaces. This way we can use all the existing logic to select them in either
  list view or the disk layout view. IAW, selecting empty spaces now works.
* Changed the way the Create menu works. It is now only enabled if a space
  item is selected and then the sub items are filled with the types that
  the parent partition says it supports for child creation. (Does not
  yet seem to work.)
* PartitionViews for spaces were not put into the partition_id -> view map.
* Fixed focus indication when switching the disk for the disk layout view,
  previously, the correct view was only selected when the disk did not change.
* Added a temporary work around to avoid showing bogus space items at all
  (those smaller than a "cylinder size"). Currently hard coded to 8 MB size.
  But I already have an idea how we could fix this in the Disk Device API
  implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 20:24:05 +00:00
Stephan Aßmus 4290042b17 Fix the "Intel Extended Partition" add-on to use the correct disk system
name ("Intel Extended Partition"), this allows disks with extended partitions
to successfully PrepareForModifications(). I have just used DriveSetup to
initialize a partition with BFS. Yay!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 19:08:52 +00:00
Stephan Aßmus aa1df4dc4d Incorporate work done by James Urquhart (jamesu):
* Use our own BBitmapStringField implementation which also requires our
  own BColumn implementation. This is just a visual improvement which makes
  both the eventual partiton icon and device label indent with the outline
  level of the list item
* when setting the Unmount menu item enabled state, check wether the
  partition in question is the /boot volume and disallow unmounting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 17:29:48 +00:00
Stephan Aßmus e951046835 Fixes the build for the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 17:25:33 +00:00