NXWidgets  1.19
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NXWidgets::CWidgetControl Class Reference

#include <cwidgetcontrol.hxx>

Inheritance diagram for NXWidgets::CWidgetControl:
Inheritance graph

Classes

struct  SXYInput
 

Public Member Functions

 CWidgetControl (FAR const CWidgetStyle *style=(const CWidgetStyle *) NULL)
 
virtual ~CWidgetControl (void)
 
void waitForWindowEvent (void)
 
const bool isWaiting (void) const
 
bool pollEvents (CNxWidget *widget=(CNxWidget *) NULL)
 
bool swapWidgetDepth (CNxWidget *widget)
 
void addControlledWidget (CNxWidget *widget)
 
void removeControlledWidget (CNxWidget *widget)
 
const int getControlledWidgetCount (void) const
 
void addToDeleteQueue (CNxWidget *widget)
 
void setClickedWidget (CNxWidget *widget)
 
CNxWidgetgetClickedWidget (void)
 
void setFocusedWidget (CNxWidget *widget)
 
void clearFocusedWidget (CNxWidget *widget)
 
CNxWidgetgetFocusedWidget (void)
 
bool doubleClick (void)
 
void getWidgetStyle (CWidgetStyle *style)
 
void setWidgetStyle (const CWidgetStyle *style)
 
void geometryEvent (NXHANDLE hWindow, const struct nxgl_size_s *size, const struct nxgl_point_s *pos, const struct nxgl_rect_s *bounds)
 
void redrawEvent (FAR const struct nxgl_rect_s *nxRect, bool more)
 
void newMouseEvent (FAR const struct nxgl_point_s *pos, uint8_t buttons)
 
void newKeyboardEvent (uint8_t nCh, FAR const uint8_t *pStr)
 
void windowBlocked (FAR void *arg)
 
void newCursorControlEvent (ECursorControl cursorControl)
 
NXHANDLE getWindowHandle (void)
 
CRect getWindowBoundingBox (void)
 
void getWindowBoundingBox (FAR struct nxgl_rect_s *bounds)
 
bool getWindowPosition (FAR struct nxgl_point_s *pos)
 
bool getWindowSize (FAR struct nxgl_size_s *size)
 
nxgl_coord_t getWindowWidth (void)
 
nxgl_coord_t getWindowHeight (void)
 
bool createGraphicsPort (INxWindow *window)
 
CGraphicsPortgetGraphicsPort (void)
 
void addWindowEventHandler (CWindowEventHandler *eventHandler)
 
void removeWindowEventHandler (CWindowEventHandler *eventHandler)
 

Protected Member Functions

void copyWidgetStyle (CWidgetStyle *dest, const CWidgetStyle *src)
 
uint32_t elapsedTime (FAR const struct timespec *startTime)
 
void handleLeftClick (nxgl_coord_t x, nxgl_coord_t y, CNxWidget *widget)
 
const int getWidgetIndex (const CNxWidget *widget) const
 
void processDeleteQueue (void)
 
bool pollMouseEvents (CNxWidget *widget)
 
bool pollKeyboardEvents (void)
 
bool pollCursorControlEvents (void)
 
void postWindowEvent (void)
 
void takeGeoSem (void)
 
void giveGeoSem (void)
 
void waitGeoData (void)
 
void takeBoundsSem (void)
 
void giveBoundsSem (void)
 
void waitBoundsData (void)
 
void clearMouseEvents (void)
 

Protected Attributes

CGraphicsPortm_port
 
TNxArray< CNxWidget * > m_deleteQueue
 
TNxArray< CNxWidget * > m_widgets
 
bool m_haveGeometry
 
bool m_waiting
 
sem_t m_waitSem
 
struct SXYInput m_xyinput
 
CNxWidgetm_clickedWidget
 
CNxWidgetm_focusedWidget
 
uint8_t m_kbdbuf [CONFIG_NXWIDGETS_KBDBUFFER_SIZE]
 
uint8_t m_nCh
 
uint8_t m_controls [CONFIG_NXWIDGETS_CURSORCONTROL_SIZE]
 
