![]()  | 
![]()  | 
![]()  | 
![]()  | 
Find the control surface associated with a given action
PtSurface_t *PtFindSurfaceByAction( 
                 PtWidget_t *widget,
                 PtWidgetClassRef_t const *cref,
                 unsigned short action_id,
                 PtSurface_t const *surface );
ph
This function locates a control surface using its associated action as a search key.
The widget argument specifies the widget to search, while cref and action_id specify the class and manifest of the action to seek. The surface argument specifies the surface at which to start the search, letting you find all the surfaces in a widget associated with a particular action. If this argument is NULL, the search begins at the first surface within the widget.
![]()  | 
This function ignores regular surfaces (i.e. those created using PtCreateSurface() as opposed to PtCreateActionSurface()). | 
A pointer to the structure representing the control surface, or NULL if no more surfaces associated with the specified action could be found.
![]()  | 
Since control surfaces are maintained internally as an array, it's not uncommon for them to shift around in memory as surfaces are added and removed, thereby possibly invalidating a pointer returned by this function. As such, all surface pointers should be regarded as transient, and you should retrieve an updated copy whenever there's a chance that the widget's surface configuration might have changed. | 
Photon
| Safety: | |
|---|---|
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | No | 
PtFindSurface(), PtWidgetActiveSurface()
Control Surfaces chapter of the Photon Programmer's Guide
![]()  | 
![]()  | 
![]()  | 
![]()  |