int padding_xoff = inline.totalLeftPadding(c.getCurrentStyle()); c.translate(padding_xoff,0);
    static void paintInline(Context c, InlineBox ib, int lx, int ly, LineBox line, int blockLineHeight, LineMetrics blockLineMetrics, boolean restyle) {        restyle = restyle || ib.restyle;//cascade it down        ib.restyle = false;//reset        if (ib.pushstyles != null) {            for (Iterator i = ib.pushstyles.iterator(); i.hasNext();) {                StylePush sp = (StylePush) i.next();                c.pushStyle(c.getCss().getCascadedStyle(sp.getElement(), restyle));                //Now we know that an inline element started here, handle borders and such?                Relative.translateRelative(c);                //TODO: push to current border-list (and paint left edge)                //HACK: this might do for now - tobe 2004-12-27                paintPadding(c, line, ib);            }        }        if (ib.floated) {            paintFloat(c, ib, restyle);            debugInlines(c, ib, lx, ly);        } // Uu.p("paintInline: " + inline);        else if (ib instanceof InlineBlockBox) {            c.pushStyle(c.getCss().getCascadedStyle(ib.element, restyle));            c.translate(line.x,                    line.y +                    (line.getBaseline() -                    VerticalAlign.getBaselineOffset(c, line, ib, blockLineHeight, blockLineMetrics) -                    ib.height));            BoxRendering.paint(c, ib, true, restyle);            c.translate(-line.x,                    -(line.y +                    (line.getBaseline() -                    VerticalAlign.getBaselineOffset(c, line, ib, blockLineHeight, blockLineMetrics) -                    ib.height)));            debugInlines(c, ib, lx, ly);            c.popStyle();        } else {            InlineTextBox inline = (InlineTextBox) ib;            c.updateSelection(inline);            // calculate the Xx and y relative to the baseline of the line (ly) and the            // left edge of the line (lx)            int iy = ly - VerticalAlign.getBaselineOffset(c, line, inline, blockLineHeight, blockLineMetrics);            int ix = lx + inline.x;//TODO: find the right way to work this out            // account for padding            // Uu.p("adjusted inline by: " + inline.totalLeftPadding());            // Uu.p("inline = " + inline);            // Uu.p("padding = " + inline.padding);            paintSelection(c, inline, lx, ly);			// JMM: new adjustments to move the text to account for horizontal insets			int padding_xoff = inline.totalLeftPadding(c.getCurrentStyle());			c.translate(padding_xoff,0);            paintText(c, lx, ly, ix, iy, inline);			c.translate(-padding_xoff,0);            debugInlines(c, inline, lx, ly);        }        if (ib.popstyles != null) {            for (Iterator i = ib.popstyles.iterator(); i.hasNext();) {                StylePop sp = (StylePop) i.next();                //TODO: paint right edge and pop current border-list                Relative.untranslateRelative(c);                c.popStyle();            }        }    }