st: Stop using Clutter cairo helpers

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2808>
This commit is contained in:
Bilal Elmoussaoui 2023-07-18 15:50:48 +02:00
parent ef9113da43
commit 198dde2696
6 changed files with 24 additions and 19 deletions

View File

@ -157,9 +157,9 @@ export const BarLevel = GObject.registerClass({
cr.lineTo(endX, (height + barLevelHeight) / 2); cr.lineTo(endX, (height + barLevelHeight) / 2);
cr.lineTo(endX, (height - barLevelHeight) / 2); cr.lineTo(endX, (height - barLevelHeight) / 2);
cr.lineTo(xcArcEnd, (height - barLevelHeight) / 2); cr.lineTo(xcArcEnd, (height - barLevelHeight) / 2);
Clutter.cairo_set_source_color(cr, barLevelColor); cr.setSourceColor(barLevelColor);
cr.fillPreserve(); cr.fillPreserve();
Clutter.cairo_set_source_color(cr, barLevelBorderColor); cr.setSourceColor(barLevelBorderColor);
cr.setLineWidth(barLevelBorderWidth); cr.setLineWidth(barLevelBorderWidth);
cr.stroke(); cr.stroke();
@ -176,9 +176,9 @@ export const BarLevel = GObject.registerClass({
cr.lineTo(x, (height + barLevelHeight) / 2); cr.lineTo(x, (height + barLevelHeight) / 2);
cr.lineTo(xcArcStart, (height + barLevelHeight) / 2); cr.lineTo(xcArcStart, (height + barLevelHeight) / 2);
if (this._value > 0) if (this._value > 0)
Clutter.cairo_set_source_color(cr, barLevelActiveColor); cr.setSourceColor(barLevelActiveColor);
cr.fillPreserve(); cr.fillPreserve();
Clutter.cairo_set_source_color(cr, barLevelActiveBorderColor); cr.setSourceColor(barLevelActiveBorderColor);
cr.setLineWidth(barLevelBorderWidth); cr.setLineWidth(barLevelBorderWidth);
cr.stroke(); cr.stroke();
@ -193,9 +193,9 @@ export const BarLevel = GObject.registerClass({
cr.lineTo(endX, (height + barLevelHeight) / 2); cr.lineTo(endX, (height + barLevelHeight) / 2);
cr.lineTo(x, (height + barLevelHeight) / 2); cr.lineTo(x, (height + barLevelHeight) / 2);
cr.lineTo(x, (height - barLevelHeight) / 2); cr.lineTo(x, (height - barLevelHeight) / 2);
Clutter.cairo_set_source_color(cr, barLevelOverdriveColor); cr.setSourceColor(barLevelOverdriveColor);
cr.fillPreserve(); cr.fillPreserve();
Clutter.cairo_set_source_color(cr, barLevelOverdriveBorderColor); cr.setSourceColor(barLevelOverdriveBorderColor);
cr.setLineWidth(barLevelBorderWidth); cr.setLineWidth(barLevelBorderWidth);
cr.stroke(); cr.stroke();
} }
@ -203,9 +203,9 @@ export const BarLevel = GObject.registerClass({
/* end progress bar arc */ /* end progress bar arc */
if (this._value > 0) { if (this._value > 0) {
if (this._value <= this._overdriveStart) if (this._value <= this._overdriveStart)
Clutter.cairo_set_source_color(cr, barLevelActiveColor); cr.setSourceColor(barLevelActiveColor);
else else
Clutter.cairo_set_source_color(cr, barLevelOverdriveColor); cr.setSourceColor(barLevelOverdriveColor);
if (!rtl) { if (!rtl) {
cr.arc(endX, height / 2, barLevelBorderRadius, TAU * (3 / 4), TAU * (1 / 4)); cr.arc(endX, height / 2, barLevelBorderRadius, TAU * (3 / 4), TAU * (1 / 4));
cr.lineTo(Math.floor(endX), (height + barLevelHeight) / 2); cr.lineTo(Math.floor(endX), (height + barLevelHeight) / 2);
@ -229,9 +229,9 @@ export const BarLevel = GObject.registerClass({
cr.lineTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height + barLevelHeight) / 2); cr.lineTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height + barLevelHeight) / 2);
cr.lineTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height - barLevelHeight) / 2); cr.lineTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height - barLevelHeight) / 2);
if (this._value <= this._overdriveStart) if (this._value <= this._overdriveStart)
Clutter.cairo_set_source_color(cr, fgColor); cr.setSourceColor(fgColor);
else else
Clutter.cairo_set_source_color(cr, barLevelColor); cr.setSourceColor(barLevelColor);
cr.fill(); cr.fill();
} }

View File

@ -422,13 +422,13 @@ export const BoxPointer = GObject.registerClass({
const [hasColor, bgColor] = const [hasColor, bgColor] =
themeNode.lookup_color('-arrow-background-color', false); themeNode.lookup_color('-arrow-background-color', false);
if (hasColor) { if (hasColor) {
Clutter.cairo_set_source_color(cr, bgColor); cr.setSourceColor(bgColor);
cr.fillPreserve(); cr.fillPreserve();
} }
if (borderWidth > 0) { if (borderWidth > 0) {
let borderColor = themeNode.get_color('-arrow-border-color'); let borderColor = themeNode.get_color('-arrow-border-color');
Clutter.cairo_set_source_color(cr, borderColor); cr.setSourceColor(borderColor);
cr.setLineWidth(borderWidth); cr.setLineWidth(borderWidth);
cr.stroke(); cr.stroke();
} }

View File

@ -68,11 +68,11 @@ const PieTimer = GObject.registerClass({
cr.closePath(); cr.closePath();
cr.setLineWidth(0); cr.setLineWidth(0);
Clutter.cairo_set_source_color(cr, backgroundColor); cr.setSourceColor(backgroundColor);
cr.fillPreserve(); cr.fillPreserve();
cr.setLineWidth(borderWidth); cr.setLineWidth(borderWidth);
Clutter.cairo_set_source_color(cr, borderColor); cr.setSourceColor(borderColor);
cr.stroke(); cr.stroke();
cr.$dispose(); cr.$dispose();

View File

@ -54,11 +54,11 @@ export const Slider = GObject.registerClass({
handleX = width - handleX; handleX = width - handleX;
let color = themeNode.get_foreground_color(); let color = themeNode.get_foreground_color();
Clutter.cairo_set_source_color(cr, color); cr.setSourceColor(color);
cr.arc(handleX, handleY, handleRadius, 0, 2 * Math.PI); cr.arc(handleX, handleY, handleRadius, 0, 2 * Math.PI);
cr.fillPreserve(); cr.fillPreserve();
if (hasHandleColor && handleBorderWidth) { if (hasHandleColor && handleBorderWidth) {
Clutter.cairo_set_source_color(cr, handleBorderColor); cr.setSourceColor(handleBorderColor);
cr.setLineWidth(handleBorderWidth); cr.setLineWidth(handleBorderWidth);
cr.stroke(); cr.stroke();
} }

View File

@ -662,7 +662,7 @@ export function drawArrow(area, side) {
let cr = area.get_context(); let cr = area.get_context();
cr.setLineWidth(1.0); cr.setLineWidth(1.0);
Clutter.cairo_set_source_color(cr, borderColor); cr.setSourceColor(borderColor);
switch (side) { switch (side) {
case St.Side.TOP: case St.Side.TOP:
@ -692,7 +692,7 @@ export function drawArrow(area, side) {
cr.strokePreserve(); cr.strokePreserve();
Clutter.cairo_set_source_color(cr, bodyColor); cr.setSourceColor(bodyColor);
cr.fill(); cr.fill();
cr.$dispose(); cr.$dispose();
} }

View File

@ -66,7 +66,12 @@ draw_content (ClutterCanvas *canvas,
priv->context = cr; priv->context = cr;
priv->in_repaint = TRUE; priv->in_repaint = TRUE;
clutter_cairo_clear (cr); cairo_save (cr);
cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
cairo_paint (cr);
cairo_restore (cr);
g_signal_emit (area, st_drawing_area_signals[REPAINT], 0); g_signal_emit (area, st_drawing_area_signals[REPAINT], 0);
priv->context = NULL; priv->context = NULL;