コード例 #1
0
ファイル: istack.c プロジェクト: Eidolian/qt-gmail-access
/*
  push a copy of an inline node onto stack
  but don't push if implicit or OBJECT or APPLET
  (implicit tags are ones generated from the istack)

  One issue arises with pushing inlines when
  the tag is already pushed. For instance:

      <p><em>text
      <p><em>more text

  Shouldn't be mapped to

      <p><em>text</em></p>
      <p><em><em>more text</em></em>
*/
void PushInline( TidyDocImpl* doc, Node *node )
{
    Lexer* lexer = doc->lexer;
    IStack *istack;

    if (node->implicit)
        return;

    if ( !IsNodePushable(node) )
        return;

    if ( !nodeIsFONT(node) && IsPushed(doc, node) )
        return;

    /* make sure there is enough space for the stack */
    if (lexer->istacksize + 1 > lexer->istacklength)
    {
        if (lexer->istacklength == 0)
            lexer->istacklength = 6;   /* this is perhaps excessive */

        lexer->istacklength = lexer->istacklength * 2;
        lexer->istack = (IStack *)MemRealloc(lexer->istack,
                            sizeof(IStack)*(lexer->istacklength));
    }

    istack = &(lexer->istack[lexer->istacksize]);
    istack->tag = node->tag;

    istack->element = tmbstrdup(node->element);
    istack->attributes = DupAttrs( doc, node->attributes );
    ++(lexer->istacksize);
}
コード例 #2
0
ファイル: Config.cpp プロジェクト: nutti/GameEngine
	SceneType Config::Impl::Update()
	{
		// 最初の時のカウンタ
		if( m_Counter < 60 ){
			++m_Counter;
			return SCENE_TYPE_NOT_CHANGE;
		}

		if( m_SelectCounter > 0 ){
			--m_SelectCounter;
		}

		if( m_InputAccpetCount > 0 ){
			--m_InputAccpetCount;
			return SCENE_TYPE_NOT_CHANGE;
		}

		if( m_Mode == CONFIG_MODE_MENU ){
			if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_BOMB ) ){
				return SCENE_TYPE_MENU;
			}
			else if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_DOWN ) ){
				++m_SelectedItem;
				if( m_SelectedItem > CONFIG_ITEM_TOTAL - 1 ){
					m_SelectedItem = 0;
				}
				m_SelectCounter = 10;
			}
			else if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_UP ) ){
				--m_SelectedItem;
				if( m_SelectedItem < 0 ){
					m_SelectedItem = CONFIG_ITEM_TOTAL - 1;
				}
				m_SelectCounter = 10;
			}

		
			if( m_SelectedItem == CONFIG_ITEM_BGM ){
				if( IsKeepPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_RIGHT ) ){
					++m_ConfigData.m_BGMVolume;
					if( m_ConfigData.m_BGMVolume > MAX_BGM_VOLUME ){
						m_ConfigData.m_BGMVolume = MAX_BGM_VOLUME;
					}
					if( std::shared_ptr < EventMediator > p = m_pEventMediator.lock() ){
						p->SendEvent( EVENT_TYPE_BGM_VOLUME_CHANGED, &m_ConfigData );
					}
				}
				else if( IsKeepPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_LEFT ) ){
					--m_ConfigData.m_BGMVolume;
					if( m_ConfigData.m_BGMVolume < 0 ){
						m_ConfigData.m_BGMVolume = 0;
					}
					if( std::shared_ptr < EventMediator > p = m_pEventMediator.lock() ){
						p->SendEvent( EVENT_TYPE_BGM_VOLUME_CHANGED, &m_ConfigData );
					}
				}
			}
			else if( m_SelectedItem == CONFIG_ITEM_SE ){
				if( IsKeepPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_RIGHT ) ){
					++m_ConfigData.m_SEVolume;
					if( m_ConfigData.m_SEVolume > MAX_BGM_VOLUME ){
						m_ConfigData.m_SEVolume = MAX_BGM_VOLUME;
					}
					if( std::shared_ptr < EventMediator > p = m_pEventMediator.lock() ){
						p->SendEvent( EVENT_TYPE_SE_VOLUME_CHANGED, &m_ConfigData );
					}
				}
				else if( IsKeepPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_LEFT ) ){
					--m_ConfigData.m_SEVolume;
					if( m_ConfigData.m_SEVolume < 0 ){
						m_ConfigData.m_SEVolume = 0;
					}
					if( std::shared_ptr < EventMediator > p = m_pEventMediator.lock() ){
						p->SendEvent( EVENT_TYPE_SE_VOLUME_CHANGED, &m_ConfigData );
					}
				}
			}
			else if( m_SelectedItem == CONFIG_ITEM_PLAY_SPEED ){
				if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_RIGHT ) ){
					++m_ConfigData.m_PlaySpeed;
					if( m_ConfigData.m_PlaySpeed > GAME_PLAY_SPEED_X4 ){
						m_ConfigData.m_PlaySpeed = GAME_PLAY_SPEED_X1_4;
					}
					if( std::shared_ptr < EventMediator > p = m_pEventMediator.lock() ){
						p->SendEvent( EVENT_TYPE_PLAY_SPEED_CHANGED, &m_ConfigData );
					}
				}
				else if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_LEFT ) ){
					--m_ConfigData.m_PlaySpeed;
					if( m_ConfigData.m_PlaySpeed < GAME_PLAY_SPEED_X1_4 ){
						m_ConfigData.m_PlaySpeed = GAME_PLAY_SPEED_X4;
					}
					if( std::shared_ptr < EventMediator > p = m_pEventMediator.lock() ){
						p->SendEvent( EVENT_TYPE_PLAY_SPEED_CHANGED, &m_ConfigData );
					}
				}
			}
			else if( m_SelectedItem == CONFIG_ITEM_INPUT ){
				if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_SHOT ) ){
					m_Mode = CONFIG_MODE_INPUT;
				}
			}
			else if( m_SelectedItem == CONFIG_ITEM_EXIT ){
				if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_SHOT ) ){
					return SCENE_TYPE_MENU;
				}
			}
		}
		else if( m_Mode == CONFIG_MODE_INPUT ){
			if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_BOMB ) ){
				m_Mode = CONFIG_MODE_MENU;
			}
			else if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_UP ) ){
				--m_SelectedInputItem;
				if( m_SelectedInputItem < 0 ){
					m_SelectedInputItem = GENERAL_BUTTON_TOTAL - 1;
				}
				m_SelectCounter = 10;
			}
			else if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_MOVE_DOWN ) ){
				++m_SelectedInputItem;
				if( m_SelectedInputItem > GENERAL_BUTTON_TOTAL - 1 ){
					m_SelectedInputItem = 0;
				}
				m_SelectCounter = 10;
			}
			else if( IsPushed( m_ButtonStatus, GENERAL_BUTTON_SHOT ) ){
				m_Mode = CONFIG_MODE_INPUT_KEY;
				m_InputAccpetCount = 10;
			}
		}
		else if( m_Mode == CONFIG_MODE_INPUT_KEY ){
			for( int i = 0; i < sizeof( ALLOWED_BUTTONS ) / sizeof( ALLOWED_BUTTONS[ 0 ] ); ++i ){
				if( MAPIL::IsKeyboardKeyPushed( MAPIL::GetKeyboardKeyCode( ALLOWED_BUTTONS[ i ] ) ) ){
					m_ConfigData.m_KeyboardCaps[ m_SelectedInputItem ] = ALLOWED_BUTTONS[ i ];
					m_Mode = CONFIG_MODE_INPUT;
					m_InputAccpetCount = 10;
					break;
				}
			}
		}


		++m_Counter;

		return SCENE_TYPE_NOT_CHANGE;
	}