mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
IDL: Updated codegen.
This commit is contained in:
@@ -296,33 +296,15 @@ function converter.funcs(func)
|
||||
yield("[return: MarshalAs(UnmanagedType.LPStr)]")
|
||||
end
|
||||
|
||||
local first = ""
|
||||
local args = "("
|
||||
|
||||
local args = {}
|
||||
if func.this ~= nil then
|
||||
|
||||
local thisType = func.this:gsub("const ", "")
|
||||
if thisType == "bgfx_encoder_t*" then
|
||||
thisType = "Encoder*"
|
||||
elseif thisType == "bgfx_attachment_t*" then
|
||||
thisType = "Attachment*"
|
||||
elseif thisType == "bgfx_vertex_decl_t*" then
|
||||
thisType = "VertexDecl*"
|
||||
end
|
||||
|
||||
args = args .. thisType .. " " .. "_this"
|
||||
first = ", "
|
||||
args[1] = func.this_type.type .. "* _this"
|
||||
end
|
||||
|
||||
for _, arg in ipairs(func.args) do
|
||||
|
||||
local argtype = convert_type(arg)
|
||||
|
||||
args = args .. first .. argtype .. " " .. arg.name
|
||||
first = ", "
|
||||
table.insert(args, convert_type(arg) .. " " .. arg.name)
|
||||
end
|
||||
|
||||
yield("internal static extern unsafe " .. convert_ret_type(func.ret) .. " " .. func.cname .. args .. ");")
|
||||
yield("internal static extern unsafe " .. convert_ret_type(func.ret) .. " " .. func.cname
|
||||
.. "(" .. table.concat(args, ", ") .. ");")
|
||||
end
|
||||
|
||||
-- printtable("idl types", idl.types)
|
||||
|
||||
@@ -402,6 +402,7 @@ function codegen.nameconversion(all_types, all_funcs)
|
||||
local classtype = { fulltype = classname .. "*" }
|
||||
convert_arg(all_types, classtype, v)
|
||||
v.this = classtype.ctype
|
||||
v.this_type = classtype
|
||||
v.this_conversion = string.format( "%s This = (%s)_this;", classtype.cpptype, classtype.cpptype)
|
||||
v.this_to_c = string.format("(%s)this", classtype.ctype)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user