![]()  | 
![]()  | 
![]()  | 
![]()  | 
Add a single Pt_CB_FILTER callback to a widget
void PtAddFilterCallback( PtWidget_t *widget,
                          unsigned long event_mask,
                          PtCallbackF_t *callback,
                          void *data );
ph
This function adds the specified callback to the Pt_CB_FILTER callback list that belongs to widget. The widget invokes this callback whenever an event type that matches one of the bits in event_mask intersects with the widget.
The callback argument points to a function that takes this form:
int (*callback)(PtWidget_t *, void *, PtCallbackInfo_t *)
PtWidget_t *widget;
PtRawCallback_t callbacks[] = {
    Ph_EV_PTR_MOTION_BUTTON,
    motion_button_callback,
    NULL, 
    Ph_EV_BUT_PRESS | Ph_EV_BUT_RELEASE, 
    start_end_callback,
    "some data"
}
...
//add both event handlers
PtAddFilterCallbacks( widget, callbacks, 2 );
...
//remove both event handlers
PtRemoveFilterCallbacks( widget, callbacks, 2 );
...
//add the motion button event handler
PtAddFilterCallback( widget, Ph_EV_PTR_MOTION_BUTTON, 
                     motion_button_callback, NULL );
...
//remove the motion button event handler
PtRemoveFilterCallback( widget, Ph_EV_PTR_MOTION_BUTTON, 
                        motion_button_callbacks, NULL );
...
//add both event handlers
PtAddFilterCallbacks( widget, callbacks, 2 );
...
//remove the motion button event handler
PtRemoveFilterCallback( widget, Ph_EV_PTR_MOTION_BUTTON, 
                        motion_button_callbacks, NULL );
// at this point widget still has the Ph_EV_BUT 
// Press/Release event handler 
Photon
| Safety: | |
|---|---|
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | No | 
PtAddCallback(), PtAddCallbacks(), PtAddEventHandler(), PtAddEventHandlers(), PtAddFilterCallbacks(), PtAddHotkeyHandler(), PtRemoveFilterCallback(), PtRemoveFilterCallbacks()
PtRawCallback_t, Pt_CB_FILTER in the Photon Widget Reference
PtCallbackInfo_t in the Photon Widget Reference
“Event handlers” in the Managing Widgets in Application Code chapter of the Photon Programmer's Guide
![]()  | 
![]()  | 
![]()  | 
![]()  |