public void zSetMarginWidth(int margin, int value, bool dpiScale = true, bool chars = false) { if (dpiScale && value > 0) { var a = _marginDpi ??= new int[Call(SCI_GETMARGINS)]; if (chars) { value *= zStyleMeasureStringWidth(STYLE_LINENUMBER, "8"); a[margin] = Dpi.Unscale(value, _dpi).ToInt(); } else { a[margin] = value; value = Dpi.Scale(value, _dpi); } } else { var a = _marginDpi; if (a != null) { a[margin] = 0; } } Call(SCI_SETMARGINWIDTHN, margin, value); }
Size _Measure() { _dpi = Dpi.OfWindow(_w); int i = _cellSize = Dpi.Scale(10, _dpi); var z = new SIZE(i, i); z.width *= c_nHue; z.width++; z.height *= c_nLum + 1; z.height++; z.height += _cellSize / 4; return(Dpi.Unscale(z, _dpi)); }
System.Windows.Size _Unscale(SIZE z) => _NeedScaling(false) ? Dpi.Unscale(z, _dpi) : z;