Commit Graph

14259 Commits

Author SHA1 Message Date
Axel Dörfler
f7c7883b9f * We now have working video overlay - even though the overlay_token handling
is currently broken, mode switches probably fail or result in sudden death
  (didn't try) it's good enough for Radeon cards and VLC (might work with
  others as well).
* Implemented follow modes for view bitmaps (wasn't taken into account at
  all before).
* Switched to a darker overlay color for now (dunno what exactly makes a
  good candidate there, but this one is good enough for now).
* Added TODO about a race condition in AS_LAYER_SET_VIEW_BITMAP.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-23 14:28:48 +00:00
Jérôme Duval
ef9c8e384d fixes some font sensitiveness issues
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-23 12:34:13 +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
Stefano Ceccherini
05e515d56c hopefully improved menu tracking. Among other things, this fixes bug 461
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-22 17:56:21 +00:00
Rudolf Cornelissen
34108ddc58 fixed OVERLAY_SUPPORTED_SPACES hook. Thanks axel for reporting. Fixed in all my drivers :) Note that this doesn't change the workings of the drivers on current versions of BeOS, since this hook is never called.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-22 17:27:09 +00:00
Axel Dörfler
21c8c925d8 * With Rudolf's information about relocating overlays, I changed the way memory
is managed for those bitmaps:
  - the shared client memory mechanism is used to allocate a small overlay_client_data
    structure that contains the actual buffer and a semaphore that you have acquire in
    order to access it.
  - LockBits()/UnlockBits() now have a function: you need to call them before accessing
    the overlay buffer, and you need to keep that lock until you're done with it.
* The overlay cookie is now an extra member of the ServerBitmap class.
* Removed fInitialized from ServerBitmap - IsValid() now just checks the buffer associated
  with the bitmap.
* ViewLayer::Draw() will now handle overlay bitmaps specially and will draw the overlay
  color instead of any contents (this is currently in ugly pink, but will become some
  dark color later on).
* All what's missing from actually being able to use overlays now is to configure
  them so that they are shown on screen. VLC will now show an empty pink window when
  overlay video is enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-22 16:41:12 +00:00
Axel Dörfler
704c03b9e6 Got rid of that unused and superfluous TokenSpace callback stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-22 16:29:44 +00:00
Axel Dörfler
9b2a903688 Fixed bug #522 by removing the ScrollBar preferences application - you'll just have
to live with the default settings (which hopefully have *two* arrows per side, though,
won't they, Stephan? :-))


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 22:46:21 +00:00
Axel Dörfler
f33610f874 Fixed number 1 (or the only one? ;-)) crashing bug #306 in the app_server:
Since ServerWindow removed itself from its ServerApp in _PrepareQuit(), it could
happen quite easily that the ServerApp was deleted before the ServerWindow - and
since deleting WindowLayer as part of that referenced the ServerApp, it crashed.
Now, adding/removing is both done by the ServerWindow in Init() respectively
the destructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 22:43:23 +00:00
Axel Dörfler
aca37fccb5 Removed the check for B_SUPPORTS_OVERLAY in display_mode on bitmap creation - the
current display_mode doesn't matter, only the one where the overlay is shown later
does.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 21:19:15 +00:00
Axel Dörfler
68bf2de593 * Refined overlay support a bit: we now allow as many overlay bitmaps to be
created as the graphics driver does.
* Also, B_BITMAP_RESERVE_OVERLAY_CHANNEL should now work as expected.
* We're no longer using the B_OVERLAY_COUNT hook anymore - that one really
  looks like a misconception to me; I don't see how it can be useful.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 21:13:11 +00:00
