diff --git a/CodenameOneDesigner/src/com/codename1/designer/css/CSSTheme.java b/CodenameOneDesigner/src/com/codename1/designer/css/CSSTheme.java index bb43da6cbc..4d868ae9ce 100644 --- a/CodenameOneDesigner/src/com/codename1/designer/css/CSSTheme.java +++ b/CodenameOneDesigner/src/com/codename1/designer/css/CSSTheme.java @@ -489,8 +489,8 @@ private void parseRadialGradient(ScaledUnit background) { } type = Style.BACKGROUND_GRADIENT_RADIAL; - gradientX = 1-(float)relX; - gradientY = 1-(float)relY; + gradientX = (float)relX; + gradientY = (float)relY; this.bgTransparency = (byte)alpha; this.startColor = color1; this.endColor = color2; @@ -2920,7 +2920,17 @@ public boolean canBeAchievedWithCSSBorder(Map styles) { } public boolean canBeAchievedWithRoundRectBorder(Map styles) { - if (hasUnequalBorders() || this.hasGradient() || !isBorderLineOrNone() || !isNone(backgroundImageUrl) || hasBoxShadow() || hasBorderImage()) { + boolean supportedGradient = false; + if (this.hasGradient()) { + LexicalUnit backgroundLU = styles.get("background"); + if (backgroundLU instanceof ScaledUnit) { + ScaledUnit background = (ScaledUnit)backgroundLU; + if (background != null && background.isCN1Gradient()) { + supportedGradient = true; + } + } + } + if (hasUnequalBorders() || (this.hasGradient() && !supportedGradient) || !isBorderLineOrNone() || !isNone(backgroundImageUrl) || hasBoxShadow() || hasBorderImage()) { return false; }