uint8_t m_nCc
 
NXHANDLE m_hWindow
 
struct nxgl_size_s m_size
 
struct nxgl_point_s m_pos
 
struct nxgl_rect_s m_bounds
 
sem_t m_geoSem
 
sem_t m_boundsSem
 
CWindowEventHandlerList m_eventHandlers
 
CWidgetStyle m_style
 

Detailed Description

Class providing a top-level widget and an interface to the CWidgetControl widget hierarchy.

There are three instances that represent an NX window from the perspective of NXWidgets.

There a various kinds of of window instances, but each inherits (1) CCallback and dispatches the Windows callbacks and (2) INxWindow that describes the common window behavior.

Definition at line 95 of file cwidgetcontrol.hxx.

Constructor & Destructor Documentation

◆ CWidgetControl()

CWidgetControl::CWidgetControl ( FAR const CWidgetStyle style = (const CWidgetStyle *)NULL)

Constructor

Parameters
styleThe default style that all widgets on this display should use. If this is not specified, the widget will use the values stored in the defaultCWidgetStyle object.

CWidgetControl constructor (for the case where the display size is known)

Parameters
styleThe style that the widget should use. If this is not specified, the widget will use the values stored in the global defaultCWidgetStyle object. The widget will copy the properties of the style into its own internal style object.

Definition at line 81 of file cwidgetcontrol.cxx.

◆ ~CWidgetControl()

CWidgetControl::~CWidgetControl ( void  )
virtual

Destructor.

Definition at line 144 of file cwidgetcontrol.cxx.

Member Function Documentation

◆ addControlledWidget()

void NXWidgets::CWidgetControl::addControlledWidget ( CNxWidget widget)
inline

Add another widget to be managed by this control instance

Parameters
widgetThe widget to be controlled.

Definition at line 463 of file cwidgetcontrol.hxx.

◆ addToDeleteQueue()

void CWidgetControl::addToDeleteQueue ( CNxWidget widget)

Add a widget to the list of widgets to be deleted. Must never be called by anything other than the framework itself.

Parameters
widgetThe widget to add to the delete queue.

Definition at line 303 of file cwidgetcontrol.cxx.

◆ addWindowEventHandler()

void NXWidgets::CWidgetControl::addWindowEventHandler ( CWindowEventHandler eventHandler)
inline

Adds a window event handler. The window handler will receive notification all NX events received by this window.

Parameters
eventHandlerA pointer to the event handler.

Definition at line 781 of file cwidgetcontrol.hxx.

◆ clearFocusedWidget()

void NXWidgets::CWidgetControl::clearFocusedWidget ( CNxWidget widget)
inline

Reset the focused widget so that it will no longer receive keyboard input.

Parameters
widgetThe new focused widget.

Definition at line 530 of file cwidgetcontrol.hxx.

◆ clearMouseEvents()

void CWidgetControl::clearMouseEvents ( void  )
protected

Clear all mouse events

Definition at line 944 of file cwidgetcontrol.cxx.

◆ copyWidgetStyle()

void CWidgetControl::copyWidgetStyle ( CWidgetStyle dest,
const CWidgetStyle src 
)
protected

Copy a widget style

Parameters
destThe destination style
srcThe source to use

Definition at line 673 of file cwidgetcontrol.cxx.

◆ createGraphicsPort()

bool CWidgetControl::createGraphicsPort ( INxWindow window)

The creation sequence is:

1) Create a dumb CWigetControl instance 2) Pass the dumb CWidgetControl instance to the window constructor that inherits from INxWindow. 3) The call this method with the static_cast to INxWindow to, finally, create the CGraphicsPort for this window. 4) After that, the fully smartend CWidgetControl instance can be used to generate additional widgets.

Parameters
windowThe instance of INxWindow needed to construct the CGraphicsPort instance

The creation sequence is:

1) Create a dumb CWigetControl instance 2) Pass the dumb CWidgetControl instance to the window constructor that inherits from INxWindow. 3) The call this method with the static_cast to INxWindow to, finally, create the CGraphicsPort for this window. 4) After that, the fully smartened CWidgetControl instance can be used to generate additional widgets.

