Data structure describing a window action
typedef struct _Ph_window_event {
ulong_t event_f;
ulong_t state_f;
PhRid_t rid;
PhPoint_t pos;
PhDim_t size;
ushort_t event_state;
ushort_t input_group;
ulong_t rsvd[4];
} PhWindowEvent_t;
Using the PhWindowEvent_t structure, your
application can determine what kind of window action just
occurred, or can tell the window manager to perform a
specific action on its behalf.
This structure contains at least the following members:
- unsigned long event_f
- The type of the window event. The flags you can set in this
member are the same as those for
Pt_ARG_WINDOW_MANAGED_FLAGS
and
Pt_ARG_WINDOW_NOTIFY_FLAGS
resources of the
PtWindow
widget (described in the Photon Widget Reference):
- Ph_WM_CLOSE - the window is to be closed.
- Ph_WM_FOCUS - the window is to gain/lose focus.
- Ph_WM_MENU - the window menu is requested
or dismissed.
- Ph_WM_TOFRONT - the window is to be moved
to the front.
- Ph_WM_TOBACK - the window is to be moved
to the back.
- Ph_WM_CONSWITCH - the window is to switch
consoles.
- Ph_WM_RESIZE - the window is to be resized.
- Ph_WM_MOVE - the window is to be moved.
- Ph_WM_HIDE - the window is to be hidden or unhidden.
- Ph_WM_MAX - the window is to be maximized.
- Ph_WM_BACKDROP - the window is to be made into a backdrop.
- Ph_WM_RESTORE - the window is to be restored.
- Ph_WM_HELP - the help button is pressed.
- Ph_WM_FFRONT - the window is to be made force-front or not force-front.
Some events can have two meanings; see the description of the
event_state member.
- unsigned long state_f
- The current state of the window:
- Ph_WM_STATE_ISNORMAL - a normal window.
- Ph_WM_STATE_ISHIDDEN - window is hidden.
- Ph_WM_STATE_ISMAX - window is maximized.
- Ph_WM_STATE_ISICONIFIED - window is iconified.
- Ph_WM_STATE_ISTASKBAR - window is a taskbar.
- Ph_WM_STATE_ISBACKDROP - window forms the
workspace backdrop.
- PhRid_t rid
- The ID of the affected region.
- short event_state
- Indicates that the Window Manager has completed or
been asked to complete the requested action. If the event
is emitted to the Window Manager, the event is performed by
the Window Manager. If an application collects the event,
the Window Manager has completed the event.
The following operations have two event states; you can
OR one of these states into event_state:
- Ph_WM_FFRONT-either
Ph_WM_EVSTATE_FFRONT or
Ph_WM_EVSTATE_FFRONT_DISABLE.
- Ph_WM_FOCUS-either
Ph_WM_EVSTATE_FOCUS or
Ph_WM_EVSTATE_FOCUSLOST.
- Ph_WM_HIDE-either
Ph_WM_EVSTATE_HIDE or
Ph_WM_EVSTATE_UNHIDE.
- Ph_WM_MENU-either
Ph_WM_EVSTATE_MENU or
Ph_WM_EVSTATE_MENU_FINISH.
- All other toggle events-either
Ph_WM_EVSTATE_PERFORM or
Ph_WM_EVSTATE_INVERSE.
- PhPoint_t pos
- The position of the window.
This member is valid only for Ph_WM_BACKDROP,
Ph_WM_MAX,
Ph_WM_MOVE,
Ph_WM_RESIZE, and
Ph_WM_RESTORE events.
- PhDim_t size
- Indicates the width and height of the window. This member is
only for Ph_WM_BACKDROP,
Ph_WM_MAX,
Ph_WM_RESIZE, and
Ph_WM_RESTORE events.
- ushort_t input_group
- The input group associated with the event.
Photon
PtForwardWindowEvent(),
PtForwardWindowTaskEvent()
Window Management
chapter of the Photon Programmer's Guide.