diff options
Diffstat (limited to 'app/c++/ico_bar.hpp')
| -rw-r--r-- | app/c++/ico_bar.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app/c++/ico_bar.hpp b/app/c++/ico_bar.hpp new file mode 100644 index 0000000..780e28e --- /dev/null +++ b/app/c++/ico_bar.hpp @@ -0,0 +1,37 @@ +#pragma once + +#include "ico.hpp" + +namespace kel { + +template<uint64_t SubD = 0u> +class ico_coordinate { +private: + static constexpr uint64_t sub_divs_ = impl::power_two<SubD>::value; + + uint64_t t_; + uint64_t x_; + uint64_t y_; +public: + ico_coordinate(uint64_t t__, uint64_t x__, uint64_t y__): + t_{t__}, + x_{x__}, + y_{y__} + {} + + bool is_on_border() const { + auto comb = x_+y_; + + bool farside_b = (comb == sub_divs_); + bool right_b = (y_ == 0u); + bool left_b = (x_ == 0u); + + return farside_b or right_b or left_b; + } + + ico_coordinate<SubD> move_x_pos() const { + uint64_t x_mov = x_ + 1u; + + } +}; +} |
