1#pragma once 2 3#include "modalcontroller.qh" 4 5#include "label.qh" 6CLASS(Button, Label) 7 METHOD(Button, configureButton, void(entity, string, float, string)); 8 METHOD(Button, draw, void(entity)); 9 METHOD(Button, showNotify, void(entity)); 10 METHOD(Button, resizeNotify, void(entity, vector, vector, vector, vector)); 11 METHOD(Button, keyDown, float(entity, float, float, float)); 12 METHOD(Button, mousePress, float(entity, vector)); 13 METHOD(Button, mouseDrag, float(entity, vector)); 14 METHOD(Button, mouseRelease, float(entity, vector)); 15 METHOD(Button, playClickSound, void(entity)); 16 ATTRIB(Button, onClick, void(entity, entity)); 17 ATTRIB(Button, onClickEntity, entity); 18 ATTRIB(Button, src, string); 19 ATTRIB(Button, srcSuffix, string); 20 ATTRIB(Button, src2, string); // is centered, same aspect, and stretched to label size 21 ATTRIB(Button, src2scale, float, 1); 22 ATTRIB(Button, srcMulti, float, 1); // 0: button square left, text right; 1: button stretched, text over it 23 ATTRIB(Button, buttonLeftOfText, float, 0); 24 ATTRIB(Button, focusable, float, 1); 25 ATTRIB(Button, allowFocusSound, float, 1); 26 ATTRIB(Button, pressed, float, 0); 27 ATTRIB(Button, clickTime, float, 0); 28 ATTRIB(Button, applyButton, entity); 29 ATTRIB(Button, disableOnClick, bool, false); 30 ATTRIB(Button, disabled, float, 0); 31 ATTRIB(Button, disabledAlpha, float, 0.3); 32 ATTRIB(Button, forcePressed, float, 0); 33 ATTRIB(Button, color, vector, '1 1 1'); 34 ATTRIB(Button, colorC, vector, '1 1 1'); 35 ATTRIB(Button, colorF, vector, '1 1 1'); 36 ATTRIB(Button, colorD, vector, '1 1 1'); 37 ATTRIB(Button, color2, vector, '1 1 1'); 38 ATTRIB(Button, alpha2, float, 1); 39 40 ATTRIB(Button, origin, vector, '0 0 0'); 41 ATTRIB(Button, size, vector, '0 0 0'); 42ENDCLASS(Button) 43