nux-0.9.46

nux::WindowCompositor Class Reference

#include <Nux/WindowCompositor.h>

Data Structures

struct  RenderTargetTextures

Public Member Functions

 WindowCompositor ()
 ~WindowCompositor ()
Geometry GetTooltipGeometry () const
 Get the Geometry of the tooltip based on the BaseWindow that initiated it.
Geometry GetTooltipMainWindowGeometry () const
 Get the Geometry of the tooltip based on the MainWindow.
bool MouseDown (Point pt)
bool MouseMove (Point pt)
bool MouseUp (Point pt)
void ProcessEvent (IEvent &ievent)
ObjectPtr
< IOpenGLFrameBufferObject > & 
GetWindowFrameBufferObject ()
ObjectPtr< IOpenGLBaseTextureGetScreenBlurTexture ()
void StartModalWindow (ObjectWeakPtr< BaseWindow >)
void StopModalWindow (ObjectWeakPtr< BaseWindow >)
void AddMenu (MenuPage *menu, BaseWindow *window, bool OverrideCurrentMenuChain=true)
void RemoveMenu (MenuPage *menu)
void CleanMenu ()
void PushModalWindow (ObjectWeakPtr< BaseWindow > window)
void SetWidgetDrawingOverlay (InputArea *ic, BaseWindow *OverlayWindow)
InputAreaGetWidgetDrawingOverlay ()
void SetTooltip (InputArea *TooltipArea, const TCHAR *TooltipText, int x, int y)
bool ValidateMouseInsideTooltipArea (int x, int y)
bool IsTooltipActive ()
void CancelTooltip ()
void SetAreaEventRoot (int x, int y)
const IEventGetCurrentEvent () const
long DispatchEventToArea (Event &event, Area *area, long TraverseInfo, long ProcessEventInfo)
long DispatchEventToView (Event &event, View *view, long TraverseInfo, long ProcessEventInfo)
void SetBackgroundPaintLayer (AbstractPaintLayer *bkg)
void SetAlwaysOnFrontWindow (BaseWindow *window)
bool EnableExclusiveInputArea (InputArea *input_area)
 Enable the exclusive event input mode.
bool DisableExclusiveInputArea (InputArea *input_area)
 Disable the exclusive event input mode.
bool InExclusiveInputMode ()
 Return true if the system is in exclusive input event mode.
void RestoreRenderingSurface ()
 Set the rendering surface for the current rendering.
void * GetBackupTextureData (BaseWindow *base_window, int &width, int &height, int &format)
 Get the backup texture data of this BaseWindow,.
void ResetDnDArea ()
 Reset the DND focus area.
InputAreaGetDnDArea ()
BaseWindowGetProcessingTopView ()
 Get the top view that is being processed (event or rendering).
bool GrabPointerAdd (InputArea *area)
 Add an area at the top of the pointer grab stack.
bool GrabPointerRemove (InputArea *area)
 Remove an area from the pointer grab stack.
bool IsInPointerGrabStack (InputArea *area)
 Returns True if the area parameter is inside the pointer grab stack.
InputAreaGetPointerGrabArea ()
 Returns the area at the top of the pointer grab stack.
bool GrabKeyboardAdd (InputArea *area)
 Add an area at the top of the keyboard grab stack.
bool GrabKeyboardRemove (InputArea *area)
 Remove an area from the keyboard grab stack.
bool IsInKeyboardGrabStack (InputArea *area)
 Returns True if the area parameter is inside the keyboard grab stack.
InputAreaGetKeyboardGrabArea ()
 Returns the area at the top of the keyboard grab stack.

Data Fields

ObjectPtr
< IOpenGLFrameBufferObject
m_FrameBufferObject

Friends

class InputArea
class WindowThread
class TimerHandler
class MenuBar
class MenuPage
class BaseWindow
class HSplitter
class VSplitter
class TableCtrl
class View

Constructor & Destructor Documentation

