The Be Book Release Notes Release Notes Index

The Interface Kit


Mouse Acceleration

Declared in:  be/interface/InterfaceDefs.h
more...



get_mouse_acceleration() , set_mouse_acceleration()

status_t get_mouse_acceleration(int32 *accel)
status_t set_mouse_acceleration(int32 accel)

These new functions let you get and set the "non-linear mouse speed scalar." The higher the acceleration factor, the farther the mouse travels as the user increases mouse velocity. An acceleration of 0 means the mouse's velocity isn't taken into consideration—if the user moves the (physical) mouse one inch, the cursor on-screen moves the same distance no matter how fast the user moved the mouse. The default acceleration is about 65000. The upper practical limit depends on who your mouse is, but 1000000 is probably about as high as you ever want to go.

Note that mouse acceleration is independent of mouse speed (see get_mouse_speed()). Currently, there's no user UI for setting mouse acceleration, only mouse speed.


UI Colors

Declared in:  be/interface/InterfaceDefs.h
enum color_which {
      B_PANEL_BACKGROUND_COLOR,
      B_MENU_BACKGROUND_COLOR,
      B_MENU_SELECTION_BACKGROUND_COLOR, new
      
B_MENU_ITEM_TEXT_COLOR, new
      
B_MENU_SELECTED_ITEM_TEXT_COLOR, new
      
B_WINDOW_TAB_COLOR,
      B_KEYBOARD_NAVIGATION_COLOR,
      B_DESKTOP_COLOR
      
};

The color_which constants represent the colors that are used by the Be UI. Of these colors, B_MENU_SELECTION_BACKGROUND_COLOR, B_MENU_ITEM_TEXT_COLOR, and B_MENU_SELECTED_ITEM_TEXT_COLOR are new. Use ui_color() to convert a color_which to an rgb_color.


BChannelControl and BChannelSlider

Declared in:  be/interface/ChannelControl.hnterface/ChannelControl.h
Declared in:  be/interface/ChannelSlider.h

The new BChannelControl class (which derives from BControl) is an abstract class for UI objects that want to control more than one "channel" of values, such as a stereo volume control, or an rgb slider trio. Each of the channels has its own independent value. BChannelControl values are int32.

The most important BChannelControl member functions are:

When the user manipulates a BChannelControl object, the object adds an array of int32 values (one per channel) to the "be:channel_value" field of the BMessage that's sent to the object's target.

BChannelSlider is an implementation of BChannelControl that draws a (horizontal or vertical) slider for each channel. When the user clicks or drags the control with the first mouse button, all of the channels snap to the same value and drag together. The second mouse button moves the channel sliders independently of each.


BMenu

Declared in:  be/interface/Menu.h

BMenu provides a new mechanism whereby you can track the user's movements within your menu—without having to write a BMenu subclass. Instead, you provide a "tracking hook" that's invoked whenever the mouse moves while your menu is open.


SetTrackingHook()

void SetTrackingHook(menu_tracking_hook *func, void *state)

Sets the callback function that's called when the object is tracking the mouse. Any mouse movement will cause func to be invoked—it isn't just invoked when the mouses moves to a new menu items (for example). The state data is passed as an argument to func. Note that state is not copied.


menu_tracking_hook

typedef bool (* menu_tracking_hook )(BMenu *, void *)

Protocol for the menu-tracking hook function. The first argument is the BMenu that's being tracked; the second argument is the state argument that was passed to SetTrackingHook(). If the function returns true, the BMenu stops tracking the mouse; if it returns false, the tracking continues.


BOptionControl and BOptionPopUp

Declared in:  be/interface/OptionControl.hinterface/OptionControl.h
Declared in:  be/interface/OptionPopUp.h

The BOptionControl class (which derives from BControl) is an abstract class that associates a set of names with a set of values. The names are displayed to the user; when the user selects a name, the corresponding value is returned in the value-changed message (in the normal "be:value" field). The options in a BOptionControl object are mutually exclusive.

The most important member functions are:

The BOptionPopUp class is an implementation of BOptionControl that presents the options in a pop up menu.


BRegion

Declared in:  be/interface/Menu.h

BRegion()

BRegion(const BRect rect)

New BRegion constructor creates a region that matches the bounds of the given rect.


BScreen

Declared in:  be/interface/Screen.h

ProposeMode()

This is the new name for the previously-existing ProposeDisplayMode() function. The latter name is deprecated.


GetMode() , SetMode()

status_t GetMode(uint32 workspace,
      
display_mode *mode)
status_t SetMode(uint32 workspace,
      
display_mode *mode,
      
bool makeDefault = false)

These two functions are workspace-specific versions of the previously-existing GetMode() and SetMode() functions. A workspace is indentified by its index (0-based). The old (non-workspace) versions work on the current workspace.


BSlider

Declared in:  be/interface/Slider.h

Slap your controls into an upright position—BSliders can now slide up and down.


BSlider

BSlider(...,orientation posture, ...)

A new version of the BSlider constructor takes an additional posture argument that can be B_HORIZONTAL or B_VERTICAL. Sliders are horizontal by default.


hash_mark_location

enum hash_mark_location {
      ...,
      B_HASH_MARKS_LEFT = 1,
      B_HASH_MARKS_RIGHT = 2,
      ... };

These two new values are accepted by the SetHashMarks() function to declare the presence of the right and left hash marks.


Orientation() , SetOrientation()

orientation Orientation(void)
virtual void SetOrientation(orientation which)

These new functions return and set the slider's orientation as B_HORIZONTAL or B_VERTICAL.


BarThickness() , SetBarThickness()

float BarThickness(void)
virtual void SetBarThickness(float thickness)

These new functions return and set the thickness, in pixels, of the slider's "bar" (the track that the thumb slides along).


BTextView

Declared in:  be/interface/TextView.h

HideTyping() , IsTypingHidden()

void HideTyping(bool hideIt)
bool IsTypingHidden(void) const

HideTyping(true) tells the object to print an asterisk for each keystroke, thereby hiding the actual text typed. Perfect for password panels and other paranoia.


BView

Declared in:  be/interface/View.h

SetViewCursor()

void SetViewCursor(const BCursor *cursor, bool sync=true)

Sets the cursor that's displayed when the mouse enters this views bounds. If sync is true, the function doesn't return until the cursor has actually been changed; otherwise, the function returns immediately.


The Be Book Release Notes Release Notes Index

The Be Book,
...in lovely HTML...
for BeOS Release 5.

Copyright © 2000 Be, Inc. All rights reserved..