Parameters
windowThe instance of INxWindow needed to construct the CGraphicsPort instance

Definition at line 656 of file cwidgetcontrol.cxx.

◆ doubleClick()

bool NXWidgets::CWidgetControl::doubleClick ( void  )
inline

Check for the occurrence of a double click.

Returns
Pointer to the clicked widget.

Definition at line 555 of file cwidgetcontrol.hxx.

◆ elapsedTime()

uint32_t CWidgetControl::elapsedTime ( FAR const struct timespec *  startTime)
protected

Return the elapsed time in millisconds

Parameters
startTimeA time in the past from which to compute the elapsed time.
Returns
The elapsed time since startTime

Return the elapsed time in milliseconds

Parameters
tpA time in the past from which to compute the elapsed time.
Returns
The elapsed time since tp

Definition at line 693 of file cwidgetcontrol.cxx.

◆ geometryEvent()

void CWidgetControl::geometryEvent ( NXHANDLE  hWindow,
const struct nxgl_size_s *  size,
const struct nxgl_point_s *  pos,
const struct nxgl_rect_s *  bounds 
)

These remaining methods are used by the CCallback instance to provide notifications of certain events. This event will occur when the position or size of the underlying window occurs.

Parameters
hWindowThe window handle that should be used to communicate with the window
posThe position of the window in the physical device space.
sizeThe size of the window.
boundsThe size of the underlying display (pixels x rows)

This event is called from CCallback instance to provide notifications of certain NX-server related events. This event, in particular, will occur when the position or size of the underlying window occurs.

Parameters
hWindowThe window handle that should be used to communicate with the window
posThe position of the window in the physical device space.
sizeThe size of the window.
boundsThe size of the underlying display (pixels x rows)

Definition at line 372 of file cwidgetcontrol.cxx.

◆ getClickedWidget()

CNxWidget* NXWidgets::CWidgetControl::getClickedWidget ( void  )
inline

Get the clicked widget pointer.

Returns
Pointer to the clicked widget.

Definition at line 511 of file cwidgetcontrol.hxx.

◆ getControlledWidgetCount()

const int NXWidgets::CWidgetControl::getControlledWidgetCount ( void  ) const
inline

Get the number of controlled widgets.

Returns
The number of child widgets belonging to this widget.

Definition at line 482 of file cwidgetcontrol.hxx.

◆ getFocusedWidget()

CNxWidget* NXWidgets::CWidgetControl::getFocusedWidget ( void  )
inline

Get the focused widget pointer.

Returns
Pointer to the focused widget.

Definition at line 544 of file cwidgetcontrol.hxx.

◆ getGraphicsPort()

CGraphicsPort* NXWidgets::CWidgetControl::getGraphicsPort ( void  )
inline

Get the CGraphicsPort instance for drawing on this window

Definition at line 769 of file cwidgetcontrol.hxx.

◆ getWidgetIndex()

const int CWidgetControl::getWidgetIndex ( const CNxWidget widget) const
protected

Get the index of the specified controlled widget.

Parameters
widgetThe widget to get the index of.
Returns
The index of the widget. -1 if the widget is not found.

Definition at line 266 of file cwidgetcontrol.cxx.

◆ getWidgetStyle()

void NXWidgets::CWidgetControl::getWidgetStyle ( CWidgetStyle style)
inline

Get the default widget style for this window.

Parameters
style.The location to return the widget's style

Definition at line 566 of file cwidgetcontrol.hxx.

◆ getWindowBoundingBox() [1/2]

CRect NXWidgets::CWidgetControl::getWindowBoundingBox ( void  )
inline

Get the window bounding box in physical display coordinates. This method may need to wait until bounds data is available.

Returns
This function returns the window handle.

Definition at line 680 of file cwidgetcontrol.hxx.

◆ getWindowBoundingBox() [2/2]

void NXWidgets::CWidgetControl::getWindowBoundingBox ( FAR struct nxgl_rect_s *  bounds)
inline

Definition at line 686 of file cwidgetcontrol.hxx.

