Public Member Functions | Static Public Member Functions | List of all members
BDirectWindow Class Reference

Provides direct access to the video card graphics frame buffer. More...

Inherits BWindow.

Public Member Functions

 BDirectWindow (BRect frame, const char *title, window_type type, uint32 flags, uint32 workspace=B_CURRENT_WORKSPACE)
 Creates and initializes a BDirectWindow object. More...
 
 BDirectWindow (BRect frame, const char *title, window_look look, window_feel feel, uint32 flags, uint32 workspace=B_CURRENT_WORKSPACE)
 Creates and initializes a BDirectWindow object. More...
 
virtual ~BDirectWindow ()
 Destroys the BDirectWindow and frees all memory used by it. More...
 
virtual status_t Archive (BMessage *data, bool deep=true) const
 Archive window into message data. Not implemented. More...
 
virtual void DirectConnected (direct_buffer_info *info)
 Hook method called when your application learns about the state of the graphics display and changes occur. More...
 
virtual void DispatchMessage (BMessage *message, BHandler *handler)
 Window's central message-processing method. More...
 
virtual void FrameMoved (BPoint newPosition)
 Hook method that gets called when the window is moved. More...
 
virtual void FrameResized (float newWidth, float newHeight)
 Hook method that gets called when the window is resized. More...
 
status_t GetClippingRegion (BRegion *region, BPoint *origin=NULL) const
 Sets region to the current clipping region of the direct window. More...
 
virtual status_t GetSupportedSuites (BMessage *data)
 Reports the suites of messages and specifiers understood by the window. More...
 
virtual void Hide ()
 Removes the window from the screen, removes it from Deskbar's window list, and passes active status to another window. More...
 
bool IsFullScreen () const
 Returns whether the window is in full-screen or windowed mode. More...
 
virtual void MenusBeginning ()
 Hook method that gets called just before a menu owned by the window is shown. More...
 
virtual void MenusEnded ()
 Hook method that gets called just before a menu owned by the window is hidden. More...
 
virtual void MessageReceived (BMessage *message)
 Handle message received by the associated looper. More...
 
virtual void Minimize (bool minimize)
 Minimizes or un-minimizes the window based on minimize. More...
 
virtual status_t Perform (perform_code code, void *arg)
 Internal method. More...
 
virtual void Quit ()
 Deletes the window and all child views, destroys the window thread, removes the window's connection to the Application Server, and deletes the object. More...
 
virtual BHandlerResolveSpecifier (BMessage *message, int32 index, BMessage *specifier, int32 what, const char *property)
 Determine the proper handler for a scripting message. More...
 
virtual void ScreenChanged (BRect screenFrame, color_space depth)
 Hook method that is called when the screen that the window is located on changes size or location or the color space of the screen changes. More...
 
status_t SetFullScreen (bool enable)
 Enables or disables full-screen mode. More...
 
virtual void Show ()
 Shows the window on screen, places it frontmost on the screen, adds the window to Deskbar's window list, and makes it the active window. More...
 
virtual void WindowActivated (bool state)
 Hook method that gets called when the window becomes activated or deactivated. More...
 
virtual void WorkspaceActivated (int32 workspaceIndex, bool state)
 Hook method that gets called when the active workspace changes. More...
 
virtual void WorkspacesChanged (uint32 oldWorkspaces, uint32 newWorkspaces)
 Hook method that gets called when the number of workspaces changes. More...
 
virtual void Zoom (BPoint recPosition, float recWidth, float recHeight)
 Move window to origin, then resize to width and height. More...
 
- Public Member Functions inherited from BWindow
 BWindow (BRect frame, const char *title, window_type type, uint32 flags, uint32 workspace=B_CURRENT_WORKSPACE)
 Creates a new BWindow object. More...
 
 BWindow (BRect frame, const char *title, window_look look, window_feel feel, uint32 flags, uint32 workspace=B_CURRENT_WORKSPACE)
 Creates a new BWindow object with the specified look and feel. More...
 
 BWindow (BMessage *archive)
 Archive constructor. More...
 
