From 5fb64ab742ec5d65e523046fdbc5cce75fa1c1f9 Mon Sep 17 00:00:00 2001 From: Artur Twardy Date: Thu, 31 Oct 2024 12:31:50 +0100 Subject: [PATCH] Lua: Add QFontMetrics type Change-Id: Iaaf49ffe2b634070c3a650ba2070ee0ea1b517d7 Reviewed-by: Marcus Tillmanns --- src/plugins/lua/bindings/qt.cpp | 10 ++++++++++ src/plugins/lua/meta/qt.lua | 12 ++++++++++++ 2 files changed, 22 insertions(+) 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,