コード例 #1
0
ファイル: steering.cpp プロジェクト: bSkwared/asee2016
int steering::getCurrentState(int* array, int size) {

    int index;
    int leftMost;
    int amount = 0;
    int state;

    for (int i = 0; i < size; ++i) {
        if (array[i]) {
            if (amount == 0) {
              leftMost = i;
            }
            ++amount;
            index = i;
        } else if (amount) {
            break;
        }
    }

    switch(amount) {
        case 0:
            if (getLastState() > 0) {
                state = 8;
            } else {
                state = -8;
            }
            break;          
        case 1:
            state = index * 2 - 7;
            break;
        case 2:
            state = index * 2 - 8;
            break;
        default:
            if (3 - leftMost < index - 4) {
              state = 10; 
            } else {
              state = -10;
            }

            
    }
    addToStates(state);
    return state;
}
コード例 #2
0
ファイル: gcToggleButton.cpp プロジェクト: Alasaad/Desurium
void gcToggleButton::setImage()
{
	switch (getLastState())
	{
	case BS_TOGGLEON:	
		gcButton::setImage(m_szToggleOn);		
		break;

	case BS_TOGGLEOFF:	
		gcButton::setImage(m_szToggleOff);		
		break;

	default:			
		gcButton::setImage();				
		break;
	};

	if (m_bToggled)
		SetForegroundColour(m_TextColor);
	else
		SetForegroundColour(wxColour(160,160,160,255));
}