Add macOS DisplayServer implementation.

Change global menu to use Callable, add support for check items and submenus.
This commit is contained in:
bruvzg
2020-03-07 18:02:54 +02:00
parent 197cb4e771
commit 15a9f94346
28 changed files with 4253 additions and 3170 deletions
+14 -14
View File
@@ -395,38 +395,38 @@ bool joypad::check_ff_features() {
static int process_hat_value(int p_min, int p_max, int p_value) {
int range = (p_max - p_min + 1);
int value = p_value - p_min;
int hat_value = InputDefault::HAT_MASK_CENTER;
int hat_value = InputFilter::HAT_MASK_CENTER;
if (range == 4) {
value *= 2;
}
switch (value) {
case 0:
hat_value = InputDefault::HAT_MASK_UP;
hat_value = InputFilter::HAT_MASK_UP;
break;
case 1:
hat_value = InputDefault::HAT_MASK_UP | InputDefault::HAT_MASK_RIGHT;
hat_value = InputFilter::HAT_MASK_UP | InputFilter::HAT_MASK_RIGHT;
break;
case 2:
hat_value = InputDefault::HAT_MASK_RIGHT;
hat_value = InputFilter::HAT_MASK_RIGHT;
break;
case 3:
hat_value = InputDefault::HAT_MASK_DOWN | InputDefault::HAT_MASK_RIGHT;
hat_value = InputFilter::HAT_MASK_DOWN | InputFilter::HAT_MASK_RIGHT;
break;
case 4:
hat_value = InputDefault::HAT_MASK_DOWN;
hat_value = InputFilter::HAT_MASK_DOWN;
break;
case 5:
hat_value = InputDefault::HAT_MASK_DOWN | InputDefault::HAT_MASK_LEFT;
hat_value = InputFilter::HAT_MASK_DOWN | InputFilter::HAT_MASK_LEFT;
break;
case 6:
hat_value = InputDefault::HAT_MASK_LEFT;
hat_value = InputFilter::HAT_MASK_LEFT;
break;
case 7:
hat_value = InputDefault::HAT_MASK_UP | InputDefault::HAT_MASK_LEFT;
hat_value = InputFilter::HAT_MASK_UP | InputFilter::HAT_MASK_LEFT;
break;
default:
hat_value = InputDefault::HAT_MASK_CENTER;
hat_value = InputFilter::HAT_MASK_CENTER;
break;
}
return hat_value;
@@ -438,8 +438,8 @@ void JoypadOSX::poll_joypads() const {
}
}
static const InputDefault::JoyAxis axis_correct(int p_value, int p_min, int p_max) {
InputDefault::JoyAxis jx;
static const InputFilter::JoyAxis axis_correct(int p_value, int p_min, int p_max) {
InputFilter::JoyAxis jx;
if (p_min < 0) {
jx.min = -1;
if (p_value < 0) {
@@ -571,9 +571,9 @@ void JoypadOSX::config_hid_manager(CFArrayRef p_matching_array) const {
}
}
JoypadOSX::JoypadOSX() {
JoypadOSX::JoypadOSX(InputFilter *in) {
self = this;
input = (InputDefault *)InputFilter::get_singleton();
input = in;
int okay = 1;
const void *vals[] = {