public bool isFlag(MouseState.Flags flags, WPARAM wParam, uint code1, uint code2) { if ((listener.Handler & flags) != 0 && (SysMessages.EqOr(wParam, code1, code2))) { return(true); } return(false); }
public bool set(string key, Type filter, AVal aval, MouseState.Flags ifType = MouseState.Flags.LMR) { if (!args[idx].Eq(key)) { return(false); } LSender.Send(this, $"Found '{key}' key in {idx} position.", Message.Level.Debug); MouseState.Flags type; if (ifType != MouseState.Flags.None) { type = MouseState.Extract(args[++idx]); LSender.Send(this, $"type = {type} by {idx}", Message.Level.Debug); } else { type = MouseState.Flags.None; } string val; if (aval != null) { val = args[++idx]; LSender.Send(this, $"value = {val} by {idx}", Message.Level.Debug); } else { val = null; } Guid g = filter.GUID; if (Filters[g] == null) { LSender.Send(this, $"Filter '{g}' is not registered.", Message.Level.Debug); return(true); } Filters[g].Activated = true; aval?.Invoke(Filters[g], val); if (ifType == MouseState.Flags.None) { return(true); } if ((ifType & type) == 0) { throw new ArgumentException($"Incorrect Flags {type} -> {ifType}"); } Filters[g].Handler = type; return(true); }
private void setFlags(bool state, IMouseListener filter, MouseState.Flags val) { if (state) { filter.Handler |= val; } else { filter.Handler &= ~val; } }