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

View File

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

View File

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

View File

@ -54,11 +54,11 @@ export const Slider = GObject.registerClass({
handleX = width - handleX;
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.fillPreserve();
if (hasHandleColor && handleBorderWidth) {
Clutter.cairo_set_source_color(cr, handleBorderColor);
cr.setSourceColor(handleBorderColor);
cr.setLineWidth(handleBorderWidth);
cr.stroke();
}

View File

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

View File

@ -66,7 +66,12 @@ draw_content (ClutterCanvas *canvas,
priv->context = cr;
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);
priv->context = NULL;