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 // TRIM 46 CB_TRIM_PATT, 47 CB_TRIM_INST, 48 CB_TRIM_SAMP, 49 CB_TRIM_CHAN, 50 CB_TRIM_SMPD, 51 CB_TRIM_CONV, 52 53 // CONFIG 54 CB_CONF_AUTOSAVE, 55 56 // CONFIG AUDIO 57 CB_CONF_VOL_RAMP, 58 59 // CONFIG LAYOUT 60 CB_CONF_PATTSTRETCH, 61 CB_CONF_HEXCOUNT, 62 CB_CONF_ACCIDENTAL, 63 CB_CONF_SHOWZEROES, 64 CB_CONF_FRAMEWORK, 65 CB_CONF_LINECOLORS, 66 CB_CONF_CHANNUMS, 67 CB_CONF_SHOW_VOLCOL, 68 CB_CONF_SOFTWARE_MOUSE, 69 70 // CONFIG MISCELLANEOUS 71 CB_CONF_SAMP_CUT_TO_BUF, 72 CB_CONF_PATT_CUT_TO_BUF, 73 CB_CONF_KILL_NOTES_AT_STOP, 74 CB_CONF_FILE_OVERWRITE_WARN, 75 CB_CONF_MULTICHAN_REC, 76 CB_CONF_MULTICHAN_JAZZ, 77 CB_CONF_MULTICHAN_EDIT, 78 CB_CONF_REC_KEYOFF, 79 CB_CONF_QUANTIZATION, 80 CB_CONF_CHANGE_PATTLEN_INS_DEL, 81 CB_CONF_MIDI_ALLOW_PC, 82 CB_CONF_MIDI_ENABLE, 83 CB_CONF_MIDI_REC_ALL, 84 CB_CONF_MIDI_REC_TRANS, 85 CB_CONF_MIDI_REC_VELOC, 86 CB_CONF_MIDI_REC_AFTERTOUCH, 87 CB_CONF_FORCE_VSYNC_OFF, 88 CB_CONF_START_IN_FULLSCREEN, 89 CB_CONF_STRETCH_IMAGE, 90 CB_CONF_PIXEL_FILTER, 91 92 NUM_CHECKBOXES 93 }; 94 95 enum 96 { 97 CHECKBOX_UNPRESSED = 0, 98 CHECKBOX_PRESSED = 1, 99 CHECKBOX_UNCHECKED = 0, 100 CHECKBOX_CHECKED = 1 101 }; 102 103 #define CHECKBOX_W 13 104 #define CHECKBOX_H 12 105 106 typedef struct checkBox_t // DO NOT TOUCH! 107 { 108 uint16_t x, y, clickAreaWidth, clickAreaHeight; 109 void (*callbackFunc)(void); 110 uint8_t state; 111 bool checked, visible; 112 } checkBox_t; 113 114 void drawCheckBox(uint16_t checkBoxID); 115 void showCheckBox(uint16_t checkBoxID); 116 void hideCheckBox(uint16_t checkBoxID); 117 void handleCheckBoxesWhileMouseDown(void); 118 bool testCheckBoxMouseDown(void); 119 void testCheckBoxMouseRelease(void); 120