calculatePadding method
void
calculatePadding(
- double pad
)
Implementation
void calculatePadding(double pad) {
///////////////////
/* Clear Padding */
///////////////////
cellpadding.clear();
////////////////
/* Do Nothing */
////////////////
if (pad == 0) return;
////////////
/* Shrink */
////////////
if (pad.isNegative) return shrinkBy(pad);
if (paddingType == PaddingType.none) return;
switch (paddingType) {
case PaddingType.none:
break;
//////////////////////
/* Pad First Column */
//////////////////////
case PaddingType.first:
{
cellpadding[0] = pad;
break;
}
/////////////////////
/* Pad Last Column */
/////////////////////
case PaddingType.last:
{
cellpadding[widths.length - 1] = pad;
break;
}
////////////////////////////
/* Pad Each Column Evenly */
////////////////////////////
case PaddingType.evenly:
{
double p = pad / widths.length;
widths.forEach((key, value) => cellpadding[key] = p);
break;
}
////////////////////////////////////////
/* Pad Each Proportionate to its Size */
////////////////////////////////////////
case PaddingType.proportionately:
{
double totalWidth = 0;
widths.forEach((key, width) => totalWidth += width);
widths.forEach((key, width) {
double percentageWidth = (width) / totalWidth;
double p = pad * percentageWidth;
cellpadding[key] = p;
});
}
}
}