Commit Graph
100 Commits
Author SHA1 Message Date
Stephan Aßmus 1f84dba758 the finishing touches...
* now displays the calculator icon besides the text entry
when the keypad is off, also draws a frame around the text
entry and uses standard black on white...
* fixed a few other issues
* should hopefully be complete now
* on R5, there are sometimes rendering bugs with the 
  app_server (sometimes it doesn't invalidate views that
  are transparent and have been resized before the window is
  shown)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-08 00:34:02 +00:00
Stephan Aßmus d2176a2d86 * fix leading spaces after evaluating
* increase to 13 digits after decimal point
* load and save the expression history


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-07 22:42:00 +00:00
Stephan Aßmus 19f75b98e6 I hope Daniel is not upset, but Ingo and I have written a new parser:
* it supports white spaces
* it supports , and . for the decimal point
* it gives parse errors and where the error occured
* it supports more functions
I also added evaluating an expression given on the command line, it doesn't
show the UI then.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-07 22:05:03 +00:00
Stephan Aßmus 3866a1f6d2 Oops, I commited the destroyed version... but restoring the header
is not half as bad...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-07 18:24:54 +00:00
Stephan Aßmus b4d21c8325 Quite a bunch of changes... but it doesn't work perfectly yet.
I ran into an obscure Pe bug which resulted in me overwriting
the wrong file... but then the machine KDLd, which it almost
never does... and I got lucky and the file was there again...
But this teaches me to commit more often.
* replaced expression area with a custom text view
* added expression string history (a bit dumb yet)
* added option to hide the keypad


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-07 18:14:55 +00:00
Stephan Aßmus e61b54a291 remembers option window position and avoids opening another instance of it, options window is not resizable anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-06 16:43:42 +00:00
Stephan Aßmus b962260488 fixed build and applied yet more cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-06 16:25:46 +00:00
Stephan Aßmus a216b33aed more cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-06 16:21:02 +00:00
Stephan Aßmus d4c6f97c75 added DeskCalc to the image
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-06 16:09:31 +00:00
Stephan Aßmus 7cb395c433 adding DeskCalc by Timothy Wayper
huge cleanup of the DeskCalc code:
* applied style guide
* fixed any TODOs from timmy
* slightly nicer looking options window
* new way to store settings
* code should be more robust
* includes parser kindly donated by Daniel Wallner


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-06 16:07:47 +00:00
Stephan Aßmus 86f902c3ed save and restore menu and mouse settings, fixes bug 607
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-31 19:23:26 +00:00
Stephan Aßmus 25f03a7bd8 * avoid endless loop in some cases concerning scrolling with fractional coords
* detect invalid params to SetRange()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-31 19:21:16 +00:00
Stephan Aßmus 95f766fa3e cleanup of archiving code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-31 19:18:25 +00:00
Stephan Aßmus 693f381e83 Fixed a weird Tracker bug, fOkToMapIcons was initialized to "true", but
I have no idea what sense this makes. When switching from list mode to
icon mode, some poses had their locations set to location "infinity",
because MapToNewIconMode did a division by zero. This resulted in feeding
the scrollbars a totally insane range.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-31 19:16:10 +00:00
Stephan Aßmus 5dadd750c0 very small cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-31 19:09:24 +00:00
Stephan Aßmus b9535d8e52 * add two of the logos to /boot/beos/etc/artwork, suitable
for putting on your Desktop as background (manual placement!)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 14:45:45 +00:00
Stephan Aßmus 292027a476 use the new logo from the artwork folder
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 14:30:40 +00:00
Stephan Aßmus 3b2aa67bf2 * added "artwork" folder with variations of the Haiku logo (white on
blue and black on white in different sizes), all of which are pixel
  aligned for the crispest possible look. Both a PNG version and the
  original WonderBrush file are included.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 14:22:57 +00:00
Stephan Aßmus ef64b24102 added Siarzhuk Zharski to the list of contributors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 10:01:46 +00:00
Stephan Aßmus b3d94504c2 * added a bunch of drivers by Siarzhuk Zharski
-> a USB Mass Storgage module (SCSI bus manager add-on)
-> a SiS 7018 AC97 driver (uses "old" audio driver interface)
-> a USB Serial driver
-> a USB Vision driver and media add-on (Haupauge WinTV USB)
* moved R3MediaDefs.h from usb_audio driver to common place
  headers/private/audio (also used by SiS 7018 driver)
