private void generateMatrixButtons(int i_NumOfRows, int i_NumOfCols) { int colIndex, rowIndex; int positionButtonCol, positionButtonRow; for (rowIndex = 0; rowIndex < i_NumOfRows; rowIndex++) { for (colIndex = 0; colIndex < i_NumOfCols; colIndex++) { MatrixButton matrixButtonToGenerate = new MatrixButton(m_GameManager.LogicGameBoard.GameBoard[rowIndex, colIndex]); positionButtonCol = ((matrixButtonToGenerate.Width + k_SpaceBetweenButtons) * colIndex) + k_SpaceBetweenButtons; positionButtonRow = ((matrixButtonToGenerate.Height + k_SpaceBetweenButtons) * rowIndex) + (k_SpaceBetweenButtons * 3) + k_ColButtonHeight; matrixButtonToGenerate.Location = new Point(positionButtonCol, positionButtonRow); m_BoardMatrix[rowIndex, colIndex] = matrixButtonToGenerate; this.Controls.Add(matrixButtonToGenerate); } } }
public bool IsPressed(MatrixButton buttonToCheck) { if (!_buttons.Contains(buttonToCheck)) { return(false); } foreach (int pinNo in OutputPins) { _gpioController.Write(pinNo, PinValue.Low); } _gpioController.Write(buttonToCheck.RowPin, PinValue.High); var state = _gpioController.Read(buttonToCheck.ColumnPin); _gpioController.Write(buttonToCheck.RowPin, PinValue.Low); return(state == PinValue.High); }
public MatrixButtonView(MatrixButton matrixButton) { InitializeComponent(); DataContext = this; MatrixButton = matrixButton; }