@@ -244,7 +244,7 @@ var kMascotImageCode = 'Image { \n\
244244 }\n';
245245
246246// %1 is used as anchors of titleLabel
247−// %1 is used as color of titleLabel
247+// %2 is used as color of titleLabel
248248// %3 is used as extra condition for visible of titleLabel
249249var kTitleLabelCode = 'Label { \n\
250250 id: titleLabel; \n\
@@ -274,6 +274,16 @@ var kEmblemImageCode = 'Image { \n\
274274 fillMode: Image.PreserveAspectFit; \n\
275275 }\n';
276276
277+// %1 is used as anchors of touchdown effect
278+var kTouchdownCode = 'UbuntuShape { \n\
279+ id: touchdown; \n\
280+ objectName: "touchdown"; \n\
281+ anchors { %1 } \n\
282+ visible: root.pressed; \n\
283+ radius: "medium"; \n\
284+ borderSource: "radius_pressed.sci" \n\
285+ }\n';
286+
277287// %1 is used as anchors of subtitleLabel
278288// %2 is used as color of subtitleLabel
279289var kSubtitleLabelCode = 'Label { \n\
@@ -571,6 +581,16 @@ function cardString(template, components) {
571581 code += kSummaryLabelCode.arg(summaryTopAnchor).arg(summaryTopMargin).arg(color);
572582 }
573583
584+ var touchdownAnchors;
585+ if (hasBackground) {
586+ touchdownAnchors = 'fill: backgroundLoader';
587+ } else if (hasArt && !hasMascot && !hasSummary) {
588+ touchdownAnchors = 'fill: artShapeHolder';
589+ } else {
590+ touchdownAnchors = 'fill: root'
591+ }
592+ code += kTouchdownCode.arg(touchdownAnchors);
593+
574594 if (hasSummary) {
575595 code += 'implicitHeight: summary.y + summary.height + (summary.text ? units.gu(1) : 0);\n';
576596 } else if (hasHeaderRow) {