/// <inheritdoc /> /// <summary> /// Applies the specified scalars /// </summary> /// <param name="w">Width scalar</param> /// <param name="h">Height scalar</param> public virtual void SetScalars(FontWidthScalar w, FontHeighScalar h) { // If both scalars are set to "keep current" then do nothing if (w == FontWidthScalar.NOP && h == FontHeighScalar.NOP) { return; } // Do not alter the scalars if param is set to x0 which means // "keep the current scalar" Width = w == FontWidthScalar.NOP ? Width : w; Height = h == FontHeighScalar.NOP ? Height : h; byte wb = (byte)w; byte hb = (byte)h; byte[] cmd = (byte[])SetScalarCommand.Clone(); cmd[2] = (byte)(wb | hb); internalSend(cmd); }
/// <summary> /// Phoenix support normal and double scalars. All other scalar values will /// be ignored. /// </summary> /// <param name="w">New scalar (1x, 2x, nop)</param> /// <param name="h">New scalar (1x, 2x, nop)</param> public override void SetScalars(FontWidthScalar w, FontHeighScalar h) { var newWidth = Width; if (w == FontWidthScalar.NOP || w == FontWidthScalar.w1 || w == FontWidthScalar.w2) { newWidth = w; } var newHeight = Height; if (h == FontHeighScalar.NOP || h == FontHeighScalar.h1 || h == FontHeighScalar.h2) { newHeight = h; } // Only apply update if either property has changed if (newWidth != Width || newHeight != Height) { base.SetScalars(newWidth, newHeight); } }