Merge branch 'master' into memory

This commit is contained in:
Simon Edwards 2022-05-19 20:04:52 +02:00
commit fcdbfb07c3
3 changed files with 20 additions and 2 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@nodegui/nodegui",
"version": "0.50.0",
"version": "0.51.0",
"description": "A cross-platform library to build native desktop apps.",
"main": "dist/index.js",
"typings": "dist/index.d.ts",

View File

@ -6,9 +6,11 @@
#include "QtCore/QObject/qobject_wrap.h"
#include "QtCore/QPoint/qpoint_wrap.h"
#include "QtCore/QRect/qrect_wrap.h"
#include "QtCore/QSize/qsize_wrap.h"
#include "QtGui/QCursor/qcursor_wrap.h"
#include "QtGui/QIcon/qicon_wrap.h"
#include "QtGui/QPixmap/qpixmap_wrap.h"
#include "QtGui/QStyle/qstyle_wrap.h"
#include "QtGui/QWindow/qwindow_wrap.h"
#include "QtWidgets/QAction/qaction_wrap.h"
@ -454,6 +456,17 @@
this->instance->clearMask(); \
return env.Null(); \
} \
Napi::Value grab(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
Napi::Object boundingRectObject = info[0].As<Napi::Object>(); \
QRectWrap* boundingRectWrap = \
Napi::ObjectWrap<QRectWrap>::Unwrap(boundingRectObject); \
auto pixmap = \
this->instance->grab(*boundingRectWrap->getInternalInstance()); \
auto instance = QPixmapWrap::constructor.New( \
{Napi::External<QPixmap>::New(env, new QPixmap(pixmap))}); \
return instance; \
} \
Napi::Value grabKeyboard(const Napi::CallbackInfo& info) { \
Napi::Env env = info.Env(); \
this->instance->grabKeyboard(); \
@ -633,6 +646,7 @@
InstanceMethod("setFixedWidth", &WidgetWrapName::setFixedWidth), \
InstanceMethod("ensurePolished", &WidgetWrapName::ensurePolished), \
InstanceMethod("clearMask", &WidgetWrapName::clearMask), \
InstanceMethod("grab", &WidgetWrapName::grab), \
InstanceMethod("grabKeyboard", &WidgetWrapName::grabKeyboard), \
InstanceMethod("grabMouse", &WidgetWrapName::grabMouse), \
InstanceMethod("hasHeightForWidth", &WidgetWrapName::hasHeightForWidth), \

View File

@ -12,6 +12,7 @@ import { YogaWidget } from '../core/YogaWidget';
import { QPoint } from '../QtCore/QPoint';
import { QSize } from '../QtCore/QSize';
import { QRect } from '../QtCore/QRect';
import { QPixmap } from '../QtGui/QPixmap';
import { QObjectSignals } from '../QtCore/QObject';
import { QFont } from '../QtGui/QFont';
import { QAction } from './QAction';
@ -152,7 +153,10 @@ export class QWidget<Signals extends QWidgetSignals = QWidgetSignals> extends Yo
geometry(): QRect {
return QRect.fromQVariant(this.property('geometry'));
}
// TODO: QPixmap grab(const QRect &rectangle = QRect(QPoint(0, 0), QSize(-1, -1)))
grab(rect?: QRect): QPixmap {
const arg = rect ?? new QRect(0, 0, -1, -1);
return this.native.grab(arg.native);
}
// TODO: void grabGesture(Qt::GestureType gesture, Qt::GestureFlags flags = Qt::GestureFlags())
grabKeyboard(): void {
this.native.grabKeyboard();