screen mode, and let's you move the window off screen without too many problems
(if you'll move it off screen to the left side (or top), then you won't see the
contents you'd expecting).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17368 a95241bf-73f2-0310-859d-f6bbb57e9c96
mode), but you have to set the scaling UV registers in order to have correct
overlay.
* In other words, overlay is working now! There are still issues with it, which
can probably be attributed to missing bounds checks (the screen goes black
when you leave full-screen mode in VLC - but not if overlay just stops).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17365 a95241bf-73f2-0310-859d-f6bbb57e9c96
in that we try really hard to let it succeed. If setting the desired mode failed,
we now try almost anything to get a working mode.
Since the kernel also knows the VESA mode, maybe we should better ask that one for
the current mode, as most drivers probably haven't got B_GET_DISPLAY_MODE implemented
in the we're using it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17355 a95241bf-73f2-0310-859d-f6bbb57e9c96
safe in the sense that it no longer clobbers fDisplayMode in case B_GET_DISPLAY_MODE
fails. This fixes bug #564 resp. #566.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17353 a95241bf-73f2-0310-859d-f6bbb57e9c96
disconnected (so that you can still just call ShowCursor() to have it back,
in case you want that).
* Rewrote WindowScreen.h.
* Cleanup, removed unused variables, renamed private methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17349 a95241bf-73f2-0310-859d-f6bbb57e9c96
an array with 3 byte per color only - this fixes the page_flip demo as part of
the sample code.
* Renamed mode2parms() to get_mode_parameter(). Also, it will now return "false"
on unknown mode values so that SetSpace() will fail instead of setting some
random mode.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17348 a95241bf-73f2-0310-859d-f6bbb57e9c96
really changed - this fixes bug #519.
* Archiving the object now returns an appropriate error message if something
goes wrong (instead of B_OK).
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17347 a95241bf-73f2-0310-859d-f6bbb57e9c96
This fixes bug #558; Cortex floating windows have the B_AVOID_FOCUS flag set.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17341 a95241bf-73f2-0310-859d-f6bbb57e9c96
* As suggested by Korli, the signal is now encoded in the "reason" field of
wait_for_child().
* waitpid() now sets the status passed in so that the signal can be read out
(but it still doesn't do it's full job).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17338 a95241bf-73f2-0310-859d-f6bbb57e9c96
will waste some memory (as the data will be cached twice), but unlike BeOS, it cannot
deadlock the cache, so it's safe to be used. In other words, mounting images is now
working as expected.
* a BFS FATAL() condition no longer results in a KDL; this seemed to confuse anybody :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17336 a95241bf-73f2-0310-859d-f6bbb57e9c96
of the one supplied to fs_mount() (but not the /dev/disk/virtual/... entry, as that
wouldn't be that clear to the user).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17335 a95241bf-73f2-0310-859d-f6bbb57e9c96
scan job in the calling thread).
* KDiskDeviceManager::InitialDeviceScan() now runs synchronously, so that
get_boot_partitions() doesn't need to do this ugly wait hack.
* KDiskDeviceManager::CreateFileDevice() can now run synchronously as well, which
fixes a deadlock in fs_mount() - note, mounting file devices still doesn't work,
though as Haiku's BFS doesn't allow this right now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17334 a95241bf-73f2-0310-859d-f6bbb57e9c96
* _ReadLock() will now fail with B_NO_MEMORY in case the ReadLockInfo couldn't
be created.
* Note, due to a design bug, we cannot guarantee that a previous read lock
can be reestablished after releasing a write lock in case of low memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17332 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The overlay options as part of BView::SetViewOverlay() are now passed over
to the graphics driver - looks like the color key stuff cannot be turned
off (at least not via the Be API).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17323 a95241bf-73f2-0310-859d-f6bbb57e9c96
fixed now). Tested overlay color keying okay in all supported color spaces.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17321 a95241bf-73f2-0310-859d-f6bbb57e9c96
method should return the correct value before the accelerant is cloned.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17318 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fOldMode is now set to the current display mode.
* Now checks semaphore creations and memory allocations for failure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17317 a95241bf-73f2-0310-859d-f6bbb57e9c96
the Intel chip obviously cannot do overlays in B_RGB16 - even though it pretends
to be able to do that.
* B_YCbCr422 seems to work, though, I haven't tested any other spaces for now, and
I somewhat doubt they will work. It's all green, though, and the scaling doesn't
seem to be correct - that we be solvable, though :)
* There aren't any bounds checks (so don't move the window out of the screen), and
also the overlay_view offsets are ignored.
* Scaling and moving is now detected, and there is always as little work done as
possible to reduce the workload on buffer switches (the most common case).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17315 a95241bf-73f2-0310-859d-f6bbb57e9c96
area failed.
* "base" is no longer used uninitialized in combination with B_BASE_ADDRESS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17304 a95241bf-73f2-0310-859d-f6bbb57e9c96
lsb to msb).
* The result is that there is now *something* to see when overlay is turned on. In
fact the whole screen goes dark besides a few pixels on the top - now isn't that
something? :-)
* The overlay is also turned off again correctly - which also revealed a bug in our
app_server: B_CONFIGURE_OVERLAY is not always called with window=NULL/view=NULL
to turn off overlay (might be an incorrect handling of BView::ClearOverlay()).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17300 a95241bf-73f2-0310-859d-f6bbb57e9c96
B_GET_ACCELERANT_CLONE_INFO (as that's what the caller actually wants).
Unfortunately, it's currently hard-coded to path names, that is, if there
is a driver out there that doesn't follow this quasi standard, it will
break this mechanism.
We should either change the driver interface to explicetly use path
names, or change the mechanism we're using (in BWindowScreen upwards to
the app_server) to the one as thought by Be.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17299 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made the graphics drivers/accelerants x86 only, as requested by Rudolf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17298 a95241bf-73f2-0310-859d-f6bbb57e9c96
file and put the window position there; loading/saving of the translators settings
looks broken in (or rather, missing from) the Translation Kit as well.
* Now uses the new watching mechanism of BTranslatorRoster to keep track of new
translators.
* Installing translators now gives better error requests, it now no longer uses
undocumented BTranslatorRoster functionality, but the new IsTranslator() method
to check if a certain file is a translator.
* Copying translators is disabled for now, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17292 a95241bf-73f2-0310-859d-f6bbb57e9c96
accidently.
* Additionally, B_ENTRY_MOVED worked not correctly, as the entry_ref for the
new entry was built upon the wrong node_ref.
* The default translator now also makes sure that the default system paths
exist. This helps node monitoring as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17291 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Rewrote broken _FindPreviousNavigable() - it now does the exact opposite of
_FindNextNavigable().
* Both methods did not ignore hidden views - they now do.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17287 a95241bf-73f2-0310-859d-f6bbb57e9c96
when called with interrupts turned off, get_memory_map() will now call the new
vm_translation_map_ops::query_interrupt() call.
Under PPC, this is trivial (at least right now), but on x86 we need to make sure
we have access to the page table entry, ie. we need to create an area that points
to its own page table entry, so that we can map in the page table entry containing
the address we're looking for. It's not really nice, feel free to come up with
a cleaner solution :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17280 a95241bf-73f2-0310-859d-f6bbb57e9c96
always call all handlers in this case, but we still try to return the correct
return code (ie. B_HANDLED_INTERRUPT and B_INVOKE_SCHEDULER).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17278 a95241bf-73f2-0310-859d-f6bbb57e9c96
the interrupt handlers, not before (like we do for edge triggered ones).
This should prevent hardware from issuing a second interrupt when the software driver
is still busy handling the first.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17276 a95241bf-73f2-0310-859d-f6bbb57e9c96
work correctly when on power supply (ie. when running at full speed). Turns out we
misdetected a spurious interrupt on line 15 - we now ignore them completely which
seems to fix that problem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17275 a95241bf-73f2-0310-859d-f6bbb57e9c96
translators are installed via BTranslatorRoster::StartWatching().
* Fixed GetTranslatorData() - some hooks are only optional (this puts the
JPEG, GIF, and some other translators back into the game).
* Made BTranslatorRoster::Default() thread-safe.
* Improved documentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17267 a95241bf-73f2-0310-859d-f6bbb57e9c96
small) up for this specific task - this will later be used for the acceleration
engine as well.
Some more work on overlay initialization, doesn't do anything yet, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17254 a95241bf-73f2-0310-859d-f6bbb57e9c96
class, and only wraps around that one.
* Translating is no longer serialized, you can translate more than one object
at a time now.
* A BTranslator that is released (ie. deleted) will no longer let its BTranslatorRoster
crash.
* Removed BTranslatorRoster::Version() - this kind of call definitely makes no
sense at all. It's still exported from the sources, though, for backwards
compatibility.
* Simplified and improved code.
* Images are now unloaded only once.
* Added new method IsTranslator() that will be used by the DataTranslations preferences
application.
* Began implementing new methods StartWatching()/StopWatching() that will notify
you if new translators are installed or old ones removed (this will also be used
by DataTranslations once it's ready).
* The private BTranslatorRoster class will now add itself to the existing BApplication,
in order to provide automatic updating of the translators if needed (not yet implemented
though).
* Not heavily tested yet, there might be some regressions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17247 a95241bf-73f2-0310-859d-f6bbb57e9c96
no longer needs to lock address space hash table - that also makes the lookup much
faster, too (and a direct pointer is used instead of a hash lookup).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17246 a95241bf-73f2-0310-859d-f6bbb57e9c96
This fixes bug #407.
* The OpenWindow was not really font-sensitive (fixed window size).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17245 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The overlay register update buffer is now created and exported, ready
to be used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17244 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The Decorator are temporarily using ui_color() - this needs to be changed
to use the DesktopSettings (when the decorator stuff gets refactored); right
now, the colors are fixed.
* Added B_WINDOW_TEXT_COLOR, B_WINDOW_INACTIVE_TAB_COLOR, and
B_WINDOW_INACTIVE_TEXT_COLOR to the UI colors, B_WINDOW_TAB_COLOR is no
longer deprecated. Note, however, that not every decorator may use these
colors.
* Removed unused and wrong (ie. hard-coded paths) stuff from ServerConfig.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17236 a95241bf-73f2-0310-859d-f6bbb57e9c96
read-only area shared between the Desktop and all applications.
* Right now, this area only contains the desktop colors, ie. B_PANEL_BACKGROUND_COLOR
etc.; ui_color() no longer needs to ask the server for these colors.
* The ui_colors are now maintained by DesktopSettings, though ColorSet is still there.
* The default colors are now hardcoded once and for everyone in InterfaceDefs.h, ie.
the app_server uses them as well.
* Desktop::Init() can now also return an error (but that is not yet accounted for).
* Cleaned up InterfaceDefs.h.
* Fixed wrong include in moreUTF8.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17232 a95241bf-73f2-0310-859d-f6bbb57e9c96
least in theory, that should still contain the error from an earlier operation).
This might fix bug #500.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17228 a95241bf-73f2-0310-859d-f6bbb57e9c96
of graphics memory is now possible.
* Changed driver name to start with "intel_extreme" to have a nicer device
name.
* Renamed frame_buffer* stuff to graphics_memory* as the frame buffer just
happens to be located somewhere in the graphics memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17224 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The functions now check the acquire_sem() result.
* mem_freetag() will return an status code now, too.
* Moved the mem_block and mem_info definitions into the source file; no
reason to have them public.
* You can now give the memory manager a name which it will use for its
heap area and lock.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17221 a95241bf-73f2-0310-859d-f6bbb57e9c96
that application quits; this just prevented us to see who the culprit is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17213 a95241bf-73f2-0310-859d-f6bbb57e9c96
source file.
* An overlay is now also hidden in case its is removed from the window.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17209 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
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
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
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
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
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
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
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
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
* 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
* 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
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
* Nicer separation from RefreshSlider.
* Got rid of the RefreshView class (a BStringView does its job now).
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17147 a95241bf-73f2-0310-859d-f6bbb57e9c96
To reduce the number of calls to UpdateText(), the value returned is now
buffered. This fixes bug #443.
* SetValue() now calls UpdateText() and also invalidates the region where
that label is drawn.
* In asynchronous mode, B_NO_POINTER_HISTORY is set now for tracking.
* Increased minimum snooze time in synchronous mode.
* Minor cleanup, renamed fMinLimitStr to fMinLimitLabel, etc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17146 a95241bf-73f2-0310-859d-f6bbb57e9c96
as stated in the BeBook - this fixes bug #458 as Tracker directly compared
with that error code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17144 a95241bf-73f2-0310-859d-f6bbb57e9c96