* added TV tuner frequency defines to data/settings/media/usb_vision

Some of these drivers are in unfinished state, particularily the
USB Vision driver, the VideoProducer doesn't seem to use it yet,
the USB Mass Storage module is known to work though, it also includes
add-ons for itself that add support for some "special" hardware, these
are not integrated with the Jamfile build system though.

Also I didn't much much time with the "CVS package" targets, the
ReadMes are not added, someone with more knowledge about this could
add them...

None of this stuff is added to the Haiku image, it is simply included
to be maintained in the Haiku tree from now on.

* fixed a bug in Video Producer sample inherited from Be Sample
  code - the timing from the time source was not really used,
  on some systems this could cause in the producer not waking
  up at the correct time if the system time and audio card time
  are drifting apart



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-29 09:54:03 +00:00
Stephan Aßmus e229fcb239 nailed a view bugs concerning archiving BViews, the flags where restored 0 in most cases, which means B_WILL_DRAW was not set, I'm going to clean this up some more, ViewState::archiving_flags is bogus...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-27 21:57:54 +00:00
Stephan Aßmus a502e8cd6e sorry, forgot about this change... fixes build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-27 09:28:59 +00:00
Stephan Aßmus c7b650c800 * because of my last change, the background was filled even though the app_server already did it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-26 22:27:13 +00:00
Stephan Aßmus 12104c2eab synced with OT repository - I guess you knew what was comming,
Tracker saves and restores the window decorator settings on
Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-26 21:48:53 +00:00
Stephan Aßmus 56cedb9e81 sync to OT repository, simplify drawing code and remove dark edge at first attr column
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-26 21:41:55 +00:00
Stephan Aßmus d35ed1a6db fixed some remaining issues with tab sliding:
* the tab keeps the relative position when the
  window is resized (could be done nicer though,
  now it uses two members)
* tab offset is no longer reset in _DoLayout(), ie
  when any aspect of the decorator changes...
one issue that is left is sliding the vertical tab
of kLeftTitledWindowLook windows, but there might
be more... like when the look changes or stuff like
that


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-26 21:26:35 +00:00
Stephan Aßmus 8cd531a9ba As Axel correctly pointed out, but even Ingo overlooked, we need
to export the previously virtual slot to be binary compatible...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-26 13:50:11 +00:00
Stephan Aßmus 39c991c0f3 Added BPositionIO::GetSize() and implemented it by means of Seek() and
Position(). This used up a virtual slot of BPositionIO. GetSize() needed to be
implemented in BFile, which uses the BStatable version as before. This should
hopefully be binary compatible. The only problem could be in source
compatibility when there are classes inheriting from BPositionIO implementing
their own GetSize().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-26 13:27:53 +00:00
Stephan Aßmus b30e90211e added a way for BWindow to store and restore arbitrary decor settings,
currently those include only the tab location


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-25 12:01:28 +00:00
Stephan Aßmus 46fb2d73be sorry, I couldn't resist...
* added a few very small changes to make the tab sliding work perfectly
* added a comment on the purpose of WindowLayer::fLastMousePosition and
  how it is supposed to be used to have the mouse cursor stick to what
  is being dragged
* TODO: the tab offset doesn't necessarily have to be on [0..1], as long
  as we update it during window resizing to keep the relative position


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-24 11:05:25 +00:00
Stephan Aßmus a7f936aa14 * cleanup
* fixed SetViewColor() - I have no idea why it compiled before
* changed SetHidden() to make less of a difference between
  the top view and other views, the clipping is now always
  rebuilt


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 10:05:17 +00:00
Stephan Aßmus 8dc6e23650 cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 10:03:24 +00:00
Stephan Aßmus bd5ed534cf a fix to the file cache (done by Axel), that prevents a crash when
reading the file map of certain files (hope I got that more or less
right)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 09:59:07 +00:00
Stephan Aßmus a0c5ca01a5 using Draw(); Flush(); doesn't get a clean background to draw on, other controls should be fixed as well... this should fix the text becomming thick when repeatedly clicking a check box
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 09:55:39 +00:00
Stephan Aßmus bc685a6444 set_rgb_color() seemed useless
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 09:54:24 +00:00
Stephan Aßmus 52bc1e501f no need to delete fSelectMessage in the destructor after using SetSelectionMessage(NULL);
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 09:53:46 +00:00
Stephan Aßmus 431da4dd4b AddItem(..., frame) used AddItem(..., index) which
triggered a debugger call -> refactoring and cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 09:53:08 +00:00
Stephan Aßmus 75b7acdac8 * commented out the code to invalidate a view when
it is added our removed to another view, this is
  taken care of in View.cpp until we find something
  better


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-19 09:55:56 +00:00
Stephan Aßmus f5643345cd added an async version of MarkContentDirty(), which would clear the backgrounds in case an expose event had already happened earlier, however, it turned out I didn't need it yet, see next commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-19 09:53:01 +00:00
Stephan Aßmus 3e58cde6dc minor clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-19 09:51:38 +00:00
Stephan Aßmus 5add574bc9 * invalidate in _Attach and _Detach - I still hope to
find a better solution, at least it fixes the problem
  that when views are added to already showing windows,
  and those views set their view color in
  AttachedToWindow(), the app_server will have already
  cleared the background with the previous view color
  (for example white check boxes problem in Tracker
   Settings window)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-19 09:45:01 +00:00
