diff options
| author | boris <wzn@moneybot.cc> | 2018-11-28 16:00:02 +1300 |
|---|---|---|
| committer | boris <wzn@moneybot.cc> | 2018-11-28 16:00:02 +1300 |
| commit | 3d412a4b30a9f7c7f51ea6562e694315948bd3da (patch) | |
| tree | 26d67dfd1f3e5fd12903ad13e85d0cb8bcf8f21c /legacy/loader/ui_checkbox.h | |
| parent | e4729e4393d90271a3814c7a79950a660c48325a (diff) | |
cleaned up
in short, the cheat and loader are now separate solutions. unused stuff was moved into the legacy solution in case anyone wants to compile it or whatever.
i can change this back if you want to. also, i configured the loader to compile in x64, and have separate build types for linux and win64
Diffstat (limited to 'legacy/loader/ui_checkbox.h')
| -rw-r--r-- | legacy/loader/ui_checkbox.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/legacy/loader/ui_checkbox.h b/legacy/loader/ui_checkbox.h new file mode 100644 index 0000000..50cad1c --- /dev/null +++ b/legacy/loader/ui_checkbox.h @@ -0,0 +1,68 @@ +#pragma once
+#include "ui_base_item.h"
+
+namespace ui
+{
+ class c_checkbox : public base_item {
+ public:
+ c_checkbox( int x, int y, const char* txt, bool* setting ) :
+ base_item( x, y, 16, 16, txt ), m_setting( setting ) { }
+
+ virtual bool is_hovered( ) override {
+ if ( m_disabled ) return false;
+
+ int mouse_x, mouse_y;
+ ui_get_cursor_pos( mouse_x, mouse_y );
+
+ int rel_x = get_relative_x( );
+ int rel_y = get_relative_y( );
+
+ return mouse_x >= rel_x && mouse_x <= rel_x + m_width
+ && mouse_y >= rel_y && mouse_y <= rel_y + m_height;
+ }
+
+ inline void render_checkbox( const int& x, const int& y ) {
+ clr_t col = ui_get_bg_col( );
+ if ( is_hovered( ) ) {
+ col = *m_setting ? ui_get_accent_col( ) * 0.8f : ui_get_bg_col( ) * 1.3f;
+ }
+ else if ( *m_setting ) {
+ col = ui_get_accent_col( );
+ }
+
+ ui_draw_rect( x, y, m_width, m_height, ui_get_disabled_col( ) );
+ ui_draw_rect( x + 1, y + 1, m_width - 2, m_height - 2, col );
+
+ //ui_draw_outlined_rect( x, y, m_width, m_height, ui_get_accent_col( ) );
+ }
+
+ inline void input( ) {
+ bool mouse_presesed = g_input.is_key_pressed( KEYS_MOUSE1 );
+
+ if ( is_hovered( ) && mouse_presesed ) {
+ if ( !m_mouse_held ) {
+ *m_setting = !*m_setting;
+ }
+ m_mouse_held = true;
+ }
+ else {
+ m_mouse_held = false;
+ }
+ }
+
+ virtual void render( ) override {
+ int x = get_relative_x( );
+ int y = get_relative_y( );
+
+ render_checkbox( x, y );
+ input( );
+
+
+ ui_draw_string( x + m_width + 6, y + 2, false, ui_get_text_col( ), m_text );
+ }
+
+ protected:
+ bool* m_setting;
+ bool m_mouse_held{ };
+ };
+}
\ No newline at end of file |
