private void Initialize() { mMode = ArrangementMode.UpperCase; mUpperCaseArrangement = new Arrangement(mLowerCaseArrangement.GetLayoutString().ToUpper().Replace('«', 'ʬ')); // The DisplayMetrics method uses the size of the full screen, but we need to adjust for the notification bar so we instead set the size in OnSizeChanged. Width and Height aren't available in Initialize() //DisplayMetrics dm = Resources.DisplayMetrics; //mViewInfo = new ViewInfo(dm.WidthPixels, dm.HeightPixels); sSignatureLocations = new Dictionary <KeyValuePair <int, int>, Signature>(); // Top sSignatureLocations.Add(new KeyValuePair <int, int>(1, 0), new Signature(2, Direction.Clockwise, 1)); sSignatureLocations.Add(new KeyValuePair <int, int>(2, 0), new Signature(2, Direction.Clockwise, 2)); sSignatureLocations.Add(new KeyValuePair <int, int>(3, 0), new Signature(2, Direction.Clockwise, 3)); sSignatureLocations.Add(new KeyValuePair <int, int>(4, 0), new Signature(2, Direction.Clockwise, 4)); sSignatureLocations.Add(new KeyValuePair <int, int>(6, 0), new Signature(1, Direction.CounterClockwise, 4)); sSignatureLocations.Add(new KeyValuePair <int, int>(7, 0), new Signature(1, Direction.CounterClockwise, 3)); sSignatureLocations.Add(new KeyValuePair <int, int>(8, 0), new Signature(1, Direction.CounterClockwise, 2)); sSignatureLocations.Add(new KeyValuePair <int, int>(9, 0), new Signature(1, Direction.CounterClockwise, 1)); //Bottom sSignatureLocations.Add(new KeyValuePair <int, int>(1, 10), new Signature(3, Direction.CounterClockwise, 1)); sSignatureLocations.Add(new KeyValuePair <int, int>(2, 10), new Signature(3, Direction.CounterClockwise, 2)); sSignatureLocations.Add(new KeyValuePair <int, int>(3, 10), new Signature(3, Direction.CounterClockwise, 3)); sSignatureLocations.Add(new KeyValuePair <int, int>(4, 10), new Signature(3, Direction.CounterClockwise, 4)); sSignatureLocations.Add(new KeyValuePair <int, int>(6, 10), new Signature(4, Direction.Clockwise, 4)); sSignatureLocations.Add(new KeyValuePair <int, int>(7, 10), new Signature(4, Direction.Clockwise, 3)); sSignatureLocations.Add(new KeyValuePair <int, int>(8, 10), new Signature(4, Direction.Clockwise, 2)); sSignatureLocations.Add(new KeyValuePair <int, int>(9, 10), new Signature(4, Direction.Clockwise, 1)); // Left sSignatureLocations.Add(new KeyValuePair <int, int>(0, 1), new Signature(2, Direction.CounterClockwise, 1)); sSignatureLocations.Add(new KeyValuePair <int, int>(0, 2), new Signature(2, Direction.CounterClockwise, 2)); sSignatureLocations.Add(new KeyValuePair <int, int>(0, 3), new Signature(2, Direction.CounterClockwise, 3)); sSignatureLocations.Add(new KeyValuePair <int, int>(0, 4), new Signature(2, Direction.CounterClockwise, 4)); sSignatureLocations.Add(new KeyValuePair <int, int>(0, 6), new Signature(3, Direction.Clockwise, 4)); sSignatureLocations.Add(new KeyValuePair <int, int>(0, 7), new Signature(3, Direction.Clockwise, 3)); sSignatureLocations.Add(new KeyValuePair <int, int>(0, 8), new Signature(3, Direction.Clockwise, 2)); sSignatureLocations.Add(new KeyValuePair <int, int>(0, 9), new Signature(3, Direction.Clockwise, 1)); // Right sSignatureLocations.Add(new KeyValuePair <int, int>(10, 1), new Signature(1, Direction.Clockwise, 1)); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 2), new Signature(1, Direction.Clockwise, 2)); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 3), new Signature(1, Direction.Clockwise, 3)); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 4), new Signature(1, Direction.Clockwise, 4)); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 6), new Signature(4, Direction.CounterClockwise, 4)); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 7), new Signature(4, Direction.CounterClockwise, 3)); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 8), new Signature(4, Direction.CounterClockwise, 2)); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 9), new Signature(4, Direction.CounterClockwise, 1)); // Corners sSignatureLocations.Add(new KeyValuePair <int, int>(0, 0), Signature.TopLeft); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 0), Signature.TopRight); sSignatureLocations.Add(new KeyValuePair <int, int>(0, 10), Signature.BottomLeft); sSignatureLocations.Add(new KeyValuePair <int, int>(10, 10), Signature.BottomRight); this.SetOnTouchListener(this); }