/// <summary>
        /// Creates a new object of the type StiTextOptions.
        /// </summary>
        /// <param name="rightToLeft">Horizontal output direction.</param>
        /// <param name="lineLimit">Show completed lines only.</param>
        /// <param name="wordWrap">Word wrap.</param>
        /// <param name="angle">Angle of a text rotation.</param>
        /// <param name="hotkeyPrefix">Type to draw hot keys.</param>
        /// <param name="trimming">Type to trim the end of a line.</param>
        /// <param name="firstTabOffset">First tab offset.</param>
        /// <param name="distanceBetweenTabs">Distance between tabs.</param>
        public StiTextOptions(bool rightToLeft, bool lineLimit, bool wordWrap,
                              float angle, HotkeyPrefix hotkeyPrefix, StringTrimming trimming,
                              float firstTabOffset, float distanceBetweenTabs)
        {
            this.wordWrap = wordWrap;

            if (rightToLeft == false &&
                lineLimit == false &&
                angle == 0f &&
                hotkeyPrefix == HotkeyPrefix.None &&
                trimming == StringTrimming.None &&
                firstTabOffset == 40f &&
                distanceBetweenTabs == 20f)
            {
                this.bits = null;
            }
            else
            {
                this.bits = new bitsTextOptions(rightToLeft, lineLimit, angle, firstTabOffset, distanceBetweenTabs, hotkeyPrefix, trimming);
            }
        }
 protected bool Equals(bitsTextOptions other)
 {
     return(RightToLeft == other.RightToLeft && LineLimit == other.LineLimit && Angle.Equals(other.Angle) && FirstTabOffset.Equals(other.FirstTabOffset) &&
            DistanceBetweenTabs.Equals(other.DistanceBetweenTabs) && HotkeyPrefix == other.HotkeyPrefix && Trimming == other.Trimming);
 }