virtual ~BWindow ()
 Destroys the BWindow object and all attached views. More...
 
void Activate (bool=true)
 Activates or deactivates the window based on active. More...
 
void AddChild (BView *child, BView *before=NULL)
 Adds child to the view hierarchy immediately before before. More...
 
void AddChild (BLayoutItem *child)
 Add the child layout item to the view hierarchy. More...
 
status_t AddToSubset (BWindow *window)
 Adds window to be in the subset of the BWindow. More...
 
void BeginViewTransaction ()
 Stall updates to App Server allowing you to batch drawing commands to limit flickering. More...
 
BRect Bounds () const
 Returns the bounding rectangle of the window. More...
 
void CenterIn (const BRect &rect)
 Center the window in rect. More...
 
void CenterOnScreen ()
 Centers the window on the screen the window is currently on. More...
 
void CenterOnScreen (screen_id id)
 Centers the window on the screen with the passed in id. More...
 
BViewChildAt (int32 index) const
 Returns a pointer to the child view found at index. More...
 
void ConvertFromScreen (BPoint *point) const
 Convert point from the screen's coordinate system to the window's coordinate system in place. More...
 
BPoint ConvertFromScreen (BPoint point) const
 Returns point converted from the screen's coordinate system to the window's coordinate system. More...
 
void ConvertFromScreen (BRect *rect) const
 Convert rect from the screen's coordinate system to the window's coordinate system in place. More...
 
BRect ConvertFromScreen (BRect rect) const
 Returns rect converted from the screen's coordinate system to the window's coordinate system. More...
 
void ConvertToScreen (BPoint *point) const
 Convert point to the screen's coordinate system in place. More...
 
BPoint ConvertToScreen (BPoint point) const
 Returns point converted to the screen's coordinate system. More...
 
void ConvertToScreen (BRect *rect) const
 Convert rect to the screen's coordinate system in place. More...
 
BRect ConvertToScreen (BRect rect) const
 Returns rect converted to the screen's coordinate system. More...
 
int32 CountChildren () const
 Returns the number of child views that the window has. More...
 
BViewCurrentFocus () const
 Returns a pointer to the current focus view of the window. More...
 
BRect DecoratorFrame () const
 Returns the frame rectangle of the window decorator. More...
 
BButtonDefaultButton () const
 Returns a pointer to the default button set on the window. More...
 
void DisableUpdates ()
 Suppresses drawing within the window. More...
 
void EnableUpdates ()
 Re-enable drawing within the window. More...
 
void EndViewTransaction ()
 Ends a view transaction allowing update to go to App Server again. More...
 
window_feel Feel () const
 Returns the current window feel flag. More...
 
BViewFindView (const char *viewName) const
 Returns the attached view with the specified viewName. More...
 
BViewFindView (BPoint) const
 Returns a pointer to the attached view located at the specified point. More...
 
uint32 Flags () const
 Returns the current window flags. More...
 
void Flush () const
 Flushes the window's connection to App Server causing any pending messages to be processed then returns immediately. More...
 
BRect Frame () const
 Returns the frame rectangle of the window. More...
 
status_t GetDecoratorSettings (BMessage *settings) const
 Fill out the window's decorator settings into settings. More...
 
BLayoutGetLayout () const
 Get the layout of the window. More...
 
void GetSizeLimits (float *minWidth, float *maxWidth, float *minHeight, float *maxHeight)
 Fills out the size limits set on the window. More...
 
status_t GetWindowAlignment (window_alignment *mode=NULL, int32 *h=NULL, int32 *hOffset=NULL, int32 *width=NULL, int32 *widthOffset=NULL, int32 *v=NULL, int32 *vOffset=NULL, int32 *height=NULL, int32 *heightOffset=NULL) const
 Fills out the pointers with the alignment of the content of the window on the screen. More...
 
void InvalidateLayout (bool descendants=false)
 Invalidate layout. More...
 
bool InViewTransaction () const
 Returns whether or not the window is currently in a view transaction. More...
 
