Commit Graph

17219 Commits

Author SHA1 Message Date
Axel Dörfler
63a9a8f72a Enabling the extended stat() versions had unforeseen consequences (broke the build,
src/bin/coreutils/src/cp.c, line 542 needs stat() exported), therefore, I disabled
it for now again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 21:19:37 +00:00
Axel Dörfler
f62d3b77aa Added a list_get_last_item() call - one day we should make most of them inline.
Or use the C++ list implementation where possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 16:13:34 +00:00
Axel Dörfler
0ba0370464 Use B_MAX_SYMLINKS instead of SYMLINKS_MAX (which also fixes the build, btw).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 15:44:46 +00:00
Stephan Aßmus
f71eec5f41 added three more Transformer implementations:
* AffineTransformer - affine matrix transformation
* PerspectiveTransformer - perspective transformation
* ContourTransformer - extending the underlying VertexSource by a certain
  width (like "false bold" in text rendering)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 15:21:26 +00:00
Jérôme Duval
ac8b62305d added some pthread tests from posixtestsuite
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 15:21:12 +00:00
Stephan Aßmus
0199e126e2 implemented a cool vertex transformation pipeline:
* VertexSource virtualizes the AGG "VertexSource" interface
* Transformer is an interface for building pipelines of
  VertexSource objects, each taking the output of the previous
  object and transforming it in some way
* StrokeTransformer is currently the only implementation and
  converts a path into an outline stroke
* PathSource implements the VertexSource interface on top of
  a VectorPath which it converts into an agg::path_storage
  and into an agg::conv_curve<agg::path_storage> to get smooth
  bezier curves
* added VertexSource() to Shape class, which returns the last
  object of the transformation pipeline, it uses a PathSource
  for the root object
* changed IconRenderer to use the new polymorphic VertexSource
  pipeline


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 14:38:13 +00:00
Jérôme Duval
954f408f50 * PTHREAD_MUTEX_INITIALIZER inits to NULL, pthread_mutex_lock now call pthread_mutex_init to support this PTHREAD_MUTEX_INITIALIZER
* pthread_key_create and pthread_key_delete now manages correctly a list of key/destructor
* pthread_create now uses a private thread function to add a "on_exit_thread" call for destructors
* pthread_join now returns B_OK in every case, and, as a joinable thread could already be gone, wait_for_thread would not find it


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 14:07:34 +00:00
Axel Dörfler
7b3d36e5aa * BEntry::GetStat() and BNode::GetStat() used sizeof(struct stat) for the kernel
syscall, but they could not know if R5 code called them (in which case the stat
  size has a different size). We now always only return the R5 stat structure here.
  This fixes bug #420. We might want to find a different solution to this problem,
  though.
* Be got SYMLINK_MAX wrong - it's not the maximum number of links (that's SYMLOOP_MAX),
  but the maximum size of a symlink buffer. Added missing SYMLOOP_MAX and SYMLINK_MAX
  constants to limits.h.
* Fixes MAXSYMLINKS to use SYMLOOP_MAX, instead of SYMLINKS_MAX (which doesn't exist
  in POSIX specs, but we (intentionally) break source compatibility here).
* Reenabled the Haiku versions of stat(), fstat(), and lstat() when build for Haiku.
* Removed OpenBeOS namespace stuff from the files I touched.
* Removed superfluous StorageDefs.Private.h, whyever that ended up in a public header
  is beyond me.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 13:49:16 +00:00
David McPaul
dbd51bbab9 Modified IsSupported to identify MP4 and MOV files better
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 13:15:13 +00:00
Stephan Aßmus
0f50089d87 implemented gradient rendering
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 12:14:19 +00:00
Stephan Aßmus
f67876a0c5 some more "putting things together" for testing:
* add a VectorPath to Document->Icon()->Paths()
* add a Style to the global StyleManager
* actually add a Shape to the Document->Icon()->Shapes()
  which uses the style and the path from above

fleshing out of CanvasView:
* use an offscreen bitmap/view to avoid flickering
* use an IconRenderer to render the set Icon
* implement support for zooming

PathManipulator:
* use the conversion from/to Canvas space and View space
  in CanvasView (I would have liked to solve this in a
  more generic way, so that PathManipulator didn't have to
  know CanvasView, but I was not very creative...)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:43:19 +00:00