Stephan Aßmus ae749d90ce * updates fLastBounds in AttachedToWindow
* don't do the checks for invalid rect and Window(),
  because Invalidate() does this for you


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-19 09:43:06 +00:00
Stephan Aßmus 2a3de9bc1d * use new (nothrow) when checking the returned pointer
* better handling of errors in various versions of AddItem()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-19 09:39:54 +00:00
Stephan Aßmus b0cdd6481d synced to 1.17 from OpenTracker CVS (fixed a deadlock when dragging something over Deskbar)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 17:08:26 +00:00
Stephan Aßmus 3702e4734e synced to 1.8 from OpenTracker CVS
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 17:07:41 +00:00
Stephan Aßmus 2c7fad579c synced to rev 1.9 and 1.4 from OpenTracker CVS
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 17:02:25 +00:00
Stephan Aßmus a2a6a329e8 a bunch of ListView fixes:
* removed weird stuff that seemed to have no purpose in life
* added more comments where I had to figure things out
* fWidth is now adjusted in FrameResized()
* ListView scrolls up when items are removed at the end and
  there would be empty room
* fixed SwapItems(), MoveItem() and ReplaceItem() by making
  DoMiscellaneous() use the private implementations instead
  of calling the public ones again resulting in an endless
  loop
* renamed private methods with underscore
* removed more unused/empty private methods
* some slight performance increases here and there
* more correct tracking of fFirstSelected and fLastSelected,
  at least I cannot reproduce one crash in the WonderBrush
  Layer list anymore

even more cleanup and testing would not hurt though...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 00:12:14 +00:00
Stephan Aßmus fb36570967 * added a simple seeking slider for Marcus to play with...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-08 19:18:19 +00:00
Stephan Aßmus 19f441e575 the drawing code was optimized for bugs in Painter, no longer
necessary


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 09:04:14 +00:00
Stephan Aßmus 65abd9dff0 * Painter switches back correctly from using B_OP_COPY for text to
using the "normal" B_OP_COPY for lines and such that works more
  like B_OP_OVER actually (for example, the slider in VLC will look
  much better, but also other stuff)
* combined Stroke and FillEllipse() into DrawEllipse() and fixed
  some longstanding issues, ellipses are now correctly placed
  (aligned) and of the correct size
* removed locking in the DrawingEngine drawing functions, since
  you need to have the DrawingEngine locked anyways for the
  clipping to stay what it is (and that's already the case elsewhere
  in the code)
* simplified ConstrainClippingRegion, the NULL version was never
  useful and also locking is removed, see above

