DEFMETHODSIZE-CELLPICTPICTURENILCELL&OPTIONALMAX-WIDTHWIDTHPICTNILNILNILCONDNULLCELLNILVALUES:ABSENT00NILNILATOMCELLNILLETREPFORMAT"~S"CELLNILNILNILNILMULTIPLE-VALUE-BINDLBWHNILSIZE-STRINGPICTREPNILDECLAREIGNORELBNILNILVALUES:HORIZONTAL+W4NIL+H2NILNILNILNILNILTLETWIDTH0NILHEIGHT0NILDISPONILNILWHEN<=LENGTHCELLNILTRUNCATEMAX-WIDTH+CELL-WIDTH+NILNILSETFDISPO:HORIZONTALNILDOITEMSCELLCDRITEMSNILNILI01+INILNILNILNULLITEMSNILNILMULTIPLE-VALUE-BINDDWHNILSIZE-CELLPICTCARITEMSNILNILDECLAREIGNOREDNILNILSETFWIDTHMAXWIDTH+W*I+CELL-WIDTH+NILNILNILNILSETFHEIGHTMAXHEIGHT+H5NILNILNILNILNILNILWHEN<=WIDTHPICTNILWIDTHNILNILVALUESDISPOWIDTHHEIGHTNILNILNILNILNIL (values dispo width height))))) (when (<= (width pict) width)) (setf height (max height (+ h 5)))))) (setf width (max width (+ w (* i +cell-width+)))) (declare (ignore d)) (size-cell pict (car items)) (multiple-value-bind (d w h) ((null items)) (do ((items cell (cdr items)) (i 0 (1+ i))) (setf dispo :horizontal) (when (<= (length cell) (truncate max-width +cell-width+)) (let ((width 0) (height 0) (dispo)) (t (values :horizontal (+ w 4) (+ h 2))))) (declare (ignore l b)) (size-string pict rep) (multiple-value-bind (l b w h) (let ((rep (format nil "~s" cell))) ((atom cell) (cond ((null cell) (values :absent 0 0))(defmethod size-cell ((pict picture) cell &optional (max-width (width pict)))