LCOV - code coverage report
Current view: top level - engine/input/mouse - button.hpp (source / functions) Coverage Total Hit
Test: coverage.info Lines: 100.0 % 20 20
Test Date: 2026-03-11 04:45:14 Functions: 100.0 % 1 1

            Line data    Source code
       1              : #pragma once
       2              : 
       3              : #include <cstdint>
       4              : #include <string_view>
       5              : #include <utility>
       6              : 
       7              : namespace jage::engine::input::mouse {
       8              : enum class button : std::uint8_t {
       9              :   left,
      10              :   right,
      11              :   middle,
      12              :   back,
      13              :   forward,
      14              :   gesture,
      15              :   action,
      16              :   unidentified,
      17              :   last = unidentified,
      18              : };
      19              : 
      20              : static constexpr auto button_count = std::to_underlying(button::last) + 1UZ;
      21              : 
      22              : [[nodiscard]] constexpr auto
      23           16 : serialize(const button input_button) -> std::string_view {
      24           16 :   switch (input_button) {
      25            4 :   case button::left:
      26            4 :     return "left";
      27            3 :   case button::right:
      28            3 :     return "right";
      29            2 :   case button::middle:
      30            2 :     return "middle";
      31            1 :   case button::back:
      32            1 :     return "back";
      33            1 :   case button::forward:
      34            1 :     return "forward";
      35            1 :   case button::gesture:
      36            1 :     return "gesture";
      37            1 :   case button::action:
      38            1 :     return "action";
      39            1 :   case button::unidentified:
      40            1 :     return "unidentified";
      41            2 :   default:
      42            2 :     return "unknown enumerator";
      43              :   }
      44              : }
      45              : } // namespace jage::engine::input::mouse
        

Generated by: LCOV version 2.0-1