bool IsActive () const
 Returns whether or not the window is active. More...
 
bool IsFloating () const
 Returns whether or not the window is floating. More...
 
bool IsFront () const
 Returns whether or not the window is the frontmost on screen. More...
 
bool IsHidden () const
 Returns whether or not the window is hidden. More...
 
bool IsMinimized () const
 Returns whether or not the window is minimized. More...
 
bool IsModal () const
 Returns whether or not the window is modal. More...
 
bool IsOffscreenWindow () const
 Tests if window is used for drawing into a BBitmap. This is mostly used by the Interface Kit itself. More...
 
BMenuBarKeyMenuBar () const
 Returns a pointer to the key menu bar set to the window. More...
 
BViewLastMouseMovedView () const
 Returns a pointer to the attached view that most recently received a B_MOUSE_MOVED message. More...
 
void Layout (bool force)
 Update the size limits and do the layout of the topmost view attached to the window. More...
 
window_look Look () const
 Returns the current window look flag. More...
 
void MoveBy (float dx, float dy)
 Move the window by dx pixels horizontally and dy pixels vertically. More...
 
void MoveTo (BPoint)
 Move the window to point. More...
 
void MoveTo (float x, float y)
 Move the window to the specified x and y coordinates. More...
 
bool NeedsUpdate () const
 Returns whether or not any of the attached views need to be updated. More...
 
bigtime_t PulseRate () const
 Returns the pulse rate of the window. More...
 
virtual bool QuitRequested ()
 Hook method that gets called when the window receives a B_QUIT_REQUESTED message. More...
 
bool RemoveChild (BView *child)
 Removes child from the view hierarchy. More...
 
status_t RemoveFromSubset (BWindow *window)
 Remove window from the subset of the BWindow. More...
 
void ResizeBy (float dx, float dy)
 Resize the window by dx pixels horizontally and dy pixels vertically. More...
 
void ResizeTo (float width, float height)
 Resize the window to the specified width and height. More...
 
virtual thread_id Run ()
 Spawns the message loop thread and starts the window running. More...
 
status_t SendBehind (const BWindow *window)
 Moves the BWindow object behind window. More...
 
status_t SetDecoratorSettings (const BMessage &settings)
 Set the window decorator settings according to settings. More...
 
void SetDefaultButton (BButton *button)
 Set the default button of the window to button. More...
 
status_t SetFeel (window_feel feel)
 Changes the window feel set in the constructor to feel. More...
 
status_t SetFlags (uint32)
 Changes the window flags set in the constructor to flags. More...
 
void SetKeyMenuBar (BMenuBar *bar)
 Set the specified menu bar as the key menu bar for the window. More...
 
virtual void SetLayout (BLayout *layout)
 Sets the layout of the window. More...
 
status_t SetLook (window_look look)
 Changes the window look set in the constructor to look. More...
 
void SetPulseRate (bigtime_t rate)
 Sets how often B_PULSE messages are posted to the window. More...
 
void SetSizeLimits (float minWidth, float maxWidth, float minHeight, float maxHeight)
 Set size limits on the window. More...
 
void SetTitle (const char *title)
 Sets the window title to title. More...
 
status_t SetType (window_type type)
 Changes the window type set in the constructor to type. More...
 
status_t SetWindowAlignment (window_alignment mode, int32 h, int32 hOffset=0, int32 width=0, int32 widthOffset=0, int32 v=0, int32 vOffset=0, int32 height=0, int32 heightOffset=0)
 Sets the alignment of the content of the window on the screen. More...
 
void SetWorkspaces (uint32)
 Sets the set of workspaces where the window can be displayed. More...
 
void SetZoomLimits (float maxWidth, float maxHeight)
 Sets the maximum size that the window will zoom to when Zoom() is called. More...
 
BSize Size () const
 Returns the size of the window. More...
 
void Sync () const
 Synchronizes the attached window's connection to App Server causing any pending messages to be processed and then waits for the App Server to respond. More...
 
