Zhao Yuhang
2024-01-06 79d98630fe80c08de82ffd041c85aa589f08013f
improve qml implementation
2个文件已修改
9 ■■■■■ 已修改文件
examples/qml/main.cpp 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/quick/quickwindowagent_win.cpp 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
examples/qml/main.cpp
@@ -4,6 +4,7 @@
#include <QtGui/QGuiApplication>
#include <QtQml/QQmlApplicationEngine>
#include <QtQuick/QQuickWindow>
#include <QWKQuick/qwkquickglobal.h>
@@ -23,6 +24,8 @@
        Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
#endif
    QGuiApplication application(argc, argv);
    // Make sure alpha channel is requested, our special effects on Windows depends on it.
    QQuickWindow::setDefaultAlphaBuffer(true);
    QQmlApplicationEngine engine;
    QWK::registerTypes(&engine);
    engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
src/quick/quickwindowagent_win.cpp
@@ -45,7 +45,7 @@
    BorderItem::BorderItem(QQuickItem *parent, AbstractWindowContext *context)
        : QQuickPaintedItem(parent), context(context) {
        setAntialiasing(true);   // We needs anti-aliasing to give us better result.
        setAntialiasing(true);   // We need anti-aliasing to give us better result.
        setFillColor({});        // Will improve the performance a little bit.
        setOpaquePainting(true); // Will also improve the performance, we don't draw
                                 // semi-transparent borders of course.
@@ -56,7 +56,7 @@
        anchors->setLeft(parentPri->left());
        anchors->setRight(parentPri->right());
        setZ(9999); // Make sure our fake border always above everything in the window.
        setZ(std::numeric_limits<qreal>::max()); // Make sure our fake border always above everything in the window.
        context->installNativeEventFilter(this);
        context->installSharedEventFilter(this);
@@ -69,7 +69,7 @@
    BorderItem::~BorderItem() = default;
    bool BorderItem::isNormalWindow() const {
        return !(context->window()->windowState() &
        return !(context->window()->windowStates() &
                 (Qt::WindowMinimized | Qt::WindowMaximized | Qt::WindowFullScreen));
    }