◆ getWindowHandle()

NXHANDLE NXWidgets::CWidgetControl::getWindowHandle ( void  )
inline

Get the window handle reported on the first position callback.

Returns
This function returns the window handle.

Definition at line 668 of file cwidgetcontrol.hxx.

◆ getWindowHeight()

nxgl_coord_t NXWidgets::CWidgetControl::getWindowHeight ( void  )
inline

Get the height of the window (as reported by the last NX callback). This method may need to wait until geometry data is available.

Returns
The size.

Definition at line 742 of file cwidgetcontrol.hxx.

◆ getWindowPosition()

bool NXWidgets::CWidgetControl::getWindowPosition ( FAR struct nxgl_point_s *  pos)
inline

Get the position of the window (as reported by the last NX callback). This method may need to wait until geometry data is available.

Returns
The position.

Definition at line 699 of file cwidgetcontrol.hxx.

◆ getWindowSize()

bool NXWidgets::CWidgetControl::getWindowSize ( FAR struct nxgl_size_s *  size)
inline

Get the size of the window (as reported by the last NX callback). This method may need to wait until geometry data is available.

Returns
The size.

Definition at line 714 of file cwidgetcontrol.hxx.

◆ getWindowWidth()

nxgl_coord_t NXWidgets::CWidgetControl::getWindowWidth ( void  )
inline

Get the width of the window (as reported by the last NX callback). This method may need to wait until geometry data is available.

Returns
The size.

Definition at line 729 of file cwidgetcontrol.hxx.

◆ giveBoundsSem()

void NXWidgets::CWidgetControl::giveBoundsSem ( void  )
inlineprotected

Give the bounds semaphore

Definition at line 344 of file cwidgetcontrol.hxx.

◆ giveGeoSem()

void NXWidgets::CWidgetControl::giveGeoSem ( void  )
inlineprotected

Give the geometry semaphore

Definition at line 319 of file cwidgetcontrol.hxx.

◆ handleLeftClick()

void CWidgetControl::handleLeftClick ( nxgl_coord_t  x,
nxgl_coord_t  y,
CNxWidget widget 
)
protected

Pass clicks to the widget hierarchy. Closes the context menu if the clicked widget is not the context menu. If a single widget is supplied, only that widget is sent the click.

Parameters
xClick xcoordinate.
yClick ycoordinate.
widget.Specific widget to poll. Use NULL to run the all widgets in the window.

Pass clicks to the widget hierarchy. If a single widget is supplied, only that widget is sent the click.

Parameters
xClick xcoordinate.
yClick ycoordinate.
widgetPointer to a specific widget or NULL.

Definition at line 744 of file cwidgetcontrol.cxx.

◆ isWaiting()

const bool NXWidgets::CWidgetControl::isWaiting ( void  ) const
inline

Is external logic awaiting for a window event?

Returns
True if the widget if external logic is waiting.

Definition at line 410 of file cwidgetcontrol.hxx.

◆ newCursorControlEvent()

void CWidgetControl::newCursorControlEvent ( ECursorControl  cursorControl)

This event means that cursor control data is available for the window.

Parameters
cursorControlThe cursor control code received.

Definition at line 624 of file cwidgetcontrol.cxx.

◆ newKeyboardEvent()

void CWidgetControl::newKeyboardEvent ( uint8_t  nCh,
FAR const uint8_t *  pStr 
)

This event means that keyboard/keypad data is available for the window.

Parameters
nChThe number of characters that are available in pStr[].
pStrThe array of characters.

This event is called from CCallback instance to provide notifications of certain NX-server related events. This event, in particular, means that keyboard/keypad data is available for the window.

Parameters
nChThe number of characters that are available in pStr[].
pStrThe array of characters.

Definition at line 593 of file cwidgetcontrol.cxx.

◆ newMouseEvent()

void CWidgetControl::newMouseEvent ( FAR const struct nxgl_point_s *  pos,
uint8_t  buttons 
)

This event means that new mouse data is available for the window.

Parameters
posThe (x,y) position of the mouse.
buttonsSee NX_MOUSE_* definitions.