nux::WindowCompositor::WindowCompositor ( )
nux::WindowCompositor::~WindowCompositor ( )

Member Function Documentation

void nux::WindowCompositor::AddMenu ( MenuPage menu,
BaseWindow window,
bool  OverrideCurrentMenuChain = true 
)
void nux::WindowCompositor::CancelTooltip ( )
void nux::WindowCompositor::CleanMenu ( )
bool nux::WindowCompositor::DisableExclusiveInputArea ( InputArea input_area)

Disable the exclusive event input mode.

Disable the exclusive event input mode. It can only be disable if the current exclusive input area is passed as parameter.

See also:
EnableExclusiveInputArea.
Returns:
True, if the exclusive input mode was disabled.
long nux::WindowCompositor::DispatchEventToArea ( Event event,
Area area,
long  TraverseInfo,
long  ProcessEventInfo 
)
long nux::WindowCompositor::DispatchEventToView ( Event event,
View view,
long  TraverseInfo,
long  ProcessEventInfo 
)
bool nux::WindowCompositor::EnableExclusiveInputArea ( InputArea input_area)

Enable the exclusive event input mode.

Set the exclusive event input area (

See also:
_exclusive_input_area). The greedy input area gets all input events (mouse and keyboard). The exclusive input mode can only be set if there is no exclusive input area already set. To disable the exclusive input move, call DisableExclusiveInputArea with the current exclusive input area as parameter. The exclusive event input mode can only change once during the processing of one event. The change it again, you have to wait for the next event cycle.
DisableExclusiveInputArea.
Returns:
True, if the exclusive input mode was enabled.
void* nux::WindowCompositor::GetBackupTextureData ( BaseWindow base_window,
int &  width,
int &  height,
int &  format 
)

Get the backup texture data of this BaseWindow,.

const IEvent* nux::WindowCompositor::GetCurrentEvent ( ) const [inline]
InputArea* nux::WindowCompositor::GetDnDArea ( )
InputArea* nux::WindowCompositor::GetKeyboardGrabArea ( )

Returns the area at the top of the keyboard grab stack.

InputArea* nux::WindowCompositor::GetPointerGrabArea ( )

Returns the area at the top of the pointer grab stack.

BaseWindow* nux::WindowCompositor::GetProcessingTopView ( ) [inline]

Get the top view that is being processed (event or rendering).

Get the active ViewWindow during and event processing or rendering.

References nux::ObjectWeakPtr< T >::GetPointer().

ObjectPtr< IOpenGLBaseTexture > nux::WindowCompositor::GetScreenBlurTexture ( )
Geometry nux::WindowCompositor::GetTooltipGeometry ( ) const

Get the Geometry of the tooltip based on the BaseWindow that initiated it.

Geometry nux::WindowCompositor::GetTooltipMainWindowGeometry ( ) const

Get the Geometry of the tooltip based on the MainWindow.

InputArea* nux::WindowCompositor::GetWidgetDrawingOverlay ( )
ObjectPtr<IOpenGLFrameBufferObject>& nux::WindowCompositor::GetWindowFrameBufferObject ( ) [inline]

References m_FrameBufferObject.

bool nux::WindowCompositor::GrabKeyboardAdd ( InputArea area)

Add an area at the top of the keyboard grab stack.

Add an area at the top of the keyboard grab stack. The area at the top of the keyboard grab stack has the exclusivity on the keyboard events. And area can be added multiple times to the stack but not successively.

Parameters:
areaThe area to put at the top of the keyboard grab stack.
Returns:
True if the Area was successfully added at the top of the keyboard grab stack.
bool nux::WindowCompositor::GrabKeyboardRemove ( InputArea area)

Remove an area from the keyboard grab stack.

If the Area was added multiple time to the keyboard grab stack then the top most instance of the parameter area is removed.