summary: slight speed improvements, cleanup and bugfixes...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 09:03:09 +00:00
Stephan Aßmus e6b19d1f40 removed unnecessary call to ConstrainClipping(), the drawing functions that take a color are reserved for the server and ignore clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 08:56:59 +00:00
Stephan Aßmus ee24641fee removed large chunks of dead code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 08:55:28 +00:00
Stephan Aßmus 7e07723e68 added tracking the usage of the special B_OP_COPY version for text
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 08:54:15 +00:00
Stephan Aßmus 022cdecc8f simplified polygon and bezier drawing methods, made them more efficient
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 20:34:27 +00:00
Stephan Aßmus d96389c199 fixed BView::Stroke/FillPolygon(), the bounds were not converted to screen and the clipping decision was based on it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 20:33:18 +00:00
Stephan Aßmus a9efee3047 * removed left over debug output, sorry about that
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 11:09:37 +00:00
Stephan Aßmus 6a8e3decde * compile fix for the test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 11:08:52 +00:00
Stephan Aßmus d6aecd8934 should have fixed BView::StrokeBezier() and BView::FillBezier(), thanks to jan__64 for reporting
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 10:08:23 +00:00
Stephan Aßmus e1fcb5e4b8 added Carwyn Jones to the list of contributors, he seems to have been involved in writing BDirectWindow
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-01 10:18:52 +00:00
Stephan Aßmus 114752ff21 In FFM mode, clicking a window will not bring it to front
immediately. Only if the mouse is released within a certain
time window (half a sec) and if it was not dragged (as on R5).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-01 10:17:34 +00:00
Stephan Aßmus e647873a03 implemented TODOs from Desktop::ActivateWindow():
* If the window is on another workspace, the workspace will be
  activated or the window will come to the current workspace
  or nothing will happen depending on the windows flags. Tested
  with WonderBrush, but I just now realise that it will also
  fix activating a window in the Deskbar, which is on a different
  workspace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-01 10:14:51 +00:00
Stephan Aßmus aaff012f00 Rudolf convinced me to enable WaitForRetrace() again, the ATI driver should be fixed instead (not to export the retrace semaphore when interrupts are disabled)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-30 10:48:02 +00:00
Stephan Aßmus 4da35ea940 * added IFS screen saver
* added Installer app
* added all Translators


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 20:14:26 +00:00
Stephan Aßmus 1224ddd152 whoops, accidentally had a broken makefile left there
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 20:10:51 +00:00
Stephan Aßmus bc679b6077 added a cool looking xscreensaver port, featuring BDirectWindow usage - looks smoother than the original
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 20:08:44 +00:00
Stephan Aßmus a075725845 another long overdue fix... CopyBits() is now taking
children of the view in question into account. Neither
are they included in the region being copied, nor are
views overdrawn by the copied contents. Also, the update
region is calculated from the region having been copied,
so that holes from children views are invalidated
correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 18:19:54 +00:00
Stephan Aßmus 5ec797a76f * improved getting the retrace semaphore, now the PrivateScreen
will not try to retrieve the retrace semaphore again and again
  if the graphics cards doesn't support it for some reason
* disabled BScreen::WaitForRetarce() for now, since it will just
  hang on ATI Radeon at least


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 16:46:21 +00:00
Stephan Aßmus 9ac741b2d2 * small cleanup in AS_DIRECT_WINDOW_GET_SYNC_DATA
* added handling of AS_DIRECT_WINDOW_SET_FULLSCREEN
  (returns B_ERROR for now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 16:40:29 +00:00
Stephan Aßmus 9d8ea7e417 modestly added myself to the authors of View.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 16:37:10 +00:00
Stephan Aßmus f87b5b9803 long overdue fix for BScrollBar. fValue is now set in SetValue()
instead of ValueChanged(). This fixes BScrollBar implementations
which don't call the inherited version of ValueChanged(). All kinds
of weird behaviour seems to be fixed by this: StyledEdit window
resizing, scrolling in Pe, WonderBrush, eXposer and maybe more.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 16:36:31 +00:00
Stephan Aßmus a1a536495a corrected slightly weird passing on of flags to the BControl constructor
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 16:34:10 +00:00
Stephan Aßmus 2e964229ed removed a tiny bit of code duplication
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-29 16:31:59 +00:00
Stephan Aßmus 109d4881b5 changed translator name to JPEG[2000] Images to be in line with all the other image translators
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-27 22:42:15 +00:00
Stephan Aßmus c98821ac71 * added GUI classes for the transport control panel implementation
* as noted by the headers, these originate from Be Sample Code or
  code that was written by myself alone for VLC (they have been
  updated in the meantime though)
* seek slider is missing yet as well playback position info view
  (could be taken from VLC as well, I still have the implementation
  that contains only my own code)
* fixed application quitting when only one of multiple player
  windows is closed (not it quits when the last player is closed
  or MediaPlayer->Quit is selected from the menu)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-24 16:49:19 +00:00
Stephan Aßmus 3ca1310ac7 * cleaned up and optimized a lot setting the font in Painter and
AGGTextRenderer (when switching the DrawState for font stuff)
* removed unused stuff from the font signature generation that
  is used to synchronize the font cache
* finally nailed that bug that made glyphs of the wrong size appear
  within lines of text (the problem basically was that outside code
  messed with the freetype library instance while our glyph cache
  thought the library was last setup by itself)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-23 21:50:05 +00:00
Stephan Aßmus 9d35303f63 added a "reset()" function so that kerning can start clean
and has no left overs from a previous text run


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-23 21:45:20 +00:00
Stephan Aßmus 8087170c53 * a bit of code clean up
* some fixes to make screen_blanker wait_for_thread() instead of
  killing the screen saver thread, BScreenSaver::Stop() is now called
  as well as its destructor


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-22 20:18:52 +00:00
Stephan Aßmus bc692d448e encoded Jérôme in UTF8
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-22 20:16:13 +00:00
Stephan Aßmus 3a8e8e427b * Archive() should have been broken, because it didn't add the
class name. Also returns the actual error from the
  BMessage::AddData() if there was any. Please people, correct
  code like that if you spot this elsewhere and don't write
  such code anymore.
* the BMessage constructor should be more robust.
* the copy constructor takes the possibility into account
  that BitsLength() does not match.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 10:14:35 +00:00
Stephan Aßmus 0c4d8bc572 * added TODO in DragMessage about using an area for the message
* removed TODO in DragMessage about reference counting, since
  it already happens
* use _FlushIfNotInTransaction when moving/resizing a view
  programmatically, so that it usually happens instantly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 10:09:53 +00:00
Stephan Aßmus 2fdf723b60 * replaced BeOS logos in boot disk and BeOS folder icon with
a (hopefully) cute rocket. It's not quite as readible as
  the other overlays, so I might work on it some more. Also
  note that it is a manned rocket, as per the window, so I
  hope it cannot be mistaken for a missile. :-)
BTW - talk about self contained development, the icon was
done on Haiku!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 10:07:13 +00:00
Stephan Aßmus dd98ed8dfc * implemented view bitmap options (B_BITMAP_TILE...) in
ViewLayer (for example, fixes NetPositive rendering
  HTML with a background image)
* use BRegion pool everywhere in ViewLayer
* WindowLayer update sessions distinguish between
  different reasons for the update: exposed and requested -
  on expose updates, the view backgrounds are cleared
  immidiately (as on R5), to keep the time previous stuff
  keeps showing as short as possible, while on requested
  updates, the background clearing is delayed until the
  client draws something, to keep the time until the client
  fills a view with content as small as possible to reduce
  flickering (might need more work, could be buggy yet)
* HWInterface and DrawingEngine support delayed syncing to
  the graphics hardware at least for FillRect/Region. The
  speed up gained by this is minor though.
* HWInterface cursor rendering uses a bit of rounding to
  avoid the slight transparent shadow around the cursor
  (I don't know if it is fully correct though, at least the
  shasow disappeared)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-19 14:12:57 +00:00
Stephan Aßmus 8165fa3936 * fix bug 414 by Sync()ing in UpdateIfNeeded() to make
sure all messages that could trigger an update have
  actually arrived at the server
* small clean ups here and there, some clarifications in
  comments
* check for the return value of Lock() in DisableUpdates()
  and EnableUpdates()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 20:42:22 +00:00
Stephan Aßmus b57f2b537e * added handy BBitmap::Flags() method
* added NOTE to BBitmap::LockBits(), has anybody some insight into this?
  Otherwise we need to write a test app to discover its secrets... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-13 13:15:00 +00:00
Stephan Aßmus b6a33e1d41 * removed the special font renderer which was actually
the same as the normal one (one less renderer to update
  the color of)
* added a special B_OP_COPY implementation for text, which
  is in fact what the implementation was until now, so
  just like on R5, you have to specify the correct low color
  or you will see artifacts for the anti-aliased pixels
* implemented B_OP_COPY just like B_OP_OVER (only it draws
  the low color too like it should). So all apps that
  used B_OP_COPY to draw anything can continue to do so
  without having to worry about the low color, it will
  be anti-aliased against the actual background instead of
  the low color (which made especially no sense when drawing
  with the low color). Although this change makes it a bit
  slower to use B_OP_COPY, Haiku is now much more compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-12 21:02:59 +00:00
Stephan Aßmus 196144a56c the dark border is now drawn without holes at the edges, as on R5, also fixed the BBox being used as separator, like NetPositive does
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-12 16:51:40 +00:00
Stephan Aßmus f775a1fea7 forgot to remove debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-11 21:15:41 +00:00
Stephan Aßmus a5a38476ea fixed a couple of issues, but lots of work remains, doesn't crash with up side down BMPs in Windows format anymore... could someone provide me with a BMP that actually uses the alpha channel? I could not make one in Windows with Adobe Photoshop Elements.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-11 21:11:44 +00:00
Stephan Aßmus a089120898 enabled the crisp hinter for now... before release, we might have to reevaluate the patent issue thing... anyways it just looks SOOOOO much better now, I couldn't resist. You need to jam -a libfreetype.so, because a changed header doesn't trigger it (headers are included via MACRO in freetype)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-10 22:37:30 +00:00
Stephan Aßmus 995303fab0 synced with rev 1.11 from OpenTracker cvs, ignore read only volumes when building the navigation menu for the unified Trash folder
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-08 16:56:38 +00:00
Stephan Aßmus 39c9925fcf * implemented a BRegion pool per WindowLayer which is supposed
to cut down on BRegion related allocations, cannot really tell
  if it speeds things up
* used the new BRegion pool in WindowLayer and ViewLayer whereever
  a BRegion was used on the stack
* fixed the debugging stuff in MultiLocker - it will get you into
  the debugger if you
    - try to nest read locks
    - try to write lock when your are a reader already
    - don't match up nested locks when your a writer
    -> but only if you #define DEBUG 1 in the .cpp, is off by default now
* went over WindowLayer, ServerWindow, Desktop and a few other places
  and fixed the locking for use with the MultiLocker, the "a reader can
  not become a writer" is especially tricky, feel free to review the
  changes
* activated the MultiLocker, I tested this quite a bit, if there are
  problems simply turn on DEBUG and you should drop into the debugger
  right where the problem is... hope all is good


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-07 19:14:25 +00:00
Stephan Aßmus 835a7ebdf0 no need to contact the server for this, transaction means that drawing commands are not immediately flushed, which is handled entirely on client side
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-07 19:04:51 +00:00
Stephan Aßmus b9e275a6a5 app_server remembers the font settings now
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-01 22:03:44 +00:00
Stephan Aßmus 600fbd78e4 * BView::FillRegion() sends the BRegion data instead of decomposing
it and rebuilding it on the server side (that causes a huge speed
  up for regions containing many rects)
* There is a method in ServerLink that could have been used, but I
  actually needed to add the direct BRegion support to LinkReceiver
* added LinkReceiver as a friend to BRegion class
* ServerApp and ServerWindow keep the CursorManager locked after they
  have retrieved a cursor until they have called Acquire() on the
  cursor. (Axel: what good is using atomic* stuff in Acquire() and
  Release() if we have to protect this by a lock anyways?)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-01 16:56:10 +00:00
Stephan Aßmus b22badf221 added TODO comment about writing an AGG Vertex Source for BShape data
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-01 16:49:18 +00:00
Stephan Aßmus 5d0c78f416 skip hardware acceleration for small regions, should speed up rendering of small regions in the same way it helped small rects
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-01 16:48:28 +00:00
Stephan Aßmus 306e92084c * small cleanup of Draw (less usage of ui_color() which currently
takes a trip to the server!)
* changed look of mark and submenu symbol to better fit the rest
  of the already changed controls
* the actual background color is passed to DrawMarkSymbol() and
  DrawSubmenuSymbol()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-27 18:20:06 +00:00
Stephan Aßmus cc7c040b56 * Renamed occurrences of "Reboot" to "Restart".
* Added TODO regarding the mismatch of shutdown phase names, comments,
  and the actually executed actions. The phase names and comments say that
  the background apps are terminated before the non-application processes,
  while in reality things are done the other way around. I suppose the
  latter order is correct though.  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-27 12:05:40 +00:00
Stephan Aßmus 2297a36b5b * added functions to improve binary compatibility with old apps
-> Guido (for which there is source available though) is now
  running fine on Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-22 20:33:02 +00:00
Stephan Aßmus 4ec7e19751 * fixed filling B_CMAP8 bitmaps with white (255 was the wrong
color index)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-19 22:35:20 +00:00