equal
deleted
inserted
replaced
56 m_renderer->setEngineInstance(m_engineInstance); |
56 m_renderer->setEngineInstance(m_engineInstance); |
57 connect(window(), &QQuickWindow::beforeRendering, m_renderer.data(), |
57 connect(window(), &QQuickWindow::beforeRendering, m_renderer.data(), |
58 &GameViewRenderer::paint, Qt::DirectConnection); |
58 &GameViewRenderer::paint, Qt::DirectConnection); |
59 } |
59 } |
60 |
60 |
61 if (m_windowChanged) { |
61 if (m_windowChanged || (m_viewportSize != window()->size())) { |
62 QSize windowSize = window()->size(); |
62 m_windowChanged = false; |
63 m_renderer->setViewportSize(windowSize * window()->devicePixelRatio()); |
63 |
64 m_centerX = windowSize.width() / 2; |
64 if (m_engineInstance) |
65 m_centerY = windowSize.height() / 2; |
65 m_engineInstance->setOpenGLContext(window()->openglContext()); |
|
66 |
|
67 m_viewportSize = window()->size(); |
66 } |
68 } |
67 |
69 |
68 // QPoint mousePos = mapFromGlobal(QCursor::pos()).toPoint(); |
70 // QPoint mousePos = mapFromGlobal(QCursor::pos()).toPoint(); |
69 // if (flibUpdateMousePosition(m_centerX, m_centerY, mousePos.x(), |
71 // if (flibUpdateMousePosition(m_centerX, m_centerY, mousePos.x(), |
70 // mousePos.y())) |
72 // mousePos.y())) |
78 |
80 |
79 GameViewRenderer::~GameViewRenderer() {} |
81 GameViewRenderer::~GameViewRenderer() {} |
80 |
82 |
81 void GameViewRenderer::tick(quint32 delta) { m_delta = delta; } |
83 void GameViewRenderer::tick(quint32 delta) { m_delta = delta; } |
82 |
84 |
83 void GameViewRenderer::setViewportSize(const QSize& size) { |
|
84 // flibResizeWindow(size.width(), size.height()); |
|
85 } |
|
86 |
|
87 void GameViewRenderer::setEngineInstance(EngineInstance* engineInstance) { |
85 void GameViewRenderer::setEngineInstance(EngineInstance* engineInstance) { |
88 m_engineInstance = engineInstance; |
86 m_engineInstance = engineInstance; |
89 } |
87 } |
90 |
88 |
91 void GameViewRenderer::paint() { |
89 void GameViewRenderer::paint() { |
96 m_engineInstance->renderFrame(); |
94 m_engineInstance->renderFrame(); |
97 } |
95 } |
98 |
96 |
99 // m_window->resetOpenGLState(); |
97 // m_window->resetOpenGLState(); |
100 } |
98 } |
|
99 |
|
100 void GameViewRenderer::onViewportSizeChanged(QQuickWindow* window) { |
|
101 if (m_engineInstance) |
|
102 m_engineInstance->setOpenGLContext(window->openglContext()); |
|
103 } |