Rudolf Cornelissen
12f6a76d9a removed two ID's from VIA kerneldriver: those where no graphics adapters after all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 20:51:23 +00:00
Rudolf Cornelissen
20e13cf709 removed two ID's from VIA accelerant: those where no graphics adapters after all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 20:50:55 +00:00
Axel Dörfler
37b502f28b Implemented some more overlay support - the overlay bitmap is now allocated
via the graphics driver (but not yet shown on screen).
I probably got the meaning of the "overlay count" wrong - I guess that you
can allocate any number of overlay bitmaps, but can only see "overlay count"
on screen at a time (right now, I only allow to create "overlay count" bitmaps).
Stephan?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 20:14:41 +00:00
Rudolf Cornelissen
2e16ba2acc updated skeleton, neomagic and VIA driver to export lower case kerneldriver names for the /dev/ hierarchy. It turns out R5 and dano convert upper case to lower case names, while Haiku just literally uses them... Now fixed inside these drivers by using lowercase instead of uppercase. 'Bug' reported by John Drinkwater.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 19:48:39 +00:00
Jérôme Duval
4fdedfbde4 fixed some Archive() following stippi's path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 15:07:09 +00:00
Stefano Ceccherini
59d1b7be9d It's a good idea to snooze AFTER we've checked the possible exit conditions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 11:33:02 +00:00
Jérôme Duval
11d7ecebd0 fixed some Archive() following stippi's path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 11:21:53 +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
Jérôme Duval
966bf92369 removed excess NULL element
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 09:45:35 +00:00
Ryan Leavengood
61ddc257d2 Fixes to ShowImage:
1. Renamed the Image menu items "Mirror Vertical" and "Mirror Horizontal" to "Flip Sideways" and "Flip Upside Down", respectively. This also involved changing the code to match the new names, for consistency.
2. Fixed a bug where zooming in and out would result in the image moving off center. This was due to the bitmap width and height not being recalculated after applying the zoom factor and therefore throwing off the calculations to find the rect for the center.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 04:24:07 +00:00
Stefano Ceccherini
48688dcd5f Fixed a bug in menu tracking: in some cases you had a goal of 1 pixel when trying to enter a submenu ( http://flickr.com/photos/johndrinkwater/131805244 )
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-20 20:56:57 +00:00
Jérôme Duval
a445243cff B_COLOR_8_BIT is deprecated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-20 20:02:27 +00:00
Jérôme Duval
111e803ad3 update from tzdata2006d
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-20 16:12:48 +00:00
Axel Dörfler
b2debb3777 Activated sigprocmask() (and really call the kernel syscall instead of itself...).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-20 12:24:39 +00:00
Stefano Ceccherini
f274fa345d click_to_open now is always true, and cannot be disabled
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-19 20:19:51 +00:00
Stefano Ceccherini
b03deb09db Menu settings are now handled by the app_server. As a result, changing them does something, although they aren't saved to disk yet. 'click_to_open' is not checked anymore, because it was useless anyway, I'll remove it from the Menu preflet too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-19 20:04:19 +00:00
Jérôme Duval
77214f9012 when filtering, we now use GuessMimeType() so that files without BEOS:TYPE set can be scanned as well (the type provided in Filter() is application/octet-stream in this case on R5)
when selected, we only use GuessMimeType() when the type isn't found


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-19 15:28:42 +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
Axel Dörfler
99f695c9a5 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-19 10:24:14 +00:00
Stefano Ceccherini
f90a951e32 The previous commit was obviously incorrect, as the window wasn't updated anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-19 08:23:38 +00:00
Stefano Ceccherini
422ce5d4bc the synchronous version of BSlider::MouseDown() now discards old message events
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 21:19:53 +00:00
Stefano Ceccherini
1b5b2e4c35 MenuItems don't flicker anymore when a submenu opens (fixes bug 484). Implemented popupmenu's 'clickToOpenRect' feature, used by tracker's dirmenus, for example (fixes bug 523
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 20:32:10 +00:00
Jérôme Duval
bb55c479b8 B_COLOR_8_BIT is deprecated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 20:11:35 +00:00
Jérôme Duval
c228b1689c B_COLOR_8_BIT is deprecated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 20:07:03 +00:00
Axel Dörfler
4827dbe47a Fixed a bug in the VFS that could cause BFS to corrupt an inode:
dir_remove() did not normalize the path, and thus, could forward a "." as
name for the removed directory - which BFS didn't catch because it assumed
our VFS would work correctly...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 17:40:27 +00:00
Axel Dörfler
cbdbfd3a80 Implemented Switcher support in BWindow - doesn't yet work correctly for some
reason, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 16:27:09 +00:00
Axel Dörfler
90984a161a * Renaming or moving a directory within the known font directories is now
handled correctly.
* The path of moved styles is now updated (also when their parent directories
  are moved).
* FontManager::_AddPath() can no longer crash when you leave the _newDirectory
  parameter set to NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 15:14:10 +00:00
Axel Dörfler
a88c592fb3 Instead of ending up in an endless loop, fs_sync() will now bail out in
case get_vnode() fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 14:50:36 +00:00
Axel Dörfler
fde87a1094 Instead of waiting forever, get_vnode() will now fail after 3 seconds if the
vnode is not becoming unbusy (right now it even panics, but that can be removed
later on).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 13:55:47 +00:00
Axel Dörfler
cd0ea6ff0f * Added some of the rgb_color methods from Dano/Zeta.
* The private general_info structure is now setup - that fixes a part of bug #502;
  NetPositive's bar remains black, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-18 12:14:59 +00:00
Axel Dörfler
50f6c62f4b Fixed some issues in the "keep settings" alert:
* pressing the escape key now exits the window as it should be (SetEventMask()
  was called in the constructor, but has no effect as long as the view isn't
  attached to a window).
* The window is now font sensitive (fixing bug #450).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 23:22:12 +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
Stefano Ceccherini
1da0b2498f Fixes part 2 of bug 472
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 17:48:05 +00:00
Axel Dörfler
a5c5697937 Fixed starting keyboard navigation (when no view has focus yet in which
case the window receives the keyboard message).
This fixes bug #411.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 15:58:12 +00:00
Marcus Overhagen
428dcd5b48 Copy the correct number of bytes when making a BBitmap copy. Unfortunately, this still doesn't fix Cortex drawin bug.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 15:47:08 +00:00
Stefano Ceccherini
efdd958617 BSlider locked the looper and never unlocked it anymore. Was the cause of bug 406
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-17 14:17:29 +00:00