Parameters:
areaThe area to remove from the top of the keyboard grab stack.
Returns:
True if the Area was successfully removed.
bool nux::WindowCompositor::GrabPointerAdd ( InputArea area)

Add an area at the top of the pointer grab stack.

Add an area at the top of the pointer grab stack. The area at the top of the pointer grab stack has the exclusivity on the pointer events. And area can be added multiple times to the stack but not successively.

Parameters:
areaThe area to put at the top of the pointer grab stack.
Returns:
True if the Area was successfully added at the top of the pointer grab stack.
bool nux::WindowCompositor::GrabPointerRemove ( InputArea area)

Remove an area from the pointer grab stack.

If the Area was added multiple time to the pointer grab stack then the top most instance of the parameter area is removed.

Parameters:
areaThe area to remove from the top of the pointer grab stack.
Returns:
True if the Area was successfully removed.
bool nux::WindowCompositor::InExclusiveInputMode ( )

Return true if the system is in exclusive input event mode.

Returns:
True if the system is in exclusive input mode.
bool nux::WindowCompositor::IsInKeyboardGrabStack ( InputArea area)

Returns True if the area parameter is inside the keyboard grab stack.

bool nux::WindowCompositor::IsInPointerGrabStack ( InputArea area)

Returns True if the area parameter is inside the pointer grab stack.

bool nux::WindowCompositor::IsTooltipActive ( )

Return true if there is a valid tooltip active.

Returns:
Return true if there is a valid tooltip active.
bool nux::WindowCompositor::MouseDown ( Point  pt)
bool nux::WindowCompositor::MouseMove ( Point  pt)
bool nux::WindowCompositor::MouseUp ( Point  pt)
void nux::WindowCompositor::ProcessEvent ( IEvent ievent)
void nux::WindowCompositor::PushModalWindow ( ObjectWeakPtr< BaseWindow window)
void nux::WindowCompositor::RemoveMenu ( MenuPage menu)
void nux::WindowCompositor::ResetDnDArea ( )

Reset the DND focus area.

Set the DND focus area to NULL.

See also:
_dnd_area;
void nux::WindowCompositor::RestoreRenderingSurface ( )

Set the rendering surface for the current rendering.

This function is used to restore the rendering surface according to the system state. This is necessary after using a custom frame buffer object.

void nux::WindowCompositor::SetAlwaysOnFrontWindow ( BaseWindow window)

A special BaseWindow that is always on top of all other BaseWindow. It is even above the BaseWindow that is selected.

See also:
m_SelectedWindow,
GetSelectedWindow.
void nux::WindowCompositor::SetAreaEventRoot ( int  x,
int  y 
) [inline]

References nux::Point::Set().

void nux::WindowCompositor::SetBackgroundPaintLayer ( AbstractPaintLayer bkg)
void nux::WindowCompositor::SetTooltip ( InputArea TooltipArea,
const TCHAR TooltipText,
int  x,
int  y 
)
void nux::WindowCompositor::SetWidgetDrawingOverlay ( InputArea ic,
BaseWindow OverlayWindow 
)
void nux::WindowCompositor::StartModalWindow ( ObjectWeakPtr< BaseWindow )
void nux::WindowCompositor::StopModalWindow ( ObjectWeakPtr< BaseWindow )
bool nux::WindowCompositor::ValidateMouseInsideTooltipArea ( int  x,
int  y 
)

Return true if the mouse is still inside the area that initiated the tooltip;

Parameters:
xThe mouse x coordinate on screen.
yThe mouse y coordinate on screen.
Returns:
Return true is the mouse is still inside the area.

Friends And Related Function Documentation

friend class BaseWindow [friend]
friend class HSplitter [friend]
friend class InputArea [friend]
friend class MenuBar [friend]
friend class MenuPage [friend]
friend class TableCtrl [friend]
friend class TimerHandler [friend]
friend class View [friend]
friend class VSplitter [friend]
friend class WindowThread [friend]

Field Documentation


The documentation for this class was generated from the following file: