layout method

  1. @override
PwBox layout(
  1. Context context,
  2. BoxConstraints constraints
)
override

layout API.

Implementation

@override
PwBox layout(Context context, BoxConstraints constraints) {
  final (String accent, String wash, String ink) = _palette(tone);
  final String bar = accentColor ?? accent;
  final String bg = backgroundColor ?? wash;
  return Container(
    decoration: BoxDecoration(color: bg),
    child: Row(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: <Widget>[
        Container(width: 4, color: bar, child: const SizedBox(height: 1)),
        Expanded(
          child: Padding(
            padding: padding,
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: <Widget>[
                if (title.isNotEmpty)
                  Text(
                    title,
                    style: TextStyle(
                      fontSize: 10,
                      fontWeight: FontWeight.bold,
                      color: ink,
                    ),
                  ),
                if (title.isNotEmpty) const SizedBox(height: 4),
                Text(
                  body,
                  style: TextStyle(fontSize: 9, color: ink, height: 1.4),
                ),
              ],
            ),
          ),
        ),
      ],
    ),
  ).layout(context, constraints);
}