Stephan Aßmus
3f6acee003 actually render all the shapes... TODO: gradients
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:36:39 +00:00
Stephan Aßmus
667973ad58 added more useful colors and some patterns
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:34:37 +00:00
Stephan Aßmus
362cd293d6 added IndexOf()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:33:52 +00:00
Stephan Aßmus
781809a916 don't ignore the smoothing scale in Iterate()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:33:14 +00:00
François Revol
bdc29e6a6e Add my ESound Daemon Sink media node source code.
I need it on an other box anyway...
Currently uses hardcoded server IP.
Jamfile likely doesn't work (needs net libs);
 and requires ZETA due to TextParameter (for server IP but unused yet; I think Haiku should have it too) will need some ifdefs
Use the provided makefile for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-20 22:17:12 +00:00
Jérôme Duval
c345b8eb08 fix error return codes for posix compatibility
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-20 22:14:54 +00:00
Axel Dörfler
74ef162141 Slowed down mouse acceleration quite a bit, but also made sure the minimal
acceleration factor is 1 which wasn't the case before.
The defaults now feel pretty good over here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-20 17:07:25 +00:00
Axel Dörfler
8ebbfab333 When the B_COMMAND key is pressed, the event will not be forwarded to the target
handler anymore, no matter if a shortcut existed or not.
This fixes bug #498.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-20 15:20:18 +00:00
Jérôme Duval
1f11178f97 added posix thread specific data functions
added a pthread_detach skeleton


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-20 12:27:46 +00:00
Jérôme Duval
a23efdfa79 added some pthread_* and pthread_attr_* naive functions
I mapped pthread_t to thread_id for simplicity


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-20 11:05:58 +00:00
Axel Dörfler
3a44e6e37d Fixed a big race condition in the server code:
* ServerApp was accessing ServerWindow::Window() (while having the app window
  lock held), but in fact, there was no guarantee it already existed, or was
  added to the Desktop.
* Therefore, the Window() semantics have changed to only return a window in
  case the window exists *and* has been added to the desktop (the latter
  constraint might be lifted again, though). Therefore, it doesn't work
  for offscreen windows, and should not be used within ServerWindow code
  anymore.
* This fixes bug #686 and maybe others as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-19 23:42:22 +00:00
Jérôme Duval
4810cdcdbc code style update to match ours (kind of)
license header update
minor clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-19 13:24:04 +00:00
Stephan Aßmus
3639baa4b0 * add more classes:
PathContainer - a list of VectorPath objects
  ShapeContainer - a list of Shape objects
  Icon - the object contains VectorPaths and Shapes using these paths
  IconRenderer - renders an Icon into a BBitmap using AGG compound shape
  rasterization with additional gamma correction
