ft2_checkboxes.h (2294B)
1 #pragma once 2 3 #include <stdint.h> 4 #include <stdbool.h> 5 6 enum // CHECKBOXES 7 { 8 CB_RES_1, // reserved 9 10 // NIBBLES 11 CB_NIBBLES_SURROUND, 12 CB_NIBBLES_GRID, 13 CB_NIBBLES_WRAP, 14 15 // ADVANCED EDIT 16 CB_ENABLE_MASKING, 17 CB_COPY_MASK_0, 18 CB_COPY_MASK_1, 19 CB_COPY_MASK_2, 20 CB_COPY_MASK_3, 21 CB_COPY_MASK_4, 22 CB_PASTE_MASK_0, 23 CB_PASTE_MASK_1, 24 CB_PASTE_MASK_2, 25 CB_PASTE_MASK_3, 26 CB_PASTE_MASK_4, 27 CB_TRANSP_MASK_0, 28 CB_TRANSP_MASK_1, 29 CB_TRANSP_MASK_2, 30 CB_TRANSP_MASK_3, 31 CB_TRANSP_MASK_4, 32 33 // INSTRUMENT EDITOR 34 CB_INST_VENV, 35 CB_INST_VENV_SUS, 36 CB_INST_VENV_LOOP, 37 CB_INST_PENV, 38 CB_INST_PENV_SUS, 39 CB_INST_PENV_LOOP, 40 41 // INSTRUMENT EDITOR EXTENSION 42 CB_INST_EXT_MIDI, 43 CB_INST_EXT_MUTE, 44 45 // SAMPLE EDITOR EFFECTS 46 CB_SAMPFX_NORMALIZATION, 47 48 // TRIM 49 CB_TRIM_PATT, 50 CB_TRIM_INST, 51 CB_TRIM_SAMP, 52 CB_TRIM_CHAN, 53 CB_TRIM_SMPD, 54 CB_TRIM_CONV, 55 56 // CONFIG 57 CB_CONF_AUTOSAVE, 58 59 // CONFIG AUDIO 60 CB_CONF_VOL_RAMP, 61 62 // CONFIG LAYOUT 63 CB_CONF_PATTSTRETCH, 64 CB_CONF_HEXCOUNT, 65 CB_CONF_ACCIDENTAL, 66 CB_CONF_SHOWZEROES, 67 CB_CONF_FRAMEWORK, 68 CB_CONF_LINECOLORS, 69 CB_CONF_CHANNUMS, 70 CB_CONF_SHOW_VOLCOL, 71 CB_CONF_ENABLE_CUSTOM_POINTER, 72 CB_CONF_SOFTWARE_MOUSE, 73 74 // CONFIG MISCELLANEOUS 75 CB_CONF_SAMP_CUT_TO_BUF, 76 CB_CONF_PATT_CUT_TO_BUF, 77 CB_CONF_KILL_NOTES_AT_STOP, 78 CB_CONF_FILE_OVERWRITE_WARN, 79 CB_CONF_MULTICHAN_REC, 80 CB_CONF_MULTICHAN_JAZZ, 81 CB_CONF_MULTICHAN_EDIT, 82 CB_CONF_REC_KEYOFF, 83 CB_CONF_QUANTIZATION, 84 CB_CONF_CHANGE_PATTLEN_INS_DEL, 85 CB_CONF_USE_OLD_ABOUT_SCREEN, 86 CB_CONF_MIDI_ENABLE, 87 CB_CONF_MIDI_REC_ALL, 88 CB_CONF_MIDI_REC_TRANS, 89 CB_CONF_MIDI_REC_VELOC, 90 CB_CONF_MIDI_REC_AFTERTOUCH, 91 CB_CONF_FORCE_VSYNC_OFF, 92 CB_CONF_START_IN_FULLSCREEN, 93 CB_CONF_STRETCH_IMAGE, 94 CB_CONF_PIXEL_FILTER, 95 96 CB_WAV_BPM_MODE, 97 98 NUM_CHECKBOXES 99 }; 100 101 enum 102 { 103 CHECKBOX_UNPRESSED = 0, 104 CHECKBOX_PRESSED = 1, 105 CHECKBOX_UNCHECKED = 0, 106 CHECKBOX_CHECKED = 1 107 }; 108 109 #define CHECKBOX_W 13 110 #define CHECKBOX_H 12 111 112 typedef struct checkBox_t // DO NOT TOUCH! 113 { 114 uint16_t x, y, clickAreaWidth, clickAreaHeight; 115 void (*callbackFunc)(void); 116 uint8_t state; 117 bool checked, visible; 118 } checkBox_t; 119 120 void drawCheckBox(uint16_t checkBoxID); 121 void showCheckBox(uint16_t checkBoxID); 122 void hideCheckBox(uint16_t checkBoxID); 123 void handleCheckBoxesWhileMouseDown(void); 124 bool testCheckBoxMouseDown(void); 125 void testCheckBoxMouseRelease(void);