const char * Title () const
 Returns the window title as set by the constructor or SetTitle(). More...
 
window_type Type () const
 Returns the current window type flag. More...
 
void UpdateIfNeeded ()
 Invokes Draw() immediately on each child view that needs updating. More...
 
void UpdateSizeLimits ()
 Updates the window's size limits from the minimum and maximum sizes of its top view. More...
 
uint32 Workspaces () const
 Returns the set of workspaces where the window can be displayed. More...
 
void Zoom ()
 Resize the window to the minimum of the screen size, the maximum values set by SetSizeLimits(), and the maximum values set by SetZoomLimits(). More...
 
void AddShortcut (uint32 key, uint32 modifiers, BMessage *message)
 Creates a keyboard shortcut that sends a message to the window. More...
 
void AddShortcut (uint32 key, uint32 modifiers, BMessage *message, BHandler *target)
 Creates a keyboard shortcut that sends a message to the specified target. More...
 
bool HasShortcut (uint32 key, uint32 modifiers)
 Returns whether or not the specified shortcut is set on the window. More...
 
void RemoveShortcut (uint32 key, uint32 modifiers)
 Removes the specified shortcut from the window. More...
 
- Public Member Functions inherited from BLooper
 BLooper (const char *name=NULL, int32 priority=B_NORMAL_PRIORITY, int32 portCapacity=B_LOOPER_PORT_DEFAULT_CAPACITY)
 Construct a new BLooper with a priority and an capacity. More...
 
virtual ~BLooper ()
 Destruct the looper. More...
 
status_t PostMessage (uint32 command)
 Post a message with the command as what identifier to this looper. More...
 
status_t PostMessage (BMessage *message)
 Post a message to this looper. More...
 
status_t PostMessage (uint32 command, BHandler *handler, BHandler *replyTo=NULL)
 Send a message with the command as what identifier to the handler associated with this looper, and (optionally) request a reply. More...
 
status_t PostMessage (BMessage *message, BHandler *handler, BHandler *replyTo=NULL)
 Send a message to the handler associated with this looper, and (optionally) request a reply. More...
 
BMessageCurrentMessage () const
 Retrieve the current message. More...
 
BMessageDetachCurrentMessage ()
 Get ownership of the message currently being processed. More...
 
BMessageQueueMessageQueue () const
 Get a pointer to the internal message queue of this looper. More...
 
bool IsMessageWaiting () const
 Check if there is a message waiting. More...
 
void AddHandler (BHandler *handler)
 Associate a handler to this looper. More...
 
bool RemoveHandler (BHandler *handler)
 Disassociate a handler from this looper. More...
 
int32 CountHandlers () const
 Get the number of handlers associated with this looper. More...
 
BHandlerHandlerAt (int32 index) const
 Get the handler at an index of the list of associated handlers. More...
 
int32 IndexOf (BHandler *handler) const
 Get the index of the handler that is in the associated handler list. More...
 
BHandlerPreferredHandler () const
 Get the preferred handler. More...
 
void SetPreferredHandler (BHandler *handler)
 Set a preferred handler. More...
 
thread_id LockingThread () const
 Return the thread id of the thread that currently holds the lock. More...
 
int32 CountLocks () const
 Return the number of recursive locks that are currently being held on this looper. More...
 
int32 CountLockRequests () const
 Return the number of pending locks. More...
 
sem_id Sem () const
 Return the id of the semaphore that is used to lock this looper. More...
 
virtual void AddCommonFilter (BMessageFilter *filter)
 Add a common filter to the list of filters that are applied to all incoming messages. More...
 
virtual bool RemoveCommonFilter (BMessageFilter *filter)
 Remove a filter from the common message filter list. More...
 
virtual void SetCommonFilterList (BList *filters)
 Set a new list of filters that need to be applied to all incoming messages. More...
 
BListCommonFilterList () const
 Return a list of filters applied to all incoming messages. More...
 
 BLooper (BMessage *data)
 Construct a looper from an archived message. More...
 
void Loop ()
 Run the event loop in the current thread. More...
 
