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); }
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); } } } }