Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Enumerations
Window.h File Reference

BWindow class definition and support data structures. More...

Classes

class  BWindow
 Window base class. More...
 

Namespaces

namespace  BPrivate
 Internal or experimental API.
 

Macros

#define B_ALL_WORKSPACES   0xffffffff
 
#define B_CURRENT_WORKSPACE   0
 

Enumerations

enum  {
  B_NOT_MOVABLE = 0x00000001 ,
  B_NOT_CLOSABLE = 0x00000020 ,
  B_NOT_ZOOMABLE = 0x00000040 ,
  B_NOT_MINIMIZABLE = 0x00004000 ,
  B_NOT_RESIZABLE = 0x00000002 ,
  B_NOT_H_RESIZABLE = 0x00000004 ,
  B_NOT_V_RESIZABLE = 0x00000008 ,
  B_AVOID_FRONT = 0x00000080 ,
  B_AVOID_FOCUS = 0x00002000 ,
  B_WILL_ACCEPT_FIRST_CLICK = 0x00000010 ,
  B_OUTLINE_RESIZE = 0x00001000 ,
  B_NO_WORKSPACE_ACTIVATION = 0x00000100 ,
  B_NOT_ANCHORED_ON_ACTIVATE = 0x00020000 ,
  B_ASYNCHRONOUS_CONTROLS = 0x00080000 ,
  B_QUIT_ON_WINDOW_CLOSE = 0x00100000 ,
  B_SAME_POSITION_IN_ALL_WORKSPACES = 0x00200000 ,
  B_AUTO_UPDATE_SIZE_LIMITS = 0x00400000 ,
  B_CLOSE_ON_ESCAPE = 0x00800000 ,
  B_NO_SERVER_SIDE_WINDOW_MODIFIERS = 0x00000200
}
 
enum  {
  B_DO_NOT_RESIZE_TO_FIT = 0x0001 ,
  B_MOVE_IF_PARTIALLY_OFFSCREEN = 0x0002
}
 
enum  window_alignment {
  B_BYTE_ALIGNMENT = 0 ,
  B_PIXEL_ALIGNMENT = 1
}
 
enum  window_feel {
  B_NORMAL_WINDOW_FEEL = 0 ,
  B_MODAL_SUBSET_WINDOW_FEEL = 2 ,
  B_MODAL_APP_WINDOW_FEEL = 1 ,
  B_MODAL_ALL_WINDOW_FEEL = 3 ,
  B_FLOATING_SUBSET_WINDOW_FEEL = 5 ,
  B_FLOATING_APP_WINDOW_FEEL = 4 ,
  B_FLOATING_ALL_WINDOW_FEEL = 6
}
 
enum  window_look {
  B_BORDERED_WINDOW_LOOK = 20 ,
  B_NO_BORDER_WINDOW_LOOK = 19 ,
  B_TITLED_WINDOW_LOOK = 1 ,
  B_DOCUMENT_WINDOW_LOOK = 11 ,
  B_MODAL_WINDOW_LOOK = 3 ,
  B_FLOATING_WINDOW_LOOK = 7
}
 
enum  window_type {
  B_UNTYPED_WINDOW = 0 ,
  B_TITLED_WINDOW = 1 ,
  B_MODAL_WINDOW = 3 ,
  B_DOCUMENT_WINDOW = 11 ,
  B_BORDERED_WINDOW = 20 ,
  B_FLOATING_WINDOW = 21
}
 

Detailed Description

BWindow class definition and support data structures.

Macro Definition Documentation

◆ B_ALL_WORKSPACES

#define B_ALL_WORKSPACES   0xffffffff

Applies to all workspaces.

Since
BeOS R3

◆ B_CURRENT_WORKSPACE

#define B_CURRENT_WORKSPACE   0

Applies to current workspace only.

Since
BeOS R3

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
B_NOT_MOVABLE 

Window cannot be moved by the user.

Since
BeOS R3
B_NOT_CLOSABLE 

Window cannot be closed by the user, no close button is displayed.

Since
BeOS R3
B_NOT_ZOOMABLE 

Window cannot be zoomed by the user, no zoom button is displayed.

Since
BeOS R3
B_NOT_MINIMIZABLE 

Window cannot be minimized by the user.

Since
BeOS R3
B_NOT_RESIZABLE 

Window cannot be resized by the user.

Since
BeOS R3
B_NOT_H_RESIZABLE 

Window cannot be resized horizontally by the user.

Since
BeOS R3
B_NOT_V_RESIZABLE 

Window cannot be resized vertically by the user.

Since
BeOS R3
B_AVOID_FRONT 

Window cannot be brought to front.

Since
BeOS R3
B_AVOID_FOCUS 

Window cannot receive keyboard focus.

Since
BeOS R3
B_WILL_ACCEPT_FIRST_CLICK 

The first click will not just bring the window to front, it will also be processed by the window.

Since
BeOS R3
B_OUTLINE_RESIZE 

