Esempio n. 1
0
bool plLayerSDLAnimation::MsgReceive(plMessage* msg)
{
    plSDLNotificationMsg* nMsg = plSDLNotificationMsg::ConvertNoRef(msg);
    if (nMsg)
    {
        TopOfStack()->Eval(hsTimer::GetSysSeconds(), 0, 0);
        ClaimChannels(fOwnedChannels);
        return true;
    }

    return plLayerAnimationBase::MsgReceive(msg);
}
Esempio n. 2
0
void plLayerLinkAnimation::SetFadeFlag(uint8_t flag, bool val)
{
    if (val)
        fFadeFlags |= flag;
    else
        fFadeFlags &= ~flag;

    if (fFadeFlags == 0)
        fLastFadeFlag = flag;
    
    TopOfStack()->Eval(hsTimer::GetSysSeconds(), 0, 0);
    ClaimChannels(fOwnedChannels);
    fCurrentTime = -1; // force eval
    fFadeFlagsDirty = true;
}
int main(void)
{
	int input;
	ElementType tempcell;
	
	Stack P;
	P = IniStack();												//INISTACK
	while( scanf("%d", &input) )
	{
		tempcell.number = input;
		Push( P, tempcell );									//PUSH
	}
		PR(P);
	Pop( P );													//POP
	PR(P);	
	tempcell = TopOfStack( P );									//TopOfStack 
	Push( P, tempcell );
	PR(P);
	DestoryStack( P );
return 0;	
} 
Esempio n. 4
0
bool plLayerAnimation::MsgReceive(plMessage* msg)
{
    // pass sdl msg to sdlMod
    plSDLModifierMsg* sdlMsg = plSDLModifierMsg::ConvertNoRef(msg);
    if (sdlMsg && fLayerSDLMod)
    {
        if (fLayerSDLMod->MsgReceive(sdlMsg))
            return true;    // msg handled
    }

    bool retVal = false;
    plAnimCmdMsg* cmdMsg = plAnimCmdMsg::ConvertNoRef(msg);
    if( cmdMsg )
    {
        // Evaluate first, so we'll be transitioning from our
        // real current state, whether we've been evaluated (in view)
        // lately or not.
        TopOfStack()->Eval(hsTimer::GetSysSeconds(), 0, 0);
        retVal = fTimeConvert.HandleCmd(cmdMsg);
        DirtySynchState(kSDLLayer, 0);
    }

    if( retVal )
    {
        if( !fTimeConvert.IsStopped() || fTimeConvert.GetFlag(plAnimTimeConvert::kForcedMove) )
        {
            ClaimChannels(fOwnedChannels);
            fCurrentTime = -1.f; // force an eval
        }
    }
    else
    {
        retVal = plLayerAnimationBase::MsgReceive(msg);
    }
    
    return retVal;
}