in agdk/game_controller/common/demo_scene.cpp [366:432]
void DemoScene::RenderMouseData() {
const Paddleboat_MouseStatus mouseStatus = Paddleboat_getMouseStatus();
if (mouseStatus == PADDLEBOAT_MOUSE_NONE) {
ImGui::Text("Mouse: No");
return;
} else if (mouseStatus == PADDLEBOAT_MOUSE_CONTROLLER_EMULATED) {
ImGui::Text("Mouse: Vir ");
} else if (mouseStatus == PADDLEBOAT_MOUSE_PHYSICAL) {
ImGui::Text("Mouse: Phy ");
}
ImGui::SameLine();
Paddleboat_Mouse_Data mouseData;
if (Paddleboat_getMouseData(&mouseData) == PADDLEBOAT_NO_ERROR) {
const int mouseX = static_cast<int>(mouseData.mouseX);
const int mouseY = static_cast<int>(mouseData.mouseY);
ImGui::Text("X: %d Y: %d Btns: ", mouseX, mouseY);
ImVec4 buttonColor = ((mouseData.buttonsDown & PADDLEBOAT_MOUSE_BUTTON_LEFT) != 0) ?
TEXTCOLOR_GREEN : TEXTCOLOR_WHITE;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "L");
buttonColor = ((mouseData.buttonsDown & PADDLEBOAT_MOUSE_BUTTON_MIDDLE) != 0)
? TEXTCOLOR_GREEN : TEXTCOLOR_WHITE;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "M");
buttonColor = ((mouseData.buttonsDown & PADDLEBOAT_MOUSE_BUTTON_RIGHT) != 0)
? TEXTCOLOR_GREEN : TEXTCOLOR_WHITE;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "R");
buttonColor = ((mouseData.buttonsDown & PADDLEBOAT_MOUSE_BUTTON_FORWARD) != 0)
? TEXTCOLOR_GREEN : TEXTCOLOR_WHITE;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "F");
buttonColor = ((mouseData.buttonsDown & PADDLEBOAT_MOUSE_BUTTON_BACK) != 0)
? TEXTCOLOR_GREEN : TEXTCOLOR_WHITE;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "B");
if (mouseData.mouseScrollDeltaV < 0) {
buttonColor = TEXTCOLOR_RED;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "%d", mouseData.mouseScrollDeltaV);
} else if (mouseData.mouseScrollDeltaV > 0) {
buttonColor = TEXTCOLOR_GREEN;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "%d", mouseData.mouseScrollDeltaV);
}
if (mouseData.mouseScrollDeltaH < 0) {
buttonColor = TEXTCOLOR_RED;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "%d", mouseData.mouseScrollDeltaH);
} else if (mouseData.mouseScrollDeltaH > 0) {
buttonColor = TEXTCOLOR_GREEN;
ImGui::SameLine();
ImGui::TextColored(buttonColor, "%d", mouseData.mouseScrollDeltaH);
}
// This is needed by the controller info tab, so we calculate it here
// where we process the mouse data.
mMouseDataTimestampDelta = mouseData.timestamp - mPreviousMouseDataTimestamp;
mPreviousMouseDataTimestamp = mouseData.timestamp;
}
}