void UI::pageMain() { m_lcd->drawClear(WHITE); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(16, 0, 30, 4), 120, 30, "MEASURE", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_MEASURE); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(16, 1, 30, 4), 120, 30, "MONITOR", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_MONITOR); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(16, 2, 30, 4), 120, 30, "SETTINGS", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_SETTINGS); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(16, 3, 30, 4), 120, 30, "SHUTDOWN", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_SHUTDOWN); }
void UI::pageSettings() { m_lcd->drawClear(WHITE); m_lcd->drawStringF(CENTERX, 32, 2, BLACK, TRANSPARENT, "Timeout: %ds", BACKLIGHT_TIMEOUT); m_lcd->drawString(CENTERX, 48, 2, BLACK, TRANSPARENT, "Baudrate: 9600bps"); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(64, 0, 30, 4), 120, 30, "MUTE SND", 2, isMuted?Button::BUTTON_PRESSED:Button::BUTTON_UNPRESSED, ID_BUTTON_MUTE); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(64, 1, 30, 4), 120, 30, "CALIBRATE", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_CALIBRATE); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(64, 2, 30, 4), 120, 30, "WLAN", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_WLAN); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(64, 3, 30, 4), 120, 30, "BACK", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_BACK); }
void UI::pageWLAN() { m_lcd->drawClear(WHITE); // do we have APs discovered? if (m_data->freeAPCount) { for (uint8_t i=0;i<m_data->freeAPCount;i++) m_buts[m_butCount++].create( m_lcd, 60, getButtonY(16, i, 30, m_data->freeAPCount + 1), 120, 30, m_data->freeAPList[i], 1, Button::BUTTON_UNPRESSED, ID_BUTTON_WLAN_START + i); m_buts[m_butCount++].create(m_lcd, 60, getButtonY(16, m_data->freeAPCount, 30, m_data->freeAPCount + 1), 120, 30, "BACK", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_BACK); } else { m_lcd->drawString(CENTERX, 32, 2, BLACK, TRANSPARENT, "Discovering WLANs..."); m_buts[m_butCount++].create(m_lcd, 60, 270, 120, 30, "BACK", 2, Button::BUTTON_UNPRESSED, ID_BUTTON_BACK); } }
static void onButtonEvent(const std::string& vendorName, int controllerID, AndroidControllerCode btnCode, bool isPressed, float value, bool isAnalog) { auto iter = findController(vendorName, controllerID); if (iter == Controller::_controllers.end()) { onConnected(vendorName, controllerID); iter = findController(vendorName, controllerID); } auto gamepad = (*iter)->getGamepad(); auto thiz = (*iter)->getImpl(); switch(btnCode) { case AndroidControllerCode::BUTTON_A: { thiz->sendEventButton(gamepad->getButtonA(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_B: { thiz->sendEventButton(gamepad->getButtonB(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_X: { thiz->sendEventButton(gamepad->getButtonX(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_Y: { thiz->sendEventButton(gamepad->getButtonY(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_LEFT_SHOULDER: { thiz->sendEventButton(gamepad->getLeftShoulder(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_RIGHT_SHOULDER: { thiz->sendEventButton(gamepad->getRightShoulder(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_LEFT_TRIGGER: { thiz->sendEventButton(gamepad->getLeftTrigger(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_RIGHT_TRIGGER: { thiz->sendEventButton(gamepad->getRightTrigger(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_DPAD_UP: { thiz->sendEventButton(gamepad->getDirectionPad()->getUp(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_DPAD_DOWN: { thiz->sendEventButton(gamepad->getDirectionPad()->getDown(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_DPAD_LEFT: { thiz->sendEventButton(gamepad->getDirectionPad()->getLeft(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_DPAD_RIGHT: { thiz->sendEventButton(gamepad->getDirectionPad()->getRight(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_START: { thiz->sendEventButton(gamepad->getButtonStart(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_SELECT: { thiz->sendEventButton(gamepad->getButtonSelect(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_LEFT_THUMBSTICK: { thiz->sendEventButton(gamepad->getLeftThumbstick()->getButton(), isPressed, value, isAnalog); } break; case AndroidControllerCode::BUTTON_RIGHT_THUMBSTICK: { thiz->sendEventButton(gamepad->getRightThumbstick()->getButton(), isPressed, value, isAnalog); } break; default: // CCASSERT(false, "Invalid controller button code!"); break; } }