mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-06-10 16:15:20 +00:00
Add back roundRect to fix issue on firefox ESR.
This commit is contained in:
parent
f4b9390623
commit
90aa597099
@ -13387,6 +13387,82 @@ LGraphNode.prototype.executeAction = function(action)
|
|||||||
};
|
};
|
||||||
|
|
||||||
//API *************************************************
|
//API *************************************************
|
||||||
|
//like rect but rounded corners
|
||||||
|
if (typeof(window) != "undefined" && window.CanvasRenderingContext2D && !window.CanvasRenderingContext2D.prototype.roundRect) {
|
||||||
|
window.CanvasRenderingContext2D.prototype.roundRect = function(
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
w,
|
||||||
|
h,
|
||||||
|
radius,
|
||||||
|
radius_low
|
||||||
|
) {
|
||||||
|
var top_left_radius = 0;
|
||||||
|
var top_right_radius = 0;
|
||||||
|
var bottom_left_radius = 0;
|
||||||
|
var bottom_right_radius = 0;
|
||||||
|
|
||||||
|
if ( radius === 0 )
|
||||||
|
{
|
||||||
|
this.rect(x,y,w,h);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(radius_low === undefined)
|
||||||
|
radius_low = radius;
|
||||||
|
|
||||||
|
//make it compatible with official one
|
||||||
|
if(radius != null && radius.constructor === Array)
|
||||||
|
{
|
||||||
|
if(radius.length == 1)
|
||||||
|
top_left_radius = top_right_radius = bottom_left_radius = bottom_right_radius = radius[0];
|
||||||
|
else if(radius.length == 2)
|
||||||
|
{
|
||||||
|
top_left_radius = bottom_right_radius = radius[0];
|
||||||
|
top_right_radius = bottom_left_radius = radius[1];
|
||||||
|
}
|
||||||
|
else if(radius.length == 4)
|
||||||
|
{
|
||||||
|
top_left_radius = radius[0];
|
||||||
|
top_right_radius = radius[1];
|
||||||
|
bottom_left_radius = radius[2];
|
||||||
|
bottom_right_radius = radius[3];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else //old using numbers
|
||||||
|
{
|
||||||
|
top_left_radius = radius || 0;
|
||||||
|
top_right_radius = radius || 0;
|
||||||
|
bottom_left_radius = radius_low || 0;
|
||||||
|
bottom_right_radius = radius_low || 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//top right
|
||||||
|
this.moveTo(x + top_left_radius, y);
|
||||||
|
this.lineTo(x + w - top_right_radius, y);
|
||||||
|
this.quadraticCurveTo(x + w, y, x + w, y + top_right_radius);
|
||||||
|
|
||||||
|
//bottom right
|
||||||
|
this.lineTo(x + w, y + h - bottom_right_radius);
|
||||||
|
this.quadraticCurveTo(
|
||||||
|
x + w,
|
||||||
|
y + h,
|
||||||
|
x + w - bottom_right_radius,
|
||||||
|
y + h
|
||||||
|
);
|
||||||
|
|
||||||
|
//bottom left
|
||||||
|
this.lineTo(x + bottom_right_radius, y + h);
|
||||||
|
this.quadraticCurveTo(x, y + h, x, y + h - bottom_left_radius);
|
||||||
|
|
||||||
|
//top left
|
||||||
|
this.lineTo(x, y + bottom_left_radius);
|
||||||
|
this.quadraticCurveTo(x, y, x + top_left_radius, y);
|
||||||
|
};
|
||||||
|
}//if
|
||||||
|
|
||||||
function compareObjects(a, b) {
|
function compareObjects(a, b) {
|
||||||
for (var i in a) {
|
for (var i in a) {
|
||||||
if (a[i] != b[i]) {
|
if (a[i] != b[i]) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user