| 7628 | namespace olc |
| 7629 | { |
| 7630 | class Platform_Emscripten : public olc::Platform |
| 7631 | { |
| 7632 | public: |
| 7633 | |
| 7634 | virtual olc::rcode SetWindowSize(const olc::vi2d& vPos, const olc::vi2d& vSize) override |
| 7635 | { |
| 7636 | return olc::rcode::OK; |
| 7637 | } |
| 7638 | |
| 7639 | virtual olc::rcode ShowWindowFrame(const bool bShowFrame = true) override |
| 7640 | { |
| 7641 | return olc::rcode::OK; |
| 7642 | } |
| 7643 | |
| 7644 | virtual olc::rcode ApplicationStartUp() override |
| 7645 | { |
| 7646 | return olc::rcode::OK; |
| 7647 | } |
| 7648 | |
| 7649 | virtual olc::rcode ApplicationCleanUp() override |
| 7650 | { |
| 7651 | ThreadCleanUp(); return olc::rcode::OK; |
| 7652 | } |
| 7653 | |
| 7654 | virtual olc::rcode ThreadStartUp() override |
| 7655 | { |
| 7656 | return olc::rcode::OK; |
| 7657 | } |
| 7658 | |
| 7659 | virtual olc::rcode ThreadCleanUp() override |
| 7660 | { |
| 7661 | renderer->DestroyDevice(); return olc::OK; |
| 7662 | } |
| 7663 | |
| 7664 | virtual olc::rcode CreateGraphics(bool bFullScreen, bool bEnableVSYNC, const olc::vi2d& vViewPos, const olc::vi2d& vViewSize) override |
| 7665 | { |
| 7666 | if (renderer->CreateDevice({}, bFullScreen, bEnableVSYNC) == olc::rcode::OK) |
| 7667 | { |
| 7668 | renderer->UpdateViewport(vViewPos, vViewSize); |
| 7669 | return olc::rcode::OK; |
| 7670 | } |
| 7671 | else |
| 7672 | return olc::rcode::FAIL; |
| 7673 | } |
| 7674 | |
| 7675 | virtual olc::rcode CreateWindowPane(const olc::vi2d& vWindowPos, olc::vi2d& vWindowSize, bool bFullScreen) override |
| 7676 | { |
| 7677 | emscripten_set_canvas_element_size("#canvas", vWindowSize.x, vWindowSize.y); |
| 7678 | |
| 7679 | mapKeys[DOM_PK_UNKNOWN] = Key::NONE; |
| 7680 | mapKeys[DOM_PK_A] = Key::A; mapKeys[DOM_PK_B] = Key::B; mapKeys[DOM_PK_C] = Key::C; mapKeys[DOM_PK_D] = Key::D; |
| 7681 | mapKeys[DOM_PK_E] = Key::E; mapKeys[DOM_PK_F] = Key::F; mapKeys[DOM_PK_G] = Key::G; mapKeys[DOM_PK_H] = Key::H; |
| 7682 | mapKeys[DOM_PK_I] = Key::I; mapKeys[DOM_PK_J] = Key::J; mapKeys[DOM_PK_K] = Key::K; mapKeys[DOM_PK_L] = Key::L; |
| 7683 | mapKeys[DOM_PK_M] = Key::M; mapKeys[DOM_PK_N] = Key::N; mapKeys[DOM_PK_O] = Key::O; mapKeys[DOM_PK_P] = Key::P; |
| 7684 | mapKeys[DOM_PK_Q] = Key::Q; mapKeys[DOM_PK_R] = Key::R; mapKeys[DOM_PK_S] = Key::S; mapKeys[DOM_PK_T] = Key::T; |
| 7685 | mapKeys[DOM_PK_U] = Key::U; mapKeys[DOM_PK_V] = Key::V; mapKeys[DOM_PK_W] = Key::W; mapKeys[DOM_PK_X] = Key::X; |
| 7686 | mapKeys[DOM_PK_Y] = Key::Y; mapKeys[DOM_PK_Z] = Key::Z; |
| 7687 | mapKeys[DOM_PK_0] = Key::K0; mapKeys[DOM_PK_1] = Key::K1; mapKeys[DOM_PK_2] = Key::K2; |
nothing calls this directly
no outgoing calls
no test coverage detected