MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / showExtendedInputEventHelp

Method showExtendedInputEventHelp

physx/samples/samplebase/PhysXSample.cpp:1696–1755  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1694}
1695
1696void PhysXSample::showExtendedInputEventHelp(PxU32 x, PxU32 y)
1697{
1698 const PxReal scale = 0.5f;
1699 const PxReal shadowOffset = 6.0f;
1700 const RendererColor textColor(255, 255, 255, 255);
1701
1702 Renderer* renderer = getRenderer();
1703 const PxU32 yInc = 18;
1704 char message[512];
1705
1706 PxU32 width = 0;
1707 PxU32 height = 0;
1708 renderer->getWindowSize(width, height);
1709 y += yInc;
1710
1711 PxU16 numIe = (height - y)/yInc - 8;
1712
1713 const std::vector<InputEvent> inputEventList = getApplication().getPlatform()->getSampleUserInput()->getInputEventList();
1714 const std::vector<InputEventName> inputEventNameList = getApplication().getPlatform()->getSampleUserInput()->getInputEventNameList();
1715
1716 size_t maxHelpPage = inputEventList.size()/numIe;
1717 if(maxHelpPage < mExtendedHelpPage)
1718 mExtendedHelpPage = (PxU8) maxHelpPage;
1719
1720 PxU16 printed = 0;
1721 PxU16 startPrint = 0;
1722 for (size_t i = 0; i < inputEventList.size(); i++)
1723 {
1724 const InputEvent& ie = inputEventList[i];
1725 const char* msg = mApplication.inputInfoMsg("Press "," to ", ie.m_Id, -1);
1726 if(msg)
1727 {
1728 startPrint++;
1729 if(startPrint <= numIe*mExtendedHelpPage)
1730 continue;
1731
1732 strcpy(message,msg);
1733 strcat(message, inputEventNameList[i].m_Name);
1734 renderer->print(x, y, message, scale, shadowOffset, textColor);
1735 y += yInc;
1736
1737 printed++;
1738 if(printed >= numIe)
1739 {
1740 break;
1741 }
1742 }
1743 }
1744
1745 if(printed == 0)
1746 {
1747 if(mExtendedHelpPage)
1748 mExtendedHelpPage--;
1749 }
1750
1751 y += yInc;
1752 const char* msg = mApplication.inputInfoMsg("Press "," to show next/previous page", NEXT_PAGE, PREVIOUS_PAGE);
1753 if(msg)

Callers 1

onRenderMethod · 0.80

Calls 6

getSampleUserInputMethod · 0.80
getPlatformMethod · 0.80
inputInfoMsgMethod · 0.80
getWindowSizeMethod · 0.45
sizeMethod · 0.45
printMethod · 0.45

Tested by

no test coverage detected