MCPcopy Create free account
hub / github.com/OpenApoc/OpenApoc / eventOccurred

Method eventOccurred

game/ui/tileview/battletileview.cpp:350–411  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

348BattleTileView::~BattleTileView() = default;
349
350void BattleTileView::eventOccurred(Event *e)
351{
352 if (e->type() == EVENT_KEY_DOWN)
353 {
354 if (debugHotkeyMode)
355 {
356 switch (e->keyboard().KeyCode)
357 {
358 case SDLK_F6:
359 {
360 LogWarning("Writing voxel view to tileviewvoxels.png");
361 auto imageOffset = -this->getScreenOffset();
362 auto img = std::dynamic_pointer_cast<RGBImage>(this->map.dumpVoxelView(
363 {imageOffset, imageOffset + dpySize}, *this, battle.battleViewZLevel));
364 fw().data->writeImage("tileviewvoxels.png", img);
365 return;
366 }
367 case SDLK_F7:
368 {
369 LogWarning("Writing voxel view (fast) to tileviewvoxels.png");
370 auto imageOffset = -this->getScreenOffset();
371 auto img = std::dynamic_pointer_cast<RGBImage>(
372 this->map.dumpVoxelView({imageOffset, imageOffset + dpySize}, *this,
373 battle.battleViewZLevel, true));
374 fw().data->writeImage("tileviewvoxels.png", img);
375 return;
376 }
377 case SDLK_F8:
378 {
379 LogWarning("Writing voxel view to tileviewvoxels.png");
380 auto imageOffset = -this->getScreenOffset();
381 auto img = std::dynamic_pointer_cast<RGBImage>(
382 this->map.dumpVoxelView({imageOffset, imageOffset + dpySize}, *this,
383 battle.battleViewZLevel, false, true));
384 fw().data->writeImage("tileviewvoxels.png", img);
385 return;
386 }
387 case SDLK_F9:
388 {
389 LogWarning("Writing voxel view (fast) to tileviewvoxels.png");
390 auto imageOffset = -this->getScreenOffset();
391 auto img = std::dynamic_pointer_cast<RGBImage>(
392 this->map.dumpVoxelView({imageOffset, imageOffset + dpySize}, *this,
393 battle.battleViewZLevel, true, true));
394 fw().data->writeImage("tileviewvoxels.png", img);
395 return;
396 }
397 default:
398 break;
399 }
400 }
401 else
402 {
403 switch (e->keyboard().KeyCode)
404 {
405 default:
406 break;
407 }

Callers

nothing calls this directly

Calls 4

typeMethod · 0.80
getScreenOffsetMethod · 0.80
dumpVoxelViewMethod · 0.80
writeImageMethod · 0.45

Tested by

no test coverage detected