Show raw api
{
"functions": [
{
"name": "render",
"desc": "Render QR code with greedy row batching.",
"params": [
{
"name": "qr",
"desc": "",
"lua_type": "QrCode"
},
{
"name": "options",
"desc": "",
"lua_type": "RenderOptions?"
}
],
"returns": [
{
"desc": "",
"lua_type": "Frame"
}
],
"function_type": "static",
"source": {
"line": 51,
"path": "src/frameRenderer.luau"
}
},
{
"name": "renderSimple",
"desc": "Render QR code with one Frame per module.",
"params": [
{
"name": "qr",
"desc": "",
"lua_type": "QrCode"
},
{
"name": "options",
"desc": "",
"lua_type": "RenderOptions?"
}
],
"returns": [
{
"desc": "",
"lua_type": "Frame"
}
],
"function_type": "static",
"source": {
"line": 98,
"path": "src/frameRenderer.luau"
}
},
{
"name": "createContainer",
"desc": "Create a 1:1 aspect ratio container Frame.",
"params": [
{
"name": "parent",
"desc": "",
"lua_type": "GuiObject"
},
{
"name": "size",
"desc": "",
"lua_type": "UDim2?"
},
{
"name": "position",
"desc": "",
"lua_type": "UDim2?"
}
],
"returns": [
{
"desc": "",
"lua_type": "Frame"
}
],
"function_type": "static",
"source": {
"line": 138,
"path": "src/frameRenderer.luau"
}
}
],
"properties": [],
"types": [
{
"name": "RenderOptions",
"desc": "",
"fields": [
{
"name": "darkColor",
"lua_type": "Color3?",
"desc": ""
},
{
"name": "lightColor",
"lua_type": "Color3?",
"desc": ""
},
{
"name": "border",
"lua_type": "number?",
"desc": ""
},
{
"name": "moduleSize",
"lua_type": "number?",
"desc": ""
}
],
"source": {
"line": 31,
"path": "src/frameRenderer.luau"
}
}
],
"name": "frameRenderer",
"desc": "Roblox Frame-based rendering. Uses greedy row batching to minimize Frame count.\n\n:::caution Roblox Only\nNot available outside Roblox.\n:::\n\n```lua\nlocal container = FrameRenderer.createContainer(screenGui, UDim2.fromOffset(200, 200))\nFrameRenderer.render(qr, container, { border = 4 })\n```",
"tags": [
"Roblox"
],
"source": {
"line": 18,
"path": "src/frameRenderer.luau"
}
}