5 , m_tex(app->getTextures().get(
"hud1.jpg"))
8 , m_font(m_app->getText().getFont(
"consolab", 12))
14 const double updateDelta = 0.3;
29 auto& highlight = picker.highlightEffect();
35 return vec2(x / wnd.x, y / wnd.y);
42 fbo.bindSceneTexture();
50 glBlendFunc(GL_ONE, GL_ONE);
51 highlight.bindResultTexutre();
58 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
114 auto borderAlpha = 0.1f;
117 sprite.draw(vec4(vec3(0.2f), borderAlpha), px(wnd.x / 2, wnd.y), px(wnd.x, borderWidth), vec2(1, 1),
HAlign::Center,
VAlign::Top);
121 sprite.draw(vec4(vec3(0.2f), borderAlpha), px(0, wnd.y / 2), px(borderWidth, wnd.y - (2 * borderWidth)), vec2(1, 1),
HAlign::Left,
VAlign::Middle);
123 sprite.draw(vec4(vec3(0.2f), borderAlpha), px(wnd.x, wnd.y / 2), px(borderWidth, wnd.y - (2 * borderWidth)), vec2(1, 1),
HAlign::Right,
VAlign::Middle);
169 string buffer(256, 0);
171 auto color = vec4(1,208.0/255.0,71.0/255.0,1);
172 auto colorFocus = vec4(1,1,200.0/255.0,1);
178 if (picker.hasFocusId())
179 sprintf_s(&buffer[0], buffer.size(),
"Object in focus: %4d", picker.getFocusId());
181 sprintf_s(&buffer[0], buffer.size(),
"Object in focus: none");
188 if (picker.hasFocusId())
189 sprintf_s(&buffer[0], buffer.size(),
"Distance to focus-obj: %d", (int)glm::round(picker.getFocusDistance()));
191 sprintf_s(&buffer[0], buffer.size(),
"Distance to focus-obj: -");
198 sprintf_s(&buffer[0], buffer.size(),
"Max-distance: %d", picker.maxDistance());
205 sprintf_s(&buffer[0], buffer.size(),
"Change with PAGEUP/-DOWN");
212 switch (picker.updateMode())
215 sprintf_s(&buffer[0], buffer.size(),
"Picker-mode: STATIC");
220 sprintf_s(&buffer[0], buffer.size(),
"Picker-mode: DYNAMIC");
228 sprintf_s(&buffer[0], buffer.size(),
"Toggle with F1");
235 if(ownCursor.getScaleFunction())
237 sprintf_s(&buffer[0], buffer.size(),
"Scale-mode: LINEAR ");
241 sprintf_s(&buffer[0], buffer.size(),
"Scale-mode: INVERSE");
249 sprintf_s(&buffer[0], buffer.size(),
"Toggle with F5");
257 if(ownCursor.getCursorIcon())
259 sprintf_s(&buffer[0], buffer.size(),
"Cursor-icon: ARROW");
263 sprintf_s(&buffer[0], buffer.size(),
"Cursor-icon: HAND ");
271 sprintf_s(&buffer[0], buffer.size(),
"Toogle with F6");
279 sprintf_s(&buffer[0], buffer.size(),
"Cushion Factor %1.2f", ownCursor.getCushion());
286 sprintf_s(&buffer[0], buffer.size(),
"Dec F7 Inc F8");
293 sprintf_s(&buffer[0], buffer.size(),
"Toggle camera-border with SCROLL LOCK");
300 sprintf_s(&buffer[0], buffer.size(),
"Toggle HUD-visibility with F2");
307 sprintf_s(&buffer[0], buffer.size(),
"Scenes:");
316 sprintf_s(&buffer[0], buffer.size(),
"> %s", scene.c_str());
318 sprintf_s(&buffer[0], buffer.size(),
" %s", scene.c_str());
333 sprintf_s(&buffer[0], buffer.size(),
"Switch with TAB");
343 sprintf_s(&buffer[0], buffer.size(),
"%6.2f MSpF",
m_lastSpF * 1000);
349 sprintf_s(&buffer[0], buffer.size(),
"%1.2f Scale", ownCursor.getScale());
360 if (!pressed)
return;
362 if (key == GLFW_KEY_F2)
vector< string > const & scenes() const
void draw(string const &text, vec4 const &color, vec2 position, HAlign hAlign=HAlign::Left, VAlign vAlign=VAlign::Bottom, vec2 const &scale=vec2(1, 1))
SpriteRenderer & getSprites()
void update(double time, double timeDelta)
int const getMouseBorder()
HUDVisibility m_visiblity
GameLogic & getGameLogic()
OwnCursor & getOwnCursor()
void draw(double time, double timeDelta)
bool const sideWayActive()
vec2 const & getSize() const
void onKeyStateChanged(int key, bool pressed)