The Interface Kit
Developer Release Notes
BeOS Release 4.5
|
Bug Fixes
- A number of line drawing bugs
(poor bezier curves, poor horizontal lines,
disappearing lines) have been fixed.
- You can hide the cursor during a drag and drop, and
it will remain hidden
(during the drag).
- Dragger context menus are sticky.
- BFont::BoundingBoxes() no longer
deadlocks the App Server.
- Matrix menu behavior has been improved.
- Scrollbars now behave properly no matter how fast or how determinedly
you click them.
-
BStringView::GetPreferredSize() now reports reasonable values.
- BTextControl labels are repositioned correctly when the control is resized.
- BTextControls can be made non-navigable.
- Newlines are removed from text that's pasted into (or otherwise
adopted by) a BTextControl.
- In some situations, floating windows would block the focus of the
windows they were floating above.
This has been fixed.
- Floating windows are no longer minimizable.
- The B_WORKSPACE_ACTIVATED message (and the analogous
WorkspaceActivated() hook function) is sent to
B_ALL_WORKSPACES
windows that are dragged between workspaces.
BBitmap
BDragger and the Replicant System
Drag and Drop
- The "buttons" int32 field, which
encodes the states of the mouse buttons, is
automatically added to
the BMessage that's passed to BView::DragMessage().
The drag target can look at this field in the dropped message to see which mouse button
was used in the drag.
BFont
- The SetFamilyAndFace() and
SetFamilyAndStyle() functions now return a
status_t.
The returned value tells you if the requested family/face or
family/style combination maps to an actual font.
If the function returns a value other than B_OK,
the combination doesn't map and the font isn't changed (as before).
BPopUpMenu
- Asynchronous pop up menus can now destroy themselves after they're done --
just pass true to the new
SetAsyncAutoDestruct()
function.
The request is ignored if the object isn't set to run asynchronously
(as declared in the Go() function).
void SetAsyncAutoDestruct(bool state);
bool AsyncAutoDestruct(bool state) const;
|
BPrintJob
-
New
B_PRINTER_CHANGED
message is broadcast by
the Print Server to all running applications
when the user changes the default printer.
Applications that print
should
delete any print setup messages that they have acquired through
Settings() when they
receive this message.
A "safety net" in BPrintJob should catch the printer
change if
the application doesn't.
BRegion
- The new clipping_rect
structure represents an integer-based rectangle.
In many cases, this integer rectangle is more efficient than the
floating-point version.
-
Many of the BRegion functions now appear in versions that accept or
return clipping_rect data.
BScreen
BScreen
-
A new version of
SetDesktopColor()
takes a workspace index as its
second argument, thus letting you specify the workspace
that you want the color applied to:
void SetDesktopColor(rgb_color rgb, uint32 index,
bool stick=true);
|
-
New DesktopColor()
returns the color of the desktop with the given index, when
the user has a Workspace with multiple desktops:
rgb_color DesktopColor(uint32 index);
|
BWindow
- BWindow responds to
the new B_WINDOW_MOVE_TO and
B_WINDOW_MOVE_BY messages.
See System Messages for more info.
- Floating windows are no longer minimizable.
-
Bounds() and
Frame() no longer query
the App Server.
The BRects they return are
maintained by the BWindow object in an up-to-date form.
Mouse Warping
Declared in InterfaceDefs.h
-
The new set_mouse_mode()
function sets the mouse's focus-following and "warping" characteristics:
void set_mouse_mode(mode_mouse mode);
|
The function takes a combination of the new
mode_mouse modes:
Mode | Meaning
|
---|
B_NORMAL_MOUSE
| Don't follow focus, and don't warp.
|
B_FOCUS_FOLLOWS_MOUSE
| Follow focus, but don't warp.
|
B_WARP_MOUSE
| Warp (slide) to a newly active window.
|
B_INSTANT_WARP_MOUSE
| Instant warp (jump) to a newly active window.
|
Currently, the warp modes automatically turn on focus-follows-mouse; this may
change someday.
- To retrieve the current mouse mode, use the new
mouse_mode() function:
|
|
The set_mouse_mode()
and mouse_mode()
functions obsolete the old
set_focus_follows_mouse() and
focus_follows_mouse() functions (the old functions
are still supported).
|
|
|
Setting the mouse mode is normally
left to the user (through the Mouse preference).
|
Copyright ©
1999 Be, Inc. 
All rights reserved.