diff --git a/modules/Element.lua b/modules/Element.lua index d378e61..61d76c7 100644 --- a/modules/Element.lua +++ b/modules/Element.lua @@ -159,6 +159,7 @@ ---@field _pressed table? -- Internal: button press state tracking ---@field _mouseDownPosition number? -- Internal: mouse down position for drag tracking ---@field _textDragOccurred boolean? -- Internal: whether text drag occurred +---@field customDraw fun(element:Element)? -- Custom rendering callback called after standard rendering but before visual feedback (default: nil) ---@field animation table? -- Animation instance for this element local Element = {} Element.__index = Element diff --git a/modules/types.lua b/modules/types.lua index e7e7b69..a4afb77 100644 --- a/modules/types.lua +++ b/modules/types.lua @@ -87,6 +87,7 @@ local AnimationProps = {} ---@field onEnterDeferred boolean? -- Whether onEnter callback should be deferred (default: false) ---@field transform TransformProps? -- Transform properties for animations and styling ---@field transition TransitionProps? -- Transition settings for animations +---@field customDraw fun(element:Element)? -- Custom rendering callback called after standard rendering but before visual feedback (default: nil) ---@field gridRows number? -- Number of rows in the grid (default: 1) ---@field gridColumns number? -- Number of columns in the grid (default: 1) ---@field columnGap number|string|CalcObject? -- Gap between grid columns: number (px), string ("50%", "10vw"), or CalcObject from FlexLove.calc() (default: 0)