typedef struct { GR_EVENT_TYPE type; GR_WINDOW_ID wid; GR_WINDOW_ID subwid; GR_COORD x; GR_COORD y; GR_SIZE width; GR_SIZE height; GR_UPDATE_TYPE utype; } GR_EVENT_UPDATE;
The GR_EVENT_UPDATE structure is used by nano-X to pass data related to the events GR_EVENT_TYPE_UPDATE and GR_EVENT_TYPE_CHILD_UPDATE.
Update events are sent to the nano-X client if they have been selected for a window. The update events are "sent to" the window that the event is selected for. GR_EVENT_TYPE_UPDATE events are sent to a window when that window is updated. GR_EVENT_TYPE_CHILD_UPDATE events are sent to a window when one of it's child windows is updated. Windows are "updated" when they are moved, resized, mapped, unmapped, activated and destroyed.
Type | Name | Description |
---|---|---|
GR_EVENT_TYPE | type | The event type will be GR_EVENT_TYPE_UPDATE or GR_EVENT_TYPE_CHLD_UPDATE. |
GR_WINDOW_ID | wid | This field is the ID of the window to which the event is being sent. When the event type is GR_EVENT_TYPE_UPDATE this is the window that is being updated. When the event type is GR_EVENT_TYPE_CHILD_UPDATE then this field indicates one of the updated window's ancestors. The particular ancestor is the window that the event is being sent to. |
GR_WINDOW_ID | subwid | This field indicates the window that was updated. If the event type is GR_EVENT_TYPE_UPDATE then this field is the same as the wid field. Otherwise this field is a decendant of wid. In that case this is the actual window that is being updated. |
GR_COORD | x | The updated X position of the window. The field is unused if the update type is GR_UPDATE_UNMAP, GR_UPDATE_UNMAPTEMP or GR_UPDATE_ACTIVATE. |
GR_COORD | y | The updated Y position of the window. The field is unused if the update type is GR_UPDATE_UNMAP, GR_UPDATE_UNMAPTEMP or GR_UPDATE_ACTIVATE. |
GR_SIZE | width | The updated width of the window. The field is unused if the update type is GR_UPDATE_UNMAP, GR_UPDATE_UNMAPTEMP or GR_UPDATE_ACTIVATE. |
GR_SIZE | height | The updated height of the window. The field is unused if the update type is GR_UPDATE_UNMAP, GR_UPDATE_UNMAPTEMP or GR_UPDATE_ACTIVATE. |
GR_UPDATE_TYPE | utype | This field indicates the type of update that triggered the event. The update type may be one of: GR_UPDATE_MAP, GR_UPDATE_UNMAP, GR_UPDATE_MOVE, GR_UPDATE_SIZE, GR_UPDATE_UNMAPTEMP, GR_UPDATE_ACTIVATE, GR_UPDATE_DESTROY. |