diff --git a/src/plugins/lua/bindings/qt.cpp b/src/plugins/lua/bindings/qt.cpp index 1eff2211dec..ecd2d96ada8 100644 --- a/src/plugins/lua/bindings/qt.cpp +++ b/src/plugins/lua/bindings/qt.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include namespace Lua::Internal { @@ -53,6 +54,15 @@ void setupQtModule() qt["clipboard"] = &QApplication::clipboard; + qt.new_usertype( + "QFontMetrics", + "create", + [](const QFont &font) -> std::unique_ptr { + return std::make_unique(font); + }, + "height", + &QFontMetrics::height); + mirrorEnum(qt, QMetaEnum::fromType(), "QCompleterCompletionMode"); // clang-format off diff --git a/src/plugins/lua/meta/qt.lua b/src/plugins/lua/meta/qt.lua index 7543302c600..22415322090 100644 --- a/src/plugins/lua/meta/qt.lua +++ b/src/plugins/lua/meta/qt.lua @@ -34,6 +34,18 @@ qt.QClipboard = {} ---@return QClipboard globalClipboard The global clipboard object. function qt.clipboard() end +---@class QFontMetrics A Lua wrapper for the Qt `QFontMetrics` class. +qt.QFontMetrics = {} + +---Returns current font height. +---@return int +function qt.QFontMetrics:height() end + +---Creates a new QFontMetrics. +---@param font QFont +---@return QFontMetrics fontMetrics The new QFontMetrics. +function qt.QFontMetrics.create(params) end + ---@enum TextElideMode qt.TextElideMode = { ElideLeft = 0,