bool Lock ()
 Lock the looper. More...
 
void Unlock ()
 Unlock a locked looper. More...
 
bool IsLocked () const
 Check if a looper is locked. More...
 
status_t LockWithTimeout (bigtime_t timeout)
 Lock a looper with a timeout. More...
 
thread_id Thread () const
 Return the thread id of the internal message looper thread. More...
 
team_id Team () const
 Return the team id in which this looper exists. More...
 
- Public Member Functions inherited from BHandler
 BHandler (const char *name=NULL)
 Construct a new handler with a name. More...
 
virtual ~BHandler ()
 Free the filters of this handler, as well as the list of observers. More...
 
 BHandler (BMessage *data)
 Construct a handler from an archived message. More...
 
BLooperLooper () const
 Return a pointer to the looper that this handler is associated with. More...
 
void SetName (const char *name)
 Set or change the name of this handler. More...
 
const char * Name () const
 Return the name of this handler. More...
 
virtual void SetNextHandler (BHandler *handler)
 Set the next handler in the chain that the message is passed on to if this handler cannot process it. More...
 
BHandlerNextHandler () const
 Return the next hander in the chain to which the message is passed on. More...
 
virtual void AddFilter (BMessageFilter *filter)
 Add filter as a prerequisite to this handler. More...
 
virtual bool RemoveFilter (BMessageFilter *filter)
 Remove filter from the filter list. More...
 
virtual void SetFilterList (BList *filters)
 Set the internal list of filters to filters. More...
 
BListFilterList ()
 Return a pointer to the list of filters. More...
 
bool LockLooper ()
 Lock the looper associated with this handler. More...
 
status_t LockLooperWithTimeout (bigtime_t timeout)
 Lock the looper associated with this handler, with a time out value. More...
 
void UnlockLooper ()
 Unlock the looper. More...
 
status_t StartWatching (BMessenger target, uint32 what)
 Subscribe this handler to watch a specific state change of a target. More...
 
status_t StartWatchingAll (BMessenger target)
 Subscribe this handler to watch a target for all events. More...
 
status_t StopWatching (BMessenger target, uint32 what)
 Unsubscribe this handler from watching a specific state. More...
 
status_t StopWatchingAll (BMessenger target)
 Unsubscribe this handler from watching all states. More...
 
status_t StartWatching (BHandler *observer, uint32 what)
 Subscribe an observer for a specific state change of this handler. More...
 
status_t StartWatchingAll (BHandler *observer)
 Subscribe an observer for a all state changes. More...
 
status_t StopWatching (BHandler *observer, uint32 what)
 Unsubscribe an observer from watching a specific state. More...
 
status_t StopWatchingAll (BHandler *observer)
 Unsubscribe an observer from watching all states. More...
 
virtual void SendNotices (uint32 what, const BMessage *notice=NULL)
 Emit a state change to the observers. More...
 
bool IsWatched () const
 Check if there are any observers watching this handler. More...
 
- Public Member Functions inherited from BArchivable
 BArchivable (BMessage *from)
 Constructor. Does important behind-the-scenes work in the unarchiving process. More...
 
 BArchivable ()
 Constructor. Does nothing. More...
 
virtual ~BArchivable ()
 Destructor. Does nothing. More...
 
virtual status_t AllArchived (BMessage *archive) const
 Method relating to the use of BArchiver. More...
 
virtual status_t AllUnarchived (const BMessage *archive)
 Method relating to the use of BUnarchiver. More...
 

Static Public Member Functions

static BArchivableInstantiate (BMessage *data)
 Instantiate window from message data. Not implemented. More...
 
static bool SupportsWindowMode (screen_id id=B_MAIN_SCREEN_ID)
 Returns whether or not the specified screen supports windowed mode. More...
 
- Static Public Member Functions inherited from BWindow
static BArchivableInstantiate (BMessage *archive)
 Creates a new BWindow object from the data message. More...
 
- Static Public Member Functions inherited from BLooper
static BArchivableInstantiate (BMessage *data)
 Static method to instantiate a looper from an archived message. More...
 