* Shape has a PathContainer instead of a single VectorPath
* Document has an Icon instance
* changed the inheritance of some classes to us Referenceable more


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-18 19:05:44 +00:00
Stephan Aßmus
6ebf703166 * implemented more needed classes, Style, StyleManager, Gradient, Shape
* added Referenceable
TODO: Shape needs list of paths instead of one single path,
also transformers, and such stuff


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-17 19:02:32 +00:00
Jérôme Duval
2df2b98416 clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-17 14:56:25 +00:00
Jérôme Duval
ca8d4604d9 added a beos/etc/synth directory
added libfluidsynth.so and MidiPlayer


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-17 14:06:13 +00:00
Jérôme Duval
bafde775b9 made midi server beos compatible
fix binary compatibility for several classes (I missed this before)
the soft synth loads by default /boot/beos/etc/synth/big_synth.sy (which I locally linked to a General Midi sf2 bank
tested with MidiSynth 1.6 on Haiku


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-17 14:04:46 +00:00
Stefano Ceccherini
3e9e6a58c8 DrawLines() didn't respect the passed offset, thus redrawing over the old text. This exposed some other bugs in the refreshing mechanism. Hopefully fixed them all, although there might be some problems still with the inline input method
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-17 12:14:02 +00:00
Axel Dörfler
0248bb3ed8 * Screen savers are now sorted case insensitive (forgot to commit this before).
* ScreenSavers is now completely font sensitive (but not the screen savers themselves,
  they are on their own there - note, however, that a screen saver can enlarge its
  view under Haiku (like it's already the case for Translators, even under BeOS)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-16 19:07:00 +00:00
Axel Dörfler
9a3c8b14fd Rewrote BAlert button layout routine. Made it much simpler, and it's now
also font sensitive (really, it wasn't before).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-16 16:22:53 +00:00
Jérôme Duval
60d1530802 midi2 kit clean up: license header, code style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-16 15:38:29 +00:00
Axel Dörfler
f8253e50bd * Fixed wrong resizing mode.
* Fixed center on screen algorithm for multi-screen scenarios.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-16 14:38:10 +00:00
Axel Dörfler
9f53e3dccf Fixed build for non-Haiku targets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-16 14:32:05 +00:00
Axel Dörfler
075e65c78c * Rewrote StatusBar.h. This fixes bug #419 due to a missing "virtual" declaration.
* More or less rewrote BStatusBar, too:
  - Draw() now only redraws something when it's part of the updateRect.
  - no more flickering (uses B_TRANSPARENT_COLOR now), this fixes bug #530.
  - added Dano/Zeta-style SetTo() method.
  - big cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-16 12:40:15 +00:00
Axel Dörfler
8feaf19bda Added a short test app for the BStatusBar class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-16 09:49:23 +00:00
Axel Dörfler
b7670df392 * The powers of two, revisited :-)
* Removed debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-16 07:15:38 +00:00
Jérôme Duval
2af5dee4b4 minor fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-15 23:54:12 +00:00
Jérôme Duval
98c9e9e897 some fixes for dano
fix SoftSynth::PlayHandler, offset and incr are counted in samples


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-15 23:41:26 +00:00
Jérôme Duval
1ad334ed89 uint => unsigned int
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-15 23:39:15 +00:00
Axel Dörfler
d274c6a597 Added non-const form of BString::operator<<(BString&) for backwards compatibility
(see bug #418).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-15 21:17:05 +00:00
Axel Dörfler
42b505fba3 * Implemented mouse acceleration - it's not as smooth as on BeOS (your mileage
may differ), but I think it's definitely an improvement. This fixes bug #402.
* Since there now is acceleration, I reduced the mouse speed by half.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-15 20:32:12 +00:00
Axel Dörfler
61604e4875 I wanted to work on mouse acceleration, but this had to come first:
* No longer calls _RecursiveScan() in InitCheck() (but in the constructor instead).
* Fixed a bug when a new device was started: the new thread got a stack allocated
  structure pointer, but there were no handshake to make sure it was still valid.
* Now checks all BMessage allocation, as well as adding fields for success, and
  doesn't enqueue partial messages.
* Big refactoring and cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-15 16:53:09 +00:00
Jérôme Duval
e3a74a24bd an untested work in progress of BSoftSynth using fluidsynth (it's a try out and could be reverted if we feel like it)
libfluidsynth.so isn't on the image yet


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-15 16:03:18 +00:00
Jérôme Duval
23b47e0b5e now remap mouse buttons if the mouse driver doesn't remap itself
Remapping doesn't work on Haiku yet: it seems the mouse map isn't well updated for some unknown reason 
update license 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 21:24:14 +00:00
Jérôme Duval
3a59f3e4af should have been cur, dunno how it built before ...
fixed bug #661


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 19:36:10 +00:00
Axel Dörfler
a6c9722d73 Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 18:31:15 +00:00
Axel Dörfler
7477c792d5 * Dropped messages come in a _MESSAGE_DROPPED_ "packet", and were unpacked much too
late, in DispatchMessage(), working around all eventually installed message filters.
  This fixes the odd "cannot drop files into file panel" bug mentioned in bug #669.
* They are now handled in _DetermineTarget() and _SanitizeMessage().
* _SanitizeMessage() is now called earlier, so that no user code can see them before;
  even though this might give you wrong MouseDown() coordinates in combination with
  a redirecting message filter, I think that's exactly what would happen in this
  situation under R5 as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 18:27:10 +00:00
Stephan Aßmus
e39da397f5 * long overdue update to AGG 2.4
* removed the useless parts of AGG (which are only needed for the
  interactive examples)
* make sure to jam -a libagg.a to solve any linking issues


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 14:30:17 +00:00
Jérôme Duval
a58450492a now handles also the case when all specifiers are solved, and behaves as if we were asked the Messenger
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-14 12:40:27 +00:00