This event is called from CCallback instance to provide notifications of certain NX-server related events. This event, in particular, means that new mouse data is available for the window.

Parameters
posThe (x,y) position of the mouse.
buttonsSee NX_MOUSE_* definitions.

Definition at line 452 of file cwidgetcontrol.cxx.

◆ pollCursorControlEvents()

bool CWidgetControl::pollCursorControlEvents ( void  )
protected

Process cursor control events and send throughout the hierarchy.

Returns
True means a cursor control event was processes

Definition at line 881 of file cwidgetcontrol.cxx.

◆ pollEvents()

bool CWidgetControl::pollEvents ( CNxWidget widget = (CNxWidget *)NULL)

Run all code that needs to take place on a periodic basis. This method normally called externally... either periodically or when a window event is detected. If CONFIG_NXWIDGET_EVENTWAIT is defined, then external logic want call waitWindow event and when awakened, they chould call this function. As an example:

for (;;) { sched_lock(); // Make the sequence atomic if (!window->pollEvents(0)) { window->waitWindowEvent(); } sched_unlock(); }

This method is just a wrapper simply calls the followi.

processDeleteQueue() pollMouseEvents(widget) pollKeyboardEvents() pollCursorControlEvents()

Parameters
widget.Specific widget to poll. Use NULL to run the all widgets in the window.
Returns
True means some interesting event occurred

Run all code that needs to take place on a periodic basis. This method normally called externally... either periodically or when a window event is detected. If CONFIG_NXWIDGET_EVENTWAIT is defined, then external logic want call waitWindow event and when awakened, they chould call this function. As an example:

for (;;) { sched_lock(); // Make the sequence atomic if (!window->pollEvents(0)) { window->waitWindowEvent(); } sched_unlock(); }

This method is just a wrapper simply calls the following methods. It can easily be replace with custom, external logic.

processDeleteQueue() pollMouseEvents(widget) pollKeyboardEvents() pollCursorControlEvents()

Parameters
widget.Specific widget to poll. Use NULL to run the all widgets in the window.
Returns
True means some interesting event occurred

Definition at line 239 of file cwidgetcontrol.cxx.

◆ pollKeyboardEvents()

bool CWidgetControl::pollKeyboardEvents ( void  )
protected

Process keypad events and send throughout the hierarchy.

Returns
True means a keyboard event occurred

Definition at line 851 of file cwidgetcontrol.cxx.

◆ pollMouseEvents()

bool CWidgetControl::pollMouseEvents ( CNxWidget widget)
protected

Process mouse/touchscreen events and send throughout the hierarchy.

Parameters
widget.Specific widget to poll. Use NULL to run the all widgets in the window.
Returns
True means a mouse event occurred

Definition at line 792 of file cwidgetcontrol.cxx.

◆ postWindowEvent()

void CWidgetControl::postWindowEvent ( void  )
protected

Wake up and external logic that is waiting for a window event.

Wake up external logic waiting for a window event

Definition at line 200 of file cwidgetcontrol.cxx.

◆ processDeleteQueue()

void CWidgetControl::processDeleteQueue ( void  )
protected

Delete any widgets in the deletion queue.

Definition at line 772 of file cwidgetcontrol.cxx.

◆ redrawEvent()

void CWidgetControl::redrawEvent ( FAR const struct nxgl_rect_s *  nxRect,
bool  more 
)

This event will occur when the a portion of the window that was previously obscured is now exposed.

Parameters
nxRectThe region in the window that must be redrawn.
moreTrue means that more re-draw requests will follow

This event is called from CCallback instance to provide notifications of certain NX-server related events. This event, in particular, will occur when the a portion of the window that was previously obscured is now exposed.

Parameters
rectThe region in the window that must be redrawn.
moreTrue means that more re-draw requests will follow

Definition at line 434 of file cwidgetcontrol.cxx.

◆ removeControlledWidget()

void CWidgetControl::removeControlledWidget ( CNxWidget widget)

Remove a controlled widget

Parameters
widgetThe widget to be removed

Definition at line 285 of file cwidgetcontrol.cxx.

◆ removeWindowEventHandler()

void NXWidgets::CWidgetControl::removeWindowEventHandler ( CWindowEventHandler eventHandler)
inline

Remove a window event handler.

Parameters
eventHandlerA pointer to the event handler to remove.

Definition at line 792 of file cwidgetcontrol.hxx.

◆ setClickedWidget()

void CWidgetControl::setClickedWidget ( CNxWidget widget)

Set the clicked widget pointer. Note that this should not be called by code other than within the CWidgetControl library itself.

Parameters
widgetThe new clicked widget.

Definition at line 323 of file cwidgetcontrol.cxx.

◆ setFocusedWidget()

void CWidgetControl::setFocusedWidget ( CNxWidget widget)

Set the focused widget that will receive keyboard input.

Parameters
widgetThe new focused widget.

Definition at line 345 of file cwidgetcontrol.cxx.

◆ setWidgetStyle()

void NXWidgets::CWidgetControl::setWidgetStyle ( const CWidgetStyle style)
inline

Set the default widget style for this window.

Parameters
style.The new widget style to copy.

Definition at line 577 of file cwidgetcontrol.hxx.

◆ swapWidgetDepth()

bool NXWidgets::CWidgetControl::swapWidgetDepth ( CNxWidget widget)

Swaps the depth of the supplied widget. This function presumes that all child widgets are screens.

Parameters
widgetThe widget to be depth-swapped.
Returns
True if the depth swap occurred.

◆ takeBoundsSem()

void CWidgetControl::takeBoundsSem ( void  )
protected

Take the bounds semaphore (handling signal interruptions)

Definition at line 926 of file cwidgetcontrol.cxx.

◆ takeGeoSem()

void CWidgetControl::takeGeoSem ( void  )
protected

Take the geometry semaphore (handling signal interruptions)

Definition at line 909 of file cwidgetcontrol.cxx.

◆ waitBoundsData()

void NXWidgets::CWidgetControl::waitBoundsData ( void  )
inlineprotected

Wait for bounds data

Definition at line 353 of file cwidgetcontrol.hxx.

◆ waitForWindowEvent()

void CWidgetControl::waitForWindowEvent ( void  )

Wait for an interesting window event to occur (like a mouse or keyboard event) Caller's should exercise care to assure that the test for waiting and this call are "atomic" .. perhaps by locking the scheduler like:

sched_lock(); <check for="" events>=""> if (<no interesting="" events>="">) { window->waitForWindowEvent(); } sched_unlock();

Wait for an interesting window event to occur (like a mouse or keyboard event). Caller's should exercise care to assure that the test for waiting and this call are "atomic" .. perhaps by locking the scheduler like:

sched_lock(); ... if (no interesting events) { window->waitForWindowEvent(); } sched_unlock();

Definition at line 187 of file cwidgetcontrol.cxx.

◆ waitGeoData()

void NXWidgets::CWidgetControl::waitGeoData ( void  )
inlineprotected

Wait for geometry data

Definition at line 328 of file cwidgetcontrol.hxx.

◆ windowBlocked()

void NXWidgets::CWidgetControl::windowBlocked ( FAR void *  arg)
inline

This event is the response from nx_block (or nxtk_block). Those blocking interfaces are used to assure that no further messages are directed to the window. Receipt of the blocked callback signifies that (1) there are no further pending events and (2) that the window is now 'defunct' and will receive no further events.

This event supports coordinated destruction of a window in multi- user mode. In multi-use mode, the client window logic must stay intact until all of the queued callbacks are processed. Then the window may be safely closed. Closing the window prior with pending callbacks can lead to bad behavior when the callback is executed.

Parameters
arg- User provided argument (see nx_block or nxtk_block)

Definition at line 649 of file cwidgetcontrol.hxx.

Member Data Documentation

◆ m_bounds

struct nxgl_rect_s NXWidgets::CWidgetControl::m_bounds
protected

Size of the display

Definition at line 217 of file cwidgetcontrol.hxx.

◆ m_boundsSem

sem_t NXWidgets::CWidgetControl::m_boundsSem
protected

Posted when bounds are valid

Definition at line 219 of file cwidgetcontrol.hxx.

◆ m_clickedWidget

CNxWidget* NXWidgets::CWidgetControl::m_clickedWidget
protected

Pointer to the widget that is clicked.

Definition at line 199 of file cwidgetcontrol.hxx.

◆ m_controls

uint8_t NXWidgets::CWidgetControl::m_controls[CONFIG_NXWIDGETS_CURSORCONTROL_SIZE]
protected

Definition at line 207 of file cwidgetcontrol.hxx.

◆ m_deleteQueue

TNxArray<CNxWidget*> NXWidgets::CWidgetControl::m_deleteQueue
protected

Array of widgets awaiting deletion.

Definition at line 178 of file cwidgetcontrol.hxx.

◆ m_eventHandlers

CWindowEventHandlerList NXWidgets::CWidgetControl::m_eventHandlers
protected

List of event handlers.

Definition at line 220 of file cwidgetcontrol.hxx.

◆ m_focusedWidget

CNxWidget* NXWidgets::CWidgetControl::m_focusedWidget
protected

Pointer to the widget that received keyboard input.

Definition at line 201 of file cwidgetcontrol.hxx.

◆ m_geoSem

sem_t NXWidgets::CWidgetControl::m_geoSem
protected

Posted when geometry is valid

Definition at line 218 of file cwidgetcontrol.hxx.

◆ m_haveGeometry

bool NXWidgets::CWidgetControl::m_haveGeometry
protected

True: indicates that we have valid geometry data.

Definition at line 182 of file cwidgetcontrol.hxx.

◆ m_hWindow

NXHANDLE NXWidgets::CWidgetControl::m_hWindow
protected

The following were picked off from the position callback.Handle to the NX window

Definition at line 214 of file cwidgetcontrol.hxx.

◆ m_kbdbuf

uint8_t NXWidgets::CWidgetControl::m_kbdbuf[CONFIG_NXWIDGETS_KBDBUFFER_SIZE]
protected

Definition at line 204 of file cwidgetcontrol.hxx.

◆ m_nCc

uint8_t NXWidgets::CWidgetControl::m_nCc
protected

Number of buffered cursor controls

Definition at line 208 of file cwidgetcontrol.hxx.

◆ m_nCh

uint8_t NXWidgets::CWidgetControl::m_nCh
protected

Number of buffered keyboard characters

Definition at line 205 of file cwidgetcontrol.hxx.

◆ m_port

CGraphicsPort* NXWidgets::CWidgetControl::m_port
protected

State dataThe graphics port that is used for drawing on this window

Definition at line 175 of file cwidgetcontrol.hxx.

◆ m_pos

struct nxgl_point_s NXWidgets::CWidgetControl::m_pos
protected

Position in display space

Definition at line 216 of file cwidgetcontrol.hxx.

◆ m_size

struct nxgl_size_s NXWidgets::CWidgetControl::m_size
protected

Size of the window

Definition at line 215 of file cwidgetcontrol.hxx.

◆ m_style

CWidgetStyle NXWidgets::CWidgetControl::m_style
protected

StyleDefault style used by all widgets in the window.

Definition at line 226 of file cwidgetcontrol.hxx.

◆ m_waiting

bool NXWidgets::CWidgetControl::m_waiting
protected

True: Extternal logic waiting for window event

Definition at line 185 of file cwidgetcontrol.hxx.

◆ m_waitSem

sem_t NXWidgets::CWidgetControl::m_waitSem
protected

External loops waits for events on this semaphore

Definition at line 187 of file cwidgetcontrol.hxx.

◆ m_widgets

TNxArray<CNxWidget*> NXWidgets::CWidgetControl::m_widgets
protected

List of controlled widgets.

Definition at line 180 of file cwidgetcontrol.hxx.

◆ m_xyinput

struct SXYInput NXWidgets::CWidgetControl::m_xyinput
protected

I/OCurrent XY input device state

Definition at line 196 of file cwidgetcontrol.hxx.


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