@Override
    public void draw(Batch batch, float x, float y, float width, float height) {
        boolean changeY = false;
        for (float y1 = y; y1 < y + height; y1 += h) {
            boolean changeX = changeY;
            for (float x1 = x; x1 < x + width; x1 += w) {
                if (changeX) {
                    drawable2.draw(batch, x1, y1, Math.min(w, x + width - x1), Math.min(h, y + height - y1));
                } else {
                    drawable1.draw(batch, x1, y1, Math.min(w, x + width - x1), Math.min(h, y + height - y1));
                }
                
                changeX = !changeX;
            }
            changeY = !changeY;
        }
    }
cellWidth and cellHeight are only suggested values. These are overridden
by the minimum width and height of the drawables if necessary
@param drawable1
@param drawable2
@param cellWidth
@param cellHeight
core/src/com/ray3k/skincomposer/CheckerDrawable.java