diff --git a/FlexLove.lua b/FlexLove.lua
index 67ffbf1..c1d560e 100644
--- a/FlexLove.lua
+++ b/FlexLove.lua
@@ -511,7 +511,7 @@ function flexlove.draw(gameDrawFunc, postDrawFunc)
end)
local function hasBackdropBlur(element)
- if element.backdropBlur and element.backdropBlur.intensity > 0 then
+ if element.backdropBlur and element.backdropBlur.radius > 0 then
return true
end
for _, child in ipairs(element.children) do
diff --git a/docs/examples.html b/docs/examples.html
index 7c20ff7..98a3f76 100644
--- a/docs/examples.html
+++ b/docs/examples.html
@@ -377,10 +377,11 @@ end
- 💡 Tip: Use positioning = "grid" with
- gridRows and gridColumns to create true grid
- layouts. Children auto-flow into cells left-to-right, top-to-bottom.
- Perfect for tables, schedules, and structured data displays.
+ 💡 Tip: Use positioning = "grid" with
+ gridRows and gridColumns to create true
+ grid layouts. Children auto-flow into cells left-to-right,
+ top-to-bottom. Perfect for tables, schedules, and structured data
+ displays.
@@ -589,7 +590,7 @@ local window = FlexLove.new({
positioning = "flex",
flexDirection = "vertical",
gap = 10,
- backdropBlur = { intensity = 50, quality = 10 },
+ backdropBlur = { radius = 10, quality = 10 },
backgroundColor = Color.new(0.1, 0.1, 0.1, 0.8)
})
@@ -1088,32 +1089,32 @@ end
});
// Add copy buttons to code blocks
- document.querySelectorAll('pre code').forEach((codeBlock) => {
+ document.querySelectorAll("pre code").forEach((codeBlock) => {
const pre = codeBlock.parentElement;
- const button = document.createElement('button');
- button.className = 'copy-button';
- button.textContent = 'Copy';
- button.title = 'Copy to clipboard';
-
- button.addEventListener('click', async () => {
+ const button = document.createElement("button");
+ button.className = "copy-button";
+ button.textContent = "Copy";
+ button.title = "Copy to clipboard";
+
+ button.addEventListener("click", async () => {
const code = codeBlock.textContent;
try {
await navigator.clipboard.writeText(code);
- button.textContent = 'Copied!';
- button.classList.add('copied');
+ button.textContent = "Copied!";
+ button.classList.add("copied");
setTimeout(() => {
- button.textContent = 'Copy';
- button.classList.remove('copied');
+ button.textContent = "Copy";
+ button.classList.remove("copied");
}, 2000);
} catch (err) {
- console.error('Failed to copy:', err);
- button.textContent = 'Failed';
+ console.error("Failed to copy:", err);
+ button.textContent = "Failed";
setTimeout(() => {
- button.textContent = 'Copy';
+ button.textContent = "Copy";
}, 2000);
}
});
-
+
pre.appendChild(button);
});
diff --git a/examples/scrollable_content.lua b/examples/scrollable_content.lua
index f1dde2a..980be3b 100644
--- a/examples/scrollable_content.lua
+++ b/examples/scrollable_content.lua
@@ -25,7 +25,7 @@ function ScrollableContentExample.new()
justifyContent = "center",
alignItems = "center",
gap = 10,
- backdropBlur = { intensity = 50, quality = 10 },
+ backdropBlur = { radius = 20, quality = 10 },
backgroundColor = Color.new(0.1, 0.1, 0.1, 0.8),
})
diff --git a/modules/Blur.lua b/modules/Blur.lua
index 71d691e..9fcea1e 100644
--- a/modules/Blur.lua
+++ b/modules/Blur.lua
@@ -12,7 +12,7 @@ local Cache = {
MAX_CANVAS_SIZE = 20,
MAX_QUAD_SIZE = 20,
MAX_BLURRED_CANVAS_CACHE = 50, -- Maximum cached blurred canvases
- INTENSITY_THRESHOLD = 5, -- Skip blur below this intensity
+ RADIUS_THRESHOLD = 0.5, -- Skip blur below this radius
LARGE_BLUR_THRESHOLD = 250 * 250, -- Warn if blur area exceeds this (250x250px)
}
@@ -133,12 +133,12 @@ end
---@param y number Y position
---@param width number Width
---@param height number Height
----@param intensity number Blur intensity
+---@param radius number Blur radius
---@param quality number Blur quality
---@param isBackdrop boolean Whether this is backdrop blur
---@return string key Cache key
-function Cache.generateBlurCacheKey(elementId, x, y, width, height, intensity, quality, isBackdrop)
- return string.format("%s:%d:%d:%d:%d:%d:%d:%s", elementId, x, y, width, height, intensity, quality, tostring(isBackdrop))
+function Cache.generateBlurCacheKey(elementId, x, y, width, height, radius, quality, isBackdrop)
+ return string.format("%s:%d:%d:%d:%d:%.1f:%d:%s", elementId, x, y, width, height, radius, quality, tostring(isBackdrop))
end
--- Get cached blurred canvas
@@ -381,13 +381,13 @@ function Blur.new(props)
end
--- Apply blur to a region of the screen
----@param intensity number Blur intensity (0-100)
+---@param radius number Blur radius in pixels
---@param x number X position
---@param y number Y position
---@param width number Width of region
---@param height number Height of region
---@param drawFunc function Function to draw content to be blurred
-function Blur:applyToRegion(intensity, x, y, width, height, drawFunc)
+function Blur:applyToRegion(radius, x, y, width, height, drawFunc)
if type(drawFunc) ~= "function" then
if Blur._ErrorHandler then
Blur._ErrorHandler:warn("Blur", "BLUR_001")
@@ -395,13 +395,13 @@ function Blur:applyToRegion(intensity, x, y, width, height, drawFunc)
return
end
- if intensity <= 0 or width <= 0 or height <= 0 then
+ if radius <= 0 or width <= 0 or height <= 0 then
drawFunc()
return
end
- -- Early exit for very low intensity (optimization)
- if intensity < Cache.INTENSITY_THRESHOLD then
+ -- Early exit for very low radius (optimization)
+ if radius < Cache.RADIUS_THRESHOLD then
drawFunc()
return
end
@@ -409,11 +409,9 @@ function Blur:applyToRegion(intensity, x, y, width, height, drawFunc)
-- Check for large blur area in immediate mode
checkLargeBlurWarning(nil, width, height, "content")
- intensity = math.max(0, math.min(100, intensity))
-
- -- Intensity 0-100 maps to 0-5 passes
- local passes = math.ceil(intensity / 20)
- passes = math.max(1, math.min(5, passes))
+ -- Calculate offset multiplier based on radius and quality
+ -- Higher quality = more samples = smaller steps for same radius
+ local offsetMultiplier = radius / self.quality
local canvas1 = Cache.getCanvas(width, height)
local canvas2 = Cache.getCanvas(width, height)
@@ -435,17 +433,16 @@ function Blur:applyToRegion(intensity, x, y, width, height, drawFunc)
love.graphics.setColor(1, 1, 1, 1)
love.graphics.setBlendMode("alpha", "premultiplied")
- for i = 1, passes do
- love.graphics.setCanvas(canvas2)
- love.graphics.clear()
- self.shader:send("direction", { 1 / width, 0 })
- love.graphics.draw(canvas1, 0, 0)
+ -- Single pass with radius-controlled offset
+ love.graphics.setCanvas(canvas2)
+ love.graphics.clear()
+ self.shader:send("direction", { offsetMultiplier / width, 0 })
+ love.graphics.draw(canvas1, 0, 0)
- love.graphics.setCanvas(canvas1)
- love.graphics.clear()
- self.shader:send("direction", { 0, 1 / height })
- love.graphics.draw(canvas2, 0, 0)
- end
+ love.graphics.setCanvas(canvas1)
+ love.graphics.clear()
+ self.shader:send("direction", { 0, offsetMultiplier / height })
+ love.graphics.draw(canvas2, 0, 0)
love.graphics.setCanvas(prevCanvas)
love.graphics.setShader()
@@ -460,13 +457,13 @@ function Blur:applyToRegion(intensity, x, y, width, height, drawFunc)
end
--- Apply backdrop blur effect (blur content behind a region)
----@param intensity number Blur intensity (0-100)
+---@param radius number Blur radius in pixels
---@param x number X position
---@param y number Y position
---@param width number Width of region
---@param height number Height of region
---@param backdropCanvas love.Canvas Canvas containing the backdrop content
-function Blur:applyBackdrop(intensity, x, y, width, height, backdropCanvas)
+function Blur:applyBackdrop(radius, x, y, width, height, backdropCanvas)
if not backdropCanvas then
if Blur._ErrorHandler then
Blur._ErrorHandler:warn("Blur", "BLUR_002")
@@ -474,19 +471,17 @@ function Blur:applyBackdrop(intensity, x, y, width, height, backdropCanvas)
return
end
- if intensity <= 0 or width <= 0 or height <= 0 then
+ if radius <= 0 or width <= 0 or height <= 0 then
return
end
- -- Early exit for very low intensity (optimization)
- if intensity < Cache.INTENSITY_THRESHOLD then
+ -- Early exit for very low radius (optimization)
+ if radius < Cache.RADIUS_THRESHOLD then
return
end
- intensity = math.max(0, math.min(100, intensity))
-
- local passes = math.ceil(intensity / 20)
- passes = math.max(1, math.min(5, passes))
+ -- Calculate offset multiplier based on radius and quality
+ local offsetMultiplier = radius / self.quality
local canvas1 = Cache.getCanvas(width, height)
local canvas2 = Cache.getCanvas(width, height)
@@ -507,17 +502,16 @@ function Blur:applyBackdrop(intensity, x, y, width, height, backdropCanvas)
love.graphics.setShader(self.shader)
- for i = 1, passes do
- love.graphics.setCanvas(canvas2)
- love.graphics.clear()
- self.shader:send("direction", { 1 / width, 0 })
- love.graphics.draw(canvas1, 0, 0)
+ -- Single pass with radius-controlled offset
+ love.graphics.setCanvas(canvas2)
+ love.graphics.clear()
+ self.shader:send("direction", { offsetMultiplier / width, 0 })
+ love.graphics.draw(canvas1, 0, 0)
- love.graphics.setCanvas(canvas1)
- love.graphics.clear()
- self.shader:send("direction", { 0, 1 / height })
- love.graphics.draw(canvas2, 0, 0)
- end
+ love.graphics.setCanvas(canvas1)
+ love.graphics.clear()
+ self.shader:send("direction", { 0, offsetMultiplier / height })
+ love.graphics.draw(canvas2, 0, 0)
love.graphics.setCanvas(prevCanvas)
love.graphics.setShader()
@@ -550,21 +544,21 @@ function Blur.clearCache()
end
--- Apply backdrop blur with caching support
----@param intensity number Blur intensity (0-100)
+---@param radius number Blur radius in pixels
---@param x number X position
---@param y number Y position
---@param width number Width of region
---@param height number Height of region
---@param backdropCanvas love.Canvas Canvas containing the backdrop content
---@param elementId string|nil Element ID for caching (nil disables caching)
-function Blur:applyBackdropCached(intensity, x, y, width, height, backdropCanvas, elementId)
+function Blur:applyBackdropCached(radius, x, y, width, height, backdropCanvas, elementId)
-- If caching is disabled or no element ID, fall back to regular apply
if not Blur._immediateModeOptimizations or not elementId then
- return self:applyBackdrop(intensity, x, y, width, height, backdropCanvas)
+ return self:applyBackdrop(radius, x, y, width, height, backdropCanvas)
end
-- Generate cache key
- local cacheKey = Cache.generateBlurCacheKey(elementId, x, y, width, height, intensity, self.quality, true)
+ local cacheKey = Cache.generateBlurCacheKey(elementId, x, y, width, height, radius, self.quality, true)
-- Check cache
local cachedCanvas = Cache.getBlurredCanvas(cacheKey)
@@ -593,22 +587,20 @@ function Blur:applyBackdropCached(intensity, x, y, width, height, backdropCanvas
return
end
- if intensity <= 0 or width <= 0 or height <= 0 then
+ if radius <= 0 or width <= 0 or height <= 0 then
return
end
- -- Early exit for very low intensity (optimization)
- if intensity < Cache.INTENSITY_THRESHOLD then
+ -- Early exit for very low radius (optimization)
+ if radius < Cache.RADIUS_THRESHOLD then
return
end
-- Check for large blur area in immediate mode
checkLargeBlurWarning(elementId, width, height, "backdrop")
- intensity = math.max(0, math.min(100, intensity))
-
- local passes = math.ceil(intensity / 20)
- passes = math.max(1, math.min(5, passes))
+ -- Calculate offset multiplier based on radius and quality
+ local offsetMultiplier = radius / self.quality
local canvas1 = Cache.getCanvas(width, height)
local canvas2 = Cache.getCanvas(width, height)
@@ -629,17 +621,16 @@ function Blur:applyBackdropCached(intensity, x, y, width, height, backdropCanvas
love.graphics.setShader(self.shader)
- for i = 1, passes do
- love.graphics.setCanvas(canvas2)
- love.graphics.clear()
- self.shader:send("direction", { 1 / width, 0 })
- love.graphics.draw(canvas1, 0, 0)
+ -- Single pass with radius-controlled offset
+ love.graphics.setCanvas(canvas2)
+ love.graphics.clear()
+ self.shader:send("direction", { offsetMultiplier / width, 0 })
+ love.graphics.draw(canvas1, 0, 0)
- love.graphics.setCanvas(canvas1)
- love.graphics.clear()
- self.shader:send("direction", { 0, 1 / height })
- love.graphics.draw(canvas2, 0, 0)
- end
+ love.graphics.setCanvas(canvas1)
+ love.graphics.clear()
+ self.shader:send("direction", { 0, offsetMultiplier / height })
+ love.graphics.draw(canvas2, 0, 0)
-- Cache the result
local cachedResult = love.graphics.newCanvas(width, height)
diff --git a/modules/Element.lua b/modules/Element.lua
index 3f16df8..0afe285 100644
--- a/modules/Element.lua
+++ b/modules/Element.lua
@@ -70,8 +70,8 @@
---@field contentAutoSizingMultiplier {width:number?, height:number?}? -- Multiplier for auto-sized content dimensions
---@field scaleCorners number? -- Scale multiplier for 9-patch corners/edges. E.g., 2 = 2x size (overrides theme setting)
---@field scalingAlgorithm "nearest"|"bilinear"? -- Scaling algorithm for 9-patch corners: "nearest" (sharp/pixelated) or "bilinear" (smooth) (overrides theme setting)
----@field contentBlur {intensity:number, quality:number}? -- Blur the element's content including children (intensity: 0-100, quality: 1-10)
----@field backdropBlur {intensity:number, quality:number}? -- Blur content behind the element (intensity: 0-100, quality: 1-10)
+---@field contentBlur {radius:number, quality:number?}? -- Blur the element's content including children (radius: pixels, quality: 1-10, default: 5)
+---@field backdropBlur {radius:number, quality:number?}? -- Blur content behind the element (radius: pixels, quality: 1-10, default: 5)
---@field _blurInstance table? -- Internal: cached blur effect instance
---@field editable boolean -- Whether the element is editable (default: false)
---@field multiline boolean -- Whether the element supports multiple lines (default: false)
@@ -2123,10 +2123,10 @@ function Element:draw(backdropCanvas)
end
-- Apply content blur if configured
- if self.contentBlur and self.contentBlur.intensity > 0 and #sortedChildren > 0 then
+ if self.contentBlur and self.contentBlur.radius > 0 and #sortedChildren > 0 then
local blurInstance = self:getBlurInstance()
if blurInstance then
- Element._Blur.applyToRegion(blurInstance, self.contentBlur.intensity, self.x, self.y, borderBoxWidth, borderBoxHeight, drawChildren)
+ Element._Blur.applyToRegion(blurInstance, self.contentBlur.radius, self.x, self.y, borderBoxWidth, borderBoxHeight, drawChildren)
else
drawChildren()
end
@@ -3190,13 +3190,13 @@ function Element:saveState()
}
if self.backdropBlur then
- state.blur._backdropBlurIntensity = self.backdropBlur.intensity
- state.blur._backdropBlurQuality = self.backdropBlur.quality
+ state.blur._backdropBlurRadius = self.backdropBlur.radius
+ state.blur._backdropBlurQuality = self.backdropBlur.quality or 5
end
if self.contentBlur then
- state.blur._contentBlurIntensity = self.contentBlur.intensity
- state.blur._contentBlurQuality = self.contentBlur.quality
+ state.blur._contentBlurRadius = self.contentBlur.radius
+ state.blur._contentBlurQuality = self.contentBlur.quality or 5
end
end
@@ -3252,9 +3252,9 @@ function Element:shouldInvalidateBlurCache(oldState, newState)
or old._blurY ~= new._blurY
or old._blurWidth ~= new._blurWidth
or old._blurHeight ~= new._blurHeight
- or old._backdropBlurIntensity ~= new._backdropBlurIntensity
+ or old._backdropBlurRadius ~= new._backdropBlurRadius
or old._backdropBlurQuality ~= new._backdropBlurQuality
- or old._contentBlurIntensity ~= new._contentBlurIntensity
+ or old._contentBlurRadius ~= new._contentBlurRadius
or old._contentBlurQuality ~= new._contentBlurQuality
end
diff --git a/modules/Renderer.lua b/modules/Renderer.lua
index eb4db99..5b923f3 100644
--- a/modules/Renderer.lua
+++ b/modules/Renderer.lua
@@ -417,12 +417,12 @@ function Renderer:draw(element, backdropCanvas)
end
-- LAYER 0.5: Draw backdrop blur if configured (before background)
- if self.backdropBlur and self.backdropBlur.intensity > 0 and backdropCanvas then
+ if self.backdropBlur and self.backdropBlur.radius > 0 and backdropCanvas then
local blurInstance = self:getBlurInstance()
if blurInstance then
-- Use cached blur in immediate mode if element has an ID
local elementId = element.id and element.id ~= "" and element.id or nil
- blurInstance:applyBackdropCached(self.backdropBlur.intensity, element.x, element.y, borderBoxWidth, borderBoxHeight, backdropCanvas, elementId)
+ blurInstance:applyBackdropCached(self.backdropBlur.radius, element.x, element.y, borderBoxWidth, borderBoxHeight, backdropCanvas, elementId)
end
end
diff --git a/modules/types.lua b/modules/types.lua
index d758b53..900a725 100644
--- a/modules/types.lua
+++ b/modules/types.lua
@@ -95,8 +95,8 @@ local AnimationProps = {}
---@field contentAutoSizingMultiplier {width:number?, height:number?}? -- Multiplier for auto-sized content dimensions (default: sourced from theme or {1, 1})
---@field scaleCorners number? -- Scale multiplier for 9-patch corners/edges. E.g., 2 = 2x size (overrides theme setting)
---@field scalingAlgorithm "nearest"|"bilinear"? -- Scaling algorithm for 9-patch corners: "nearest" (sharp/pixelated) or "bilinear" (smooth) (overrides theme setting)
----@field contentBlur {intensity:number, quality:number}? -- Blur the element's content including children (intensity: 0-100, quality: 1-10, default: nil)
----@field backdropBlur {intensity:number, quality:number}? -- Blur content behind the element (intensity: 0-100, quality: 1-10, default: nil)
+---@field contentBlur {radius:number, quality:number?}? -- Blur the element's content including children (radius: pixels, quality: 1-10, default(quality): 5)
+---@field backdropBlur {radius:number, quality:number?}? -- Blur content behind the element (radius: pixels, quality: 1-10, default(quality): 5)
---@field editable boolean? -- Whether the element is editable (default: false)
---@field multiline boolean? -- Whether the element supports multiple lines (default: false)
---@field textWrap boolean|"word"|"char"? -- Text wrapping mode (default: false for single-line, "word" for multi-line)
@@ -204,7 +204,7 @@ local FlexLoveConfig = {}
---@field _blurY number
---@field _blurWidth number
---@field _blurHeight number
----@field _backdropBlurIntensity number?
----@field _backdropBlurQuality string?
----@field _contentBlurIntensity number?
----@field _contentBlurQuality string?
+---@field _backdropBlurRadius number?
+---@field _backdropBlurQuality number?
+---@field _contentBlurRadius number?
+---@field _contentBlurQuality number?
diff --git a/testing/__tests__/blur_test.lua b/testing/__tests__/blur_test.lua
index dfabb76..af6d049 100644
--- a/testing/__tests__/blur_test.lua
+++ b/testing/__tests__/blur_test.lua
@@ -104,7 +104,7 @@ end
-- applyToRegion() Edge Cases
-- ============================================================================
-function TestBlur:testApplyToRegionWithZeroIntensity()
+function TestBlur:testApplyToRegionWithZeroRadius()
local blur = Blur.new({quality = 5})
local called = false
local drawFunc = function()
@@ -116,7 +116,7 @@ function TestBlur:testApplyToRegionWithZeroIntensity()
luaunit.assertTrue(called)
end
-function TestBlur:testApplyToRegionWithNegativeIntensity()
+function TestBlur:testApplyToRegionWithNegativeRadius()
local blur = Blur.new({quality = 5})
local called = false
local drawFunc = function()
@@ -176,14 +176,14 @@ function TestBlur:testApplyToRegionWithNegativeHeight()
luaunit.assertTrue(called)
end
-function TestBlur:testApplyToRegionWithIntensityOver100()
+function TestBlur:testApplyToRegionWithLargeRadius()
local blur = Blur.new({quality = 5})
local called = false
local drawFunc = function()
called = true
end
- -- Should clamp intensity to 100
+ -- Should work with large radius values
blur:applyToRegion(150, 0, 0, 100, 100, drawFunc)
luaunit.assertTrue(called)
end
@@ -240,36 +240,36 @@ function TestBlur:testApplyToRegionWithVeryLargeDimensions()
luaunit.assertTrue(called)
end
-function TestBlur:testApplyToRegionIntensityBoundaries()
+function TestBlur:testApplyToRegionRadiusValues()
local blur = Blur.new({quality = 5})
local called = false
local drawFunc = function()
called = true
end
- -- Test boundary values that affect passes calculation
- -- intensity 20 = 1 pass
+ -- Test various radius values
+ -- Small radius
+ blur:applyToRegion(5, 0, 0, 100, 100, drawFunc)
+ luaunit.assertTrue(called)
+
+ called = false
+ -- Medium radius
+ blur:applyToRegion(10, 0, 0, 100, 100, drawFunc)
+ luaunit.assertTrue(called)
+
+ called = false
+ -- Large radius
blur:applyToRegion(20, 0, 0, 100, 100, drawFunc)
luaunit.assertTrue(called)
called = false
- -- intensity 40 = 2 passes
- blur:applyToRegion(40, 0, 0, 100, 100, drawFunc)
+ -- Very large radius
+ blur:applyToRegion(50, 0, 0, 100, 100, drawFunc)
luaunit.assertTrue(called)
called = false
- -- intensity 60 = 3 passes
- blur:applyToRegion(60, 0, 0, 100, 100, drawFunc)
- luaunit.assertTrue(called)
-
- called = false
- -- intensity 80 = 4 passes
- blur:applyToRegion(80, 0, 0, 100, 100, drawFunc)
- luaunit.assertTrue(called)
-
- called = false
- -- intensity 100 = 5 passes
- blur:applyToRegion(100, 0, 0, 100, 100, drawFunc)
+ -- Fractional radius
+ blur:applyToRegion(2.5, 0, 0, 100, 100, drawFunc)
luaunit.assertTrue(called)
end
@@ -277,7 +277,7 @@ end
-- applyBackdrop() Edge Cases
-- ============================================================================
-function TestBlur:testApplyBackdropWithZeroIntensity()
+function TestBlur:testApplyBackdropWithZeroRadius()
local blur = Blur.new({quality = 5})
local mockCanvas = {
getDimensions = function()
@@ -290,7 +290,7 @@ function TestBlur:testApplyBackdropWithZeroIntensity()
luaunit.assertTrue(true)
end
-function TestBlur:testApplyBackdropWithNegativeIntensity()
+function TestBlur:testApplyBackdropWithNegativeRadius()
local blur = Blur.new({quality = 5})
local mockCanvas = {
getDimensions = function()
@@ -337,7 +337,7 @@ function TestBlur:testApplyBackdropWithNilCanvas()
luaunit.assertTrue(true) -- Should reach here without crash
end
-function TestBlur:testApplyBackdropWithIntensityOver100()
+function TestBlur:testApplyBackdropWithLargeRadius()
local blur = Blur.new({quality = 5})
local mockCanvas = {
getDimensions = function()
@@ -345,7 +345,7 @@ function TestBlur:testApplyBackdropWithIntensityOver100()
end,
}
- -- Should clamp intensity to 100
+ -- Should work with large radius values
blur:applyBackdrop(200, 0, 0, 100, 100, mockCanvas)
luaunit.assertTrue(true)
end
diff --git a/testing/__tests__/critical_failures_test.lua b/testing/__tests__/critical_failures_test.lua
index 0f3786e..02d510a 100644
--- a/testing/__tests__/critical_failures_test.lua
+++ b/testing/__tests__/critical_failures_test.lua
@@ -393,7 +393,7 @@ function TestCriticalFailures:test_blur_invalid_quality()
FlexLove.new({
width = 100,
height = 100,
- contentBlur = { intensity = 50, quality = 0 },
+ contentBlur = { radius = 50, quality = 0 },
})
end)
@@ -403,7 +403,7 @@ function TestCriticalFailures:test_blur_invalid_quality()
FlexLove.new({
width = 100,
height = 100,
- contentBlur = { intensity = 50, quality = -5 },
+ contentBlur = { radius = 50, quality = -5 },
})
end)
diff --git a/testing/__tests__/element_test.lua b/testing/__tests__/element_test.lua
index b56ee4b..54d7965 100644
--- a/testing/__tests__/element_test.lua
+++ b/testing/__tests__/element_test.lua
@@ -1881,7 +1881,7 @@ end
function TestElementBlur:test_getBlurInstance_with_blur()
local element = createBasicElement({
- backdropBlur = { intensity = 50, quality = 5 },
+ backdropBlur = { radius = 50, quality = 5 },
})
-- Blur instance should be created when backdropBlur is set
@@ -1981,7 +1981,7 @@ end
function TestElementDraw:test_draw_with_blur()
local element = createBasicElement({
- backdropBlur = { intensity = 50, quality = 5 },
+ backdropBlur = { radius = 50, quality = 5 },
backgroundColor = Color.new(1, 1, 1, 0.5),
})
@@ -2906,7 +2906,7 @@ function TestElementEdgeCases:test_invalid_blur_config()
id = "blur",
width = 100,
height = 100,
- contentBlur = { intensity = -10, quality = 5 },
+ contentBlur = { radius = -10, quality = 5 },
})
luaunit.assertNotNil(element)
@@ -2915,7 +2915,7 @@ function TestElementEdgeCases:test_invalid_blur_config()
id = "blur2",
width = 100,
height = 100,
- backdropBlur = { intensity = 150, quality = 5 },
+ backdropBlur = { radius = 150, quality = 5 },
})
luaunit.assertNotNil(element)
@@ -2924,7 +2924,7 @@ function TestElementEdgeCases:test_invalid_blur_config()
id = "blur3",
width = 100,
height = 100,
- contentBlur = { intensity = 50, quality = 0 },
+ contentBlur = { radius = 50, quality = 0 },
})
luaunit.assertNotNil(element)
end
diff --git a/testing/__tests__/renderer_test.lua b/testing/__tests__/renderer_test.lua
index f34c112..040c9ba 100644
--- a/testing/__tests__/renderer_test.lua
+++ b/testing/__tests__/renderer_test.lua
@@ -438,26 +438,26 @@ TestRendererBlur = {}
function TestRendererBlur:testNewWithContentBlur()
local renderer = Renderer.new({
contentBlur = {
- intensity = 5,
+ radius = 5,
quality = "high",
},
}, createDeps())
luaunit.assertNotNil(renderer.contentBlur)
- luaunit.assertEquals(renderer.contentBlur.intensity, 5)
+ luaunit.assertEquals(renderer.contentBlur.radius, 5)
luaunit.assertEquals(renderer.contentBlur.quality, "high")
end
function TestRendererBlur:testNewWithBackdropBlur()
local renderer = Renderer.new({
backdropBlur = {
- intensity = 10,
+ radius = 10,
quality = "medium",
},
}, createDeps())
luaunit.assertNotNil(renderer.backdropBlur)
- luaunit.assertEquals(renderer.backdropBlur.intensity, 10)
+ luaunit.assertEquals(renderer.backdropBlur.radius, 10)
luaunit.assertEquals(renderer.backdropBlur.quality, "medium")
end
@@ -923,7 +923,7 @@ function TestRendererEdgeCases:test_blur_with_invalid_intensity()
id = "test1",
width = 100,
height = 100,
- contentBlur = { intensity = -10, quality = 5 },
+ contentBlur = { radius = -10, quality = 5 },
})
luaunit.assertNotNil(element1)
@@ -932,7 +932,7 @@ function TestRendererEdgeCases:test_blur_with_invalid_intensity()
id = "test2",
width = 100,
height = 100,
- backdropBlur = { intensity = 200, quality = 5 },
+ backdropBlur = { radius = 200, quality = 5 },
})
luaunit.assertNotNil(element2)
end
@@ -943,7 +943,7 @@ function TestRendererEdgeCases:test_blur_with_invalid_quality()
id = "test1",
width = 100,
height = 100,
- contentBlur = { intensity = 10, quality = 0 },
+ contentBlur = { radius = 10, quality = 0 },
})
luaunit.assertNotNil(element1)
@@ -952,7 +952,7 @@ function TestRendererEdgeCases:test_blur_with_invalid_quality()
id = "test2",
width = 100,
height = 100,
- contentBlur = { intensity = 10, quality = 100 },
+ contentBlur = { radius = 10, quality = 100 },
})
luaunit.assertNotNil(element2)
end