Window draws only its outline as it's resized and doesn't draw its contents.

Since
BeOS R3
B_NO_WORKSPACE_ACTIVATION 

Causes the current workspace to stay active even if the window is activated on another workspace.

Since
BeOS R3
B_NOT_ANCHORED_ON_ACTIVATE 

Causes the window to move to the current workspace when activated if it already exists on another workspace.

Since
BeOS R3
B_QUIT_ON_WINDOW_CLOSE 

Quit the application when the window closes.

Note
This flag existed but didn't function in BeOS R5.
Since
BeOS R5
B_SAME_POSITION_IN_ALL_WORKSPACES 

Window maintains its position across workspaces.

Note
This flag did not exist in BeOS R5.
Since
Haiku R1
B_AUTO_UPDATE_SIZE_LIMITS 

Automatically adjust the window size according to the layout constraints.

Note
This flag did not exist in BeOS R5.
Since
Haiku R1
B_CLOSE_ON_ESCAPE 

Close the window when the user pushes the Escape key.

Note
This flag did not exist in BeOS R5.
Since
Haiku R1
B_NO_SERVER_SIDE_WINDOW_MODIFIERS 
Since
Haiku R1

◆ anonymous enum

anonymous enum
Enumerator
B_DO_NOT_RESIZE_TO_FIT 

Flag to not resize the window to fit the screen when using BWindow::MoveOnScreen()

Since
Haiku R1
B_MOVE_IF_PARTIALLY_OFFSCREEN 

Flag to only move a window to make the top left corner visible, when it is partially off screen (instead of centering it) when using BWindow::MoveOnScreen()

Since
Haiku R1

◆ window_alignment

Enumerator
B_BYTE_ALIGNMENT 

Aligns window in terms of frame buffer offsets. Affects only horizontal origin and width, can't align right and bottom edges in this mode.

Since
BeOS R3
B_PIXEL_ALIGNMENT 

Aligns window in pixel coordinates.

Since
BeOS R3

◆ window_feel

Enumerator
B_NORMAL_WINDOW_FEEL 

Behaves like a normal, non-modal, non-floating window.

Since
BeOS R3
B_MODAL_SUBSET_WINDOW_FEEL 

Blocks all windows in its subset when displayed. Visible only if a window in its subset is visible.

Since
BeOS R3
B_MODAL_APP_WINDOW_FEEL 

Blocks all windows in its app when displayed. Visible only if a window in its app is visible.

Since
BeOS R3
B_MODAL_ALL_WINDOW_FEEL 

Blocks all windows across the entire system when displayed. Always visible in all workspaces.

Since
BeOS R3
B_FLOATING_SUBSET_WINDOW_FEEL 

Floats above all windows in its subset when displayed. Visible only if a window in its subset is the frontmost window.

Since
BeOS R3
B_FLOATING_APP_WINDOW_FEEL 

Floats above all windows in its app when displayed. Visible only if a window in its app is the frontmost window.

Since
BeOS R3
B_FLOATING_ALL_WINDOW_FEEL 

Floats above all windows across the entire system when displayed. Always visible in all workspaces.

Since
BeOS R3

◆ window_look

Enumerator
B_BORDERED_WINDOW_LOOK 

No title bar, thin border, no resize control.

Since
BeOS R3
B_NO_BORDER_WINDOW_LOOK 

A borderless rectangle with no provisions to move or close the window.

Since
BeOS R5
B_TITLED_WINDOW_LOOK 

Like B_DOCUMENT_WINDOW_LOOK, but with a resize corner instead of a resize thumb.

Since
BeOS R3
B_DOCUMENT_WINDOW_LOOK 

Large title bar, thick border, draggable resize corner thumb.

Since
BeOS R3
B_MODAL_WINDOW_LOOK 

For modal dialogs: no title bar, thick border, resize corner depending on the B_NOT_RESIZABLE flag.

Since
BeOS R3
B_FLOATING_WINDOW_LOOK 

For floating sub windows: small title bar, thin border, resize corner.

Since
BeOS R3

◆ window_type

Enumerator
B_UNTYPED_WINDOW 

A window of unknown or undefined type.

Since
BeOS R3
B_TITLED_WINDOW 

B_TITLED_WINDOW_LOOK and B_NORMAL_WINDOW_FEEL.

Since
BeOS R3
B_MODAL_WINDOW 

B_MODAL_WINDOW_LOOK and B_MODAL_APP_WINDOW_FEEL.

Since
BeOS R3
B_DOCUMENT_WINDOW 

B_DOCUMENT_WINDOW_LOOK and B_NORMAL_WINDOW_FEEL.

Since
BeOS R3
B_BORDERED_WINDOW 

B_BORDERED_WINDOW_LOOK and B_NORMAL_WINDOW_FEEL.

Since
BeOS R3
B_FLOATING_WINDOW 

B_FLOATING_WINDOW_LOOK and B_FLOATING_APP_WINDOW_FEEL.

Since
BeOS R3