static BLooperLooperForThread (thread_id thread)
 Static method to retrieve a BLooper for a specified thread. More...
 
- Static Public Member Functions inherited from BHandler
static BArchivableInstantiate (BMessage *data)
 Static method to instantiate a handler from an archived message. More...
 
- Static Public Member Functions inherited from BArchivable
static BArchivableInstantiate (BMessage *archive)
 Static member to restore objects from messages. More...
 

Additional Inherited Members

- Protected Member Functions inherited from BLooper
BMessageMessageFromPort (bigtime_t=B_INFINITE_TIMEOUT)
 Hook method to retrieve a message from the looper's port. More...
 

Detailed Description

Provides direct access to the video card graphics frame buffer.

Since
BeOS R3

Constructor & Destructor Documentation

◆ BDirectWindow() [1/2]

BDirectWindow::BDirectWindow ( BRect  frame,
const char *  title,
window_type  type,
uint32  flags,
uint32  workspace = B_CURRENT_WORKSPACE 
)

Creates and initializes a BDirectWindow object.

Parameters
frameThe initial frame rectangle of the window.
titleThe title of the Window.
typeWindow type (see BWindow).
flagsWindow flags (see BWindow).
workspaceWorkspace of the direct window (see BWindow).
Since
BeOS R3

◆ BDirectWindow() [2/2]

BDirectWindow::BDirectWindow ( BRect  frame,
const char *  title,
window_look  look,
window_feel  feel,
uint32  flags,
uint32  workspace = B_CURRENT_WORKSPACE 
)

Creates and initializes a BDirectWindow object.

Parameters
frameThe initial frame rectangle of the window.
titleThe title of the Window.
lookWindow look (see BWindow).
feelWindow feel (see BWindow).
flagsWindow flags (see BWindow).
workspaceWorkspace of the direct window (see BWindow).
Since
BeOS R3

◆ ~BDirectWindow()

BDirectWindow::~BDirectWindow ( )
virtual

Destroys the BDirectWindow and frees all memory used by it.

Do not delete a BDirectWindow object directly, call Quit() instead.

Destroying a BDirectWindow involves a few steps to make sure that it is disconnected and cleaned up.

Set the fConnectionDisabled flag to true to prevent DirectConnected() from attempting to reconnect while it's being destroyed.

next call Hide() and finally Sync() to force the direct window to disconnect from direct access.

Once these steps are complete you may do your usual destructor work.

Since
BeOS R3

Member Function Documentation

◆ Archive()

status_t BDirectWindow::Archive ( BMessage data,
bool  deep = true 
) const
virtual

Archive window into message data. Not implemented.

Since
BeOS R3

Reimplemented from BWindow.

◆ DirectConnected()

void BDirectWindow::DirectConnected ( direct_buffer_info info)
virtual

Hook method called when your application learns about the state of the graphics display and changes occur.

This is the heart of BDirectWindow.

Parameters
infoThe direct_buffer_info struct
Since
BeOS R3

◆ DispatchMessage()

virtual void BDirectWindow::DispatchMessage ( BMessage message,
BHandler target 
)
virtual

Window's central message-processing method.

This method called automatically as messages arrive in the queue, you should never call DispatchMessage() yourself.

Warning
Don't override this method in your BWindow subclass. Override MessageReceived() instead to alter the window's message dispatching mechanism.
See also
BLooper::DispatchMessage()
Since
BeOS R3

Reimplemented from BWindow.

◆ FrameMoved()

virtual void BDirectWindow::FrameMoved ( BPoint  newPosition)
virtual

Hook method that gets called when the window is moved.

Parameters
newPositionThe point of the top left corner of the frame rectangle that the window has been moved to.
Since
BeOS R3

Reimplemented from BWindow.

◆ FrameResized()

virtual void BDirectWindow::FrameResized ( float  newWidth,
float  newHeight 
)
virtual

Hook method that gets called when the window is resized.

