src/ui/canvas.cpp

changeset 165
f6eab2bd46c2
parent 164
8305e2f968fb
child 166
8857351912d0
equal deleted inserted replaced
164:8305e2f968fb 165:f6eab2bd46c2
105 connect(this, &PartRenderer::modelMatrixChanged, 105 connect(this, &PartRenderer::modelMatrixChanged,
106 program, &AbstractBasicShaderProgram::setModelMatrix); 106 program, &AbstractBasicShaderProgram::setModelMatrix);
107 connect(this, &PartRenderer::viewMatrixChanged, 107 connect(this, &PartRenderer::viewMatrixChanged,
108 program, &AbstractBasicShaderProgram::setViewMatrix); 108 program, &AbstractBasicShaderProgram::setViewMatrix);
109 } 109 }
110 connect(this, &PartRenderer::renderPreferencesChanged, [&]() 110 connect(this, &PartRenderer::renderPreferencesChanged, this, &Canvas::updateCanvasRenderPreferences);
111 {
112 if (this->gridProgram.has_value())
113 {
114 const bool isDark = luma(this->renderPreferences.backgroundColor) < 0.25;
115 this->gridProgram->setGridColor(isDark ? Qt::white : Qt::black);
116 }
117 });
118 PartRenderer::initializeGL(); 111 PartRenderer::initializeGL();
119 // Set up XZ grid matrix 112 // Set up XZ grid matrix
120 this->setGridMatrix({{1, 0, 0, 0}, {0, 0, 1, 0}, {0, 1, 0, 0}, {0, 0, 0, 1}}); 113 this->setGridMatrix({{1, 0, 0, 0}, {0, 0, 1, 0}, {0, 1, 0, 0}, {0, 0, 0, 1}});
114 this->updateCanvasRenderPreferences();
121 } 115 }
122 116
123 void Canvas::paintGL() 117 void Canvas::paintGL()
124 { 118 {
125 PartRenderer::paintGL(); 119 PartRenderer::paintGL();
342 points2d.push_back(this->modelToScreenCoordinates(point)); 336 points2d.push_back(this->modelToScreenCoordinates(point));
343 } 337 }
344 return points2d; 338 return points2d;
345 } 339 }
346 340
341 void Canvas::updateCanvasRenderPreferences()
342 {
343 if (this->gridProgram.has_value())
344 {
345 const bool isDark = luma(this->renderPreferences.backgroundColor) < 0.25;
346 this->gridProgram->setGridColor(isDark ? Qt::white : Qt::black);
347 }
348 }
349
347 /** 350 /**
348 * @brief Clears the selection. 351 * @brief Clears the selection.
349 */ 352 */
350 void Canvas::clearSelection() 353 void Canvas::clearSelection()
351 { 354 {

mercurial