yep, good point.
I have a function changelights, where the ptsetresource statements are. The function updategui, is called by the PtTimer callback activate.
void changelights(int xlight, int xcolour)
{
switch (xlight)
{
case 1:
//Ped light
switch (xcolour)
{
case 0: //red
PtSetResource(ABW_PedPGreen, Pt_ARG_INSIDE_COLOR, Pg_BLACK, 0 );
PtSetResource(ABW_PedPRed, Pt_ARG_INSIDE_COLOR, Pg_RED, 0 );
break;
case 1: //green
PtSetResource(ABW_PedPGreen, Pt_ARG_INSIDE_COLOR, Pg_GREEN, 0 );
PtSetResource(ABW_PedPRed, Pt_ARG_INSIDE_COLOR, Pg_BLACK, 0 );
break;
case 2: //amber
PtSetResource(ABW_PedPGreen, Pt_ARG_INSIDE_COLOR, Pg_YELLOW, 0 );
PtSetResource(ABW_PedPRed, Pt_ARG_INSIDE_COLOR, Pg_YELLOW, 0 );
break;
}
break;
case 2:
//Traffic light
switch (xcolour)
{
case 0: //red
PtSetResource(ABW_PedTGreen, Pt_ARG_INSIDE_COLOR, Pg_BLACK, 0 );
PtSetResource(ABW_PedTRed, Pt_ARG_INSIDE_COLOR, Pg_RED, 0 );
PtSetResource(ABW_PedTYellow, Pt_ARG_INSIDE_COLOR, Pg_BLACK, 0 );
break;
case 1: //green
PtSetResource(ABW_PedTGreen, Pt_ARG_INSIDE_COLOR, Pg_GREEN, 0 );
PtSetResource(ABW_PedTRed, Pt_ARG_INSIDE_COLOR, Pg_BLACK, 0 );
PtSetResource(ABW_PedTYellow, Pt_ARG_INSIDE_COLOR, Pg_BLACK, 0 );
break;
case 2: //amber
PtSetResource(ABW_PedTGreen, Pt_ARG_INSIDE_COLOR, Pg_BLACK, 0 );
PtSetResource(ABW_PedTRed, Pt_ARG_INSIDE_COLOR, Pg_BLACK, 0 );
PtSetResource(ABW_PedTYellow, Pt_ARG_INSIDE_COLOR, Pg_YELLOW, 0 );
break;
}
break;
}
}
int UpdateGUI( PtWidget_t *widget, ApInfo_t *apinfo, PtCallbackInfo_t *cbinfo )
{
changelights(1,1);
changelights(2,0);
/* eliminate ‘unreferenced’ warnings */
widget = widget, apinfo = apinfo, cbinfo = cbinfo;
return( Pt_CONTINUE );
}