MCPcopy Create free account
hub / github.com/OGRECave/ogre / keyPressed

Method keyPressed

Components/Bites/src/OgreAdvancedRenderControls.cpp:63–235  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61}
62
63bool AdvancedRenderControls::keyPressed(const KeyboardEvent& evt) {
64 if (mTrayMgr->isDialogVisible())
65 return true; // don't process any more keys if dialog is up
66
67 int key = evt.keysym.sym;
68
69 if (key == 'f') // toggle visibility of advanced frame stats
70 {
71 mTrayMgr->toggleAdvancedFrameStats();
72 } else if (key == 'g') // toggle visibility of even rarer debugging details
73 {
74 if (mDetailsPanel->getTrayLocation() == TL_NONE) {
75 mTrayMgr->moveWidgetToTray(mDetailsPanel, TL_TOPRIGHT, 0);
76 mDetailsPanel->show();
77 } else {
78 mTrayMgr->removeWidgetFromTray(mDetailsPanel);
79 mDetailsPanel->hide();
80 }
81 } else if (key == 't') // cycle texture filtering mode
82 {
83 Ogre::String newVal;
84 Ogre::TextureFilterOptions tfo;
85 unsigned int aniso;
86
87 Ogre::FilterOptions mip = Ogre::MaterialManager::getSingleton().getDefaultTextureFiltering(Ogre::FT_MIP);
88
89 switch (Ogre::MaterialManager::getSingleton().getDefaultTextureFiltering(Ogre::FT_MAG)) {
90 case Ogre::FO_LINEAR:
91 if (mip == Ogre::FO_POINT) {
92 newVal = "Trilinear";
93 tfo = Ogre::TFO_TRILINEAR;
94 aniso = 1;
95 } else {
96 newVal = "Anisotropic";
97 tfo = Ogre::TFO_ANISOTROPIC;
98 aniso = 8;
99 }
100 break;
101 case Ogre::FO_ANISOTROPIC:
102 newVal = "None";
103 tfo = Ogre::TFO_NONE;
104 aniso = 1;
105 break;
106 default:
107 newVal = "Bilinear";
108 tfo = Ogre::TFO_BILINEAR;
109 aniso = 1;
110 break;
111 }
112
113 Ogre::MaterialManager::getSingleton().setDefaultTextureFiltering(tfo);
114 Ogre::MaterialManager::getSingleton().setDefaultAnisotropy(aniso);
115 mDetailsPanel->setParamValue(9, newVal);
116 } else if (key == 'r') // cycle polygon rendering mode
117 {
118 Ogre::String newVal;
119 Ogre::PolygonMode pm;
120

Callers

nothing calls this directly

Calls 15

isDialogVisibleMethod · 0.80
moveWidgetToTrayMethod · 0.80
showMethod · 0.80
hideMethod · 0.80
setDefaultAnisotropyMethod · 0.80
setParamValueMethod · 0.80
getPolygonModeMethod · 0.80
reloadAllMethod · 0.80
getTargetMethod · 0.80

Tested by

no test coverage detected