void SetOffset()

in Kiosk/Controls/Overlays/Primitives/OverlayLabel.xaml.cs [224:294]


        void SetOffset()
        {
            //validate
            if (_mainPresenter == null)
            {
                return;
            }

            var position = Position;
            var offset = Offset;
            var size = _mainPresenter.RenderSize;
            var x = 0d;
            var y = 0d;
            switch (position)
            {
                case OverlayLabelPosition.TopLeft:
                    y = -size.Height - offset;
                    x = 0;
                    break;
                case OverlayLabelPosition.TopCenter:
                    y = -size.Height - offset;
                    x = -size.Width / 2;
                    break;
                case OverlayLabelPosition.TopRight:
                    y = -size.Height - offset;
                    x = -size.Width;
                    break;
                case OverlayLabelPosition.BottomLeft:
                    y = offset;
                    x = 0;
                    break;
                case OverlayLabelPosition.BottomCenter:
                    y = offset;
                    x = -size.Width / 2;
                    break;
                case OverlayLabelPosition.BottomRight:
                    y = offset;
                    x = -size.Width;
                    break;
                case OverlayLabelPosition.LeftTop:
                    y = 0;
                    x = -size.Width - offset;
                    break;
                case OverlayLabelPosition.LeftCenter:
                    y = -size.Height / 2;
                    x = -size.Width - offset;
                    break;
                case OverlayLabelPosition.LeftBottom:
                    y = -size.Height;
                    x = -size.Width - offset;
                    break;
                case OverlayLabelPosition.RightTop:
                    y = 0;
                    x = offset;
                    break;
                case OverlayLabelPosition.RightCenter:
                    y = -size.Height / 2;
                    x = offset;
                    break;
                case OverlayLabelPosition.RightBottom:
                    y = -size.Height;
                    x = offset;
                    break;
                case OverlayLabelPosition.Center:
                    y = -size.Height / 2 - offset;
                    x = -size.Width / 2;
                    break;
            }
            Canvas.SetLeft(_mainPresenter, x);
            Canvas.SetTop(_mainPresenter, y);
        }