![]() |
![]() |
![]() |
Check to see if an event is pending
int PhEventPeek( void *buffer, unsigned size );
This function lets you check if an event is pending on the current Photon channel. When there's an event pending, Photon replies immediately with that event, and this function returns Ph_EVENT_MSG. If no message is available, this function returns 0. Since this function is nonblocking, you should find it useful for applications that need to run continuously and still interact with Photon.
#define EVENT_SIZE sizeof( PhEvent_t ) + 1000 main( int argc, char *argv[] ) { int go = 1, count = 0; PhEvent_t *event; if( initialize() == -1 ) exit( EXIT_FAILURE ); if( NULL == ( event = malloc( EVENT_SIZE ) ) ) exit( EXIT_FAILURE ); while( go ) { if(( ++count & 15) == 0) { PgFlush(); switch( PhEventPeek( event, EVENT_SIZE ) { case Ph_EVENT_MSG: PtEventHandler( event ); break; case -1: perror( "PhEventPeek failed" ); break; } } iterate_graphics_process(); } exit( 0 ); }
Photon
Safety: | |
---|---|
Interrupt handler | No |
Signal handler | No |
Thread | No |
PhAttach(), PhEventArm(), PhEventNext(), PhEventRead()
![]() |
![]() |
![]() |