]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/item/button.qc
Merge branch 'master' into DefaultUser/func_button_relay
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / item / button.qc
index a81a0a22f78a3cb5d57479eae08f23cd4a565258..77e4ccad264fee8f912abdb8573ba154af71289c 100644 (file)
@@ -1,46 +1,5 @@
-#ifndef ITEM_BUTTON_H
-       #define ITEM_BUTTON_H
-       #include "label.qc"
-       CLASS(Button, Label)
-               METHOD(Button, configureButton, void(entity, string, float, string));
-               METHOD(Button, draw, void(entity));
-               METHOD(Button, showNotify, void(entity));
-               METHOD(Button, resizeNotify, void(entity, vector, vector, vector, vector));
-               METHOD(Button, keyDown, float(entity, float, float, float));
-               METHOD(Button, mousePress, float(entity, vector));
-               METHOD(Button, mouseDrag, float(entity, vector));
-               METHOD(Button, mouseRelease, float(entity, vector));
-               METHOD(Button, playClickSound, void(entity));
-               ATTRIB(Button, onClick, void(entity, entity), func_null)
-               ATTRIB(Button, onClickEntity, entity, NULL)
-               ATTRIB(Button, src, string, string_null)
-               ATTRIB(Button, srcSuffix, string, string_null)
-               ATTRIB(Button, src2, string, string_null) // is centered, same aspect, and stretched to label size
-               ATTRIB(Button, src2scale, float, 1)
-               ATTRIB(Button, srcMulti, float, 1)        // 0: button square left, text right; 1: button stretched, text over it
-               ATTRIB(Button, buttonLeftOfText, float, 0)
-               ATTRIB(Button, focusable, float, 1)
-               ATTRIB(Button, allowFocusSound, float, 1)
-               ATTRIB(Button, pressed, float, 0)
-               ATTRIB(Button, clickTime, float, 0)
-               ATTRIB(Button, applyButton, entity, NULL)
-               ATTRIB(Button, disableOnClick, bool, false)
-               ATTRIB(Button, disabled, float, 0)
-               ATTRIB(Button, disabledAlpha, float, 0.3)
-               ATTRIB(Button, forcePressed, float, 0)
-               ATTRIB(Button, color, vector, '1 1 1')
-               ATTRIB(Button, colorC, vector, '1 1 1')
-               ATTRIB(Button, colorF, vector, '1 1 1')
-               ATTRIB(Button, colorD, vector, '1 1 1')
-               ATTRIB(Button, color2, vector, '1 1 1')
-               ATTRIB(Button, alpha2, float, 1)
+#include "button.qh"
 
-               ATTRIB(Button, origin, vector, '0 0 0')
-               ATTRIB(Button, size, vector, '0 0 0')
-       ENDCLASS(Button)
-#endif
-
-#ifdef IMPLEMENTATION
        void Button_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
        {
                if (me.srcMulti) me.keepspaceLeft = 0;
                if (pos.y >= 1) me.pressed = 0;
                return 1;
        }
-       float Button_mousePress(entity me, vector pos)
+       METHOD(Button, mousePress, bool(Button this, vector pos))
        {
-               me.mouseDrag(me, pos);  // verify coordinates
-               return 1;
+               this.mouseDrag(this, pos);  // verify coordinates
+               return true;
        }
        float Button_mouseRelease(entity me, vector pos)
        {
                else if (me.onClick == Dialog_Close) m_play_click_sound(MENU_SOUND_CLOSE);
                else m_play_click_sound(MENU_SOUND_EXECUTE);
        }
-#endif