Exemplo n.º 1
0
 public Key GetNeighbour(RelativeKeyPosition pos)
 {
     if (pos == RelativeKeyPosition.CENTER)
     {
         return(this);
     }
     return(keyboard.GetNeighbourOfKey(this, pos));
 }
Exemplo n.º 2
0
 public bool HasNeighbour(RelativeKeyPosition pos)
 {
     if (pos == RelativeKeyPosition.CENTER)
     {
         return(true);
     }
     return(keyboard.GetNeighbourOfKey(this, pos) != null);
 }
Exemplo n.º 3
0
        public Key GetNeighbourOfKey(Key key, RelativeKeyPosition pos)
        {
            var coordinates = GetCoordinatesOfKey(key);

            switch (pos)
            {
            case RelativeKeyPosition.TOP_LEFT:
                coordinates.X--;
                coordinates.Y--;
                return(GetKeyByCoordinates(coordinates));

            case RelativeKeyPosition.TOP_CENTER:
                coordinates.Y--;
                return(GetKeyByCoordinates(coordinates));

            case RelativeKeyPosition.TOP_RIGHT:
                coordinates.X++;
                coordinates.Y--;
                return(GetKeyByCoordinates(coordinates));

            case RelativeKeyPosition.LEFT:
                coordinates.X--;
                return(GetKeyByCoordinates(coordinates));

            case RelativeKeyPosition.CENTER:
                return(key);

            case RelativeKeyPosition.RIGHT:
                coordinates.X++;
                return(GetKeyByCoordinates(coordinates));

            case RelativeKeyPosition.BOTTOM_LEFT:
                coordinates.X--;
                coordinates.Y++;
                return(GetKeyByCoordinates(coordinates));

            case RelativeKeyPosition.BOTTOM_CENTER:
                coordinates.Y++;
                return(GetKeyByCoordinates(coordinates));

            case RelativeKeyPosition.BOTTOM_RIGHT:
                coordinates.X++;
                coordinates.Y++;
                return(GetKeyByCoordinates(coordinates));

            default:
                return(null);    // what to do here
            }
        }