Decoration(
                Integer imUl,
                boolean swap,
                boolean sth,
                Paint bg, Paint fg,
                boolean ulOn) {

            if (imUl != null) {
                // Determine which stroke to use
                if (imUl == TextAttribute.UNDERLINE_LOW_ONE_PIXEL) {
                    this.imUlStroke = Decoration.UNDERLINE_LOW_ONE_PIXEL_STROKE;
                } else if (imUl == TextAttribute.UNDERLINE_LOW_TWO_PIXEL) {
                    this.imUlStroke = Decoration.UNDERLINE_LOW_TWO_PIXEL_STROKE;
                } else if (imUl == TextAttribute.UNDERLINE_LOW_DOTTED) {
                    this.imUlStroke = Decoration.UNDERLINE_LOW_DOTTED_STROKE;
                } else if (imUl == TextAttribute.UNDERLINE_LOW_GRAY) {
                    this.imUlStroke = Decoration.UNDERLINE_LOW_DOTTED_STROKE;
                    this.imUlStroke2 = Decoration.UNDERLINE_LOW_DOTTED_STROKE2;
                } else if (imUl == TextAttribute.UNDERLINE_LOW_DASHED) {
                    this.imUlStroke = Decoration.UNDERLINE_LOW_DASHED_STROKE;
                }
            }

            this.ulOn = ulOn; // Has underline
            this.swapBfFg = swap;
            this.strikeThrough = sth;
            this.bg = bg;
            this.fg = fg;
        }