Parameters
newWidthThe new width of the window.
newHeightThe new height of the window.
Since
BeOS R3

Reimplemented from BWindow.

◆ GetClippingRegion()

status_t BDirectWindow::GetClippingRegion ( BRegion region,
BPoint origin = NULL 
) const

Sets region to the current clipping region of the direct window.

If origin is not NULL, the region is offset by origin.

Warning
GetClippingRegion() should only be called from within the DirectConnected() method. If called outside GetClippingRegion() will return B_ERROR.
Parameters
regionThe clipping region to fill out.
originAn origin to offset the region by.
Returns
A status code.
Return values
B_OKEverything went as expected.
B_BAD_VALUEregion was NULL.
B_ERRORWindow not locked or not in DirectConnected() method.
B_NO_MEMORYNot enough memory to fill region
Since
BeOS R3

◆ GetSupportedSuites()

virtual status_t BDirectWindow::GetSupportedSuites ( BMessage data)
virtual

Reports the suites of messages and specifiers understood by the window.

Since
BeOS R3

Reimplemented from BWindow.

◆ Hide()

virtual void BDirectWindow::Hide ( )
virtual

Removes the window from the screen, removes it from Deskbar's window list, and passes active status to another window.

Calls to Hide() and Show() are cumulative.

Since
BeOS R3

Reimplemented from BWindow.

◆ Instantiate()

BArchivable * BDirectWindow::Instantiate ( BMessage data)
static

Instantiate window from message data. Not implemented.

Since
BeOS R3

◆ IsFullScreen()

bool BDirectWindow::IsFullScreen ( ) const

Returns whether the window is in full-screen or windowed mode.

Returns
true if in full-screen mode, false if in windowed mode.
Since
BeOS R3

◆ MenusBeginning()

virtual void BDirectWindow::MenusBeginning ( )
virtual

Hook method that gets called just before a menu owned by the window is shown.

Note
This method is not invoked by a message, there is no B_MENUS_BEGINNING flag.
Since
BeOS R3

Reimplemented from BWindow.

◆ MenusEnded()

virtual void BDirectWindow::MenusEnded ( )
virtual

Hook method that gets called just before a menu owned by the window is hidden.

Note
This method is not invoked by a message, there is no B_MENUS_ENDED flag.
Since
BeOS R3

Reimplemented from BWindow.

◆ MessageReceived()

virtual void BDirectWindow::MessageReceived ( BMessage message)
virtual

Handle message received by the associated looper.

Parameters
messageThe message received by the looper.
See also
BHandler::MessageReceived()
Since
BeOS R3

Reimplemented from BWindow.

◆ Minimize()

virtual void BDirectWindow::Minimize ( bool  minimize)
virtual

Minimizes or un-minimizes the window based on minimize.

Unlike Hide() an Show(), Minimize() dims and un-dims the entry for the window in Deskbar's window list rather than removing it. Also Minimize() calls are not cumulative like Hide() and Show(); one false call will undo multiple true calls.

Minimize() also acts as a hook method that is invoked when the user double- clicks on the title tab of the window or selects the window from the DeskBar window list. The minimize parameter is true if the window is about to be hidden and false if it is about to be shown.

If you override Minimize() and you want to inherit BWindow's behavior, you must call BWindow::Minimize().

Since
BeOS R3

Reimplemented from BWindow.

◆ Perform()

virtual status_t BDirectWindow::Perform ( perform_code  d,
void *  arg 
)
virtual

Internal method.

Since
Haiku R1

Reimplemented from BWindow.

◆ Quit()

virtual void BDirectWindow::Quit ( )
virtual

Deletes the window and all child views, destroys the window thread, removes the window's connection to the Application Server, and deletes the object.

Use this method to destroy a window rather than using the delete operator.

This method works much like the BLooper::Quit(), it doesn't return when called from the BWindow's thread and it returns after all messages have been processed when called from another thread and the BWindow and its thread has been destroyed.

Warning
The window must first be locked before calling Quit().
See also
BLooper::Quit()
Since
BeOS R3

Reimplemented from BWindow.

