Ejemplo n.º 1
0
 protected override void OnEnteredLayout(LayoutContext layoutContext, ILayout previousLayout)
 {
     _individualButtonSize = CalculateIndividualButtonSize();
     _buttonShift          = CalculateButtonShift();
     using (var bitmap = layoutContext.CreateBitmap())
         _currentRepresentation = new BitmapRepresentation(bitmap);
     _layoutToManage.DrawLayout += OnDrawLayout;
     _layoutToManage.EnterLayout(layoutContext, _previousLayout);
 }
Ejemplo n.º 2
0
        public void SetLayout(ILayout layout)
        {
            using (_drawingEngine.PauseDrawing())
            {
                if (layout != null)
                {
                    if (_layouts.Contains(layout))
                    {
                        while (_layouts.Peek() != layout)
                        {
                            _layouts.Pop();
                        }
                    }
                    else
                    {
                        _layouts.Push(layout);
                    }
                }

                if (layout != _layout)
                {
                    ClearPressedButtons();

                    var oldLayout = _layout;

                    if (oldLayout != null)
                    {
                        oldLayout.LeaveLayout(); // can provide info to draw
                        oldLayout.DrawLayout -= LayoutOnDrawLayout;
                    }

                    _drawingEngine.ClearDevice();
                    _layout = layout;

                    if (_layout != null)
                    {
                        _layout.DrawLayout       += LayoutOnDrawLayout;
                        _drawingEngine.Brightness = _layout.PreferredBrightness ?? _globalContext.Options.Brightness;

                        _layout.EnterLayout(_layoutContext, oldLayout);
                    }
                }
            }
        }