◆ ResolveSpecifier()

virtual BHandler* BDirectWindow::ResolveSpecifier ( BMessage message,
int32  index,
BMessage specifier,
int32  what,
const char *  property 
)
virtual

Determine the proper handler for a scripting message.

Parameters
messageThe scripting message to determine the handler.
indexThe index of the specifier.
specifierThe message which contains the specifier.
whatThe 'what' field of the specifier message.
propertyThe name of the target property.
Returns
A pointer to the proper BHandler for the given scripting message.
Since
BeOS R3

Reimplemented from BWindow.

◆ ScreenChanged()

virtual void BDirectWindow::ScreenChanged ( BRect  screenSize,
color_space  depth 
)
virtual

Hook method that is called when the screen that the window is located on changes size or location or the color space of the screen changes.

Parameters
screenSizeThe new screen size in the screen's coordinate system.
depthThe new color space of the screen.
Since
BeOS R3

Reimplemented from BWindow.

◆ SetFullScreen()

status_t BDirectWindow::SetFullScreen ( bool  enable)

Enables or disables full-screen mode.

The SupportsWindowMode() method determines whether or not the video card is capable of supporting windowed mode.

When the window is in full screen mode it will always have the focus and no other window can be in front of it.

Parameters
enabletrue to enable fullscreen mode, false for windowed mode.
Returns
A status code.
Return values
B_OKEverything went as expected.
B_ERRORAn error occurred while trying to switch between full screen and windowed mode.
See also
BDirectWindow::SupportsWindowMode()
Since
BeOS R3

◆ Show()

virtual void BDirectWindow::Show ( )
virtual

Shows the window on screen, places it frontmost on the screen, adds the window to Deskbar's window list, and makes it the active window.

If this is the first time Show() has been called on the window the message loop is started and it is unlocked.

Calls to Hide() and Show() are cumulative.

Since
BeOS R3

Reimplemented from BWindow.

◆ SupportsWindowMode()

static bool BDirectWindow::SupportsWindowMode ( screen_id  id = B_MAIN_SCREEN_ID)
static

Returns whether or not the specified screen supports windowed mode.

Because this is a static function you don't have to construct a BDirectWindow object to call it.

Parameters
idThe id of the screen you want to check, B_MAIN_SCREEN_ID by default.
Returns
true if the screen support windowed mode, false otherwise.
Since
BeOS R3

◆ WindowActivated()

virtual void BDirectWindow::WindowActivated ( bool  active)
virtual

Hook method that gets called when the window becomes activated or deactivated.

Parameters
activetrue if the window has become activated, false if the window has become deactivated.
Since
BeOS R3

Reimplemented from BWindow.

◆ WorkspaceActivated()

virtual void BDirectWindow::WorkspaceActivated ( int32  workspace,
bool  state 
)
virtual

Hook method that gets called when the active workspace changes.

Parameters
workspaceThe workspace number that was activated/deactivated.
statetrue if activated, false if deactivated.
Since
BeOS R3

Reimplemented from BWindow.

◆ WorkspacesChanged()

virtual void BDirectWindow::WorkspacesChanged ( uint32  oldWorkspaces,
uint32  newWorkspaces 
)
virtual

Hook method that gets called when the number of workspaces changes.

Parameters
oldWorkspacesThe old number of workspaces.
newWorkspacesThe new number of workspaces.
Since
BeOS R3

Reimplemented from BWindow.

◆ Zoom()

virtual void BDirectWindow::Zoom ( BPoint  origin,
float  width,
float  height 
)
virtual

Move window to origin, then resize to width and height.

You may call Zoom() even if the window has the B_NOT_ZOOMABLE flag set.

This method may move and resize the window resulting in both the FrameMoved() and FrameResized() hook methods to be called.

You can override this method to change how your window behaves when the user clicks the zoom button or when Zoom() is called.

Parameters
originThe point that the window was moved to.
widthThe new width of the window.
heightThe new height of the window.
Since
BeOS R3

Reimplemented from BWindow.