Merge pull request #16995 from benj5378/axisColors

[Gui] Axis colors changeable
This commit is contained in:
Chris Hennes
2025-02-03 18:11:46 +01:00
committed by GitHub
11 changed files with 248 additions and 18 deletions

View File

@@ -592,6 +592,8 @@ void View3DInventorViewer::init()
naviCube = new NaviCube(this);
naviCubeEnabled = true;
updateColors();
}
View3DInventorViewer::~View3DInventorViewer()
@@ -3710,6 +3712,25 @@ void View3DInventorViewer::setAxisLetterColor(const SbColor& color)
recolor(ZPM_PIXEL_MASK, ZPM_pixel_data, ZPM_WIDTH, ZPM_HEIGHT, ZPM_BYTES_PER_PIXEL);
}
void View3DInventorViewer::updateColors()
{
unsigned long colorLong;
colorLong = Gui::ViewParams::instance()->getAxisXColor();
m_xColor = App::Color(static_cast<uint32_t>(colorLong));
colorLong = Gui::ViewParams::instance()->getAxisYColor();
m_yColor = App::Color(static_cast<uint32_t>(colorLong));
colorLong = Gui::ViewParams::instance()->getAxisZColor();
m_zColor = App::Color(static_cast<uint32_t>(colorLong));
naviCube->updateColors();
if(hasAxisCross()) {
setAxisCross(false); // Force redraw
setAxisCross(true);
}
}
void View3DInventorViewer::drawAxisCross()
{
// NOLINTBEGIN
@@ -3817,10 +3838,10 @@ void View3DInventorViewer::drawAxisCross()
glPushMatrix();
if (i == XAXIS) { // X axis.
if (stereoMode() != Quarter::SoQTQuarterAdaptor::MONO)
glColor3f(0.500F, 0.5F, 0.5F);
if (stereoMode() != Quarter::SoQTQuarterAdaptor::MONO) // What is this
glColor3f(0.500F, 0.5F, 0.5F); // Why different colors??
else
glColor3f(0.500F, 0.125F, 0.125F);
glColor3f(m_xColor.r, m_xColor.g, m_xColor.b);
}
else if (i == YAXIS) { // Y axis.
glRotatef(90, 0, 0, 1);
@@ -3828,7 +3849,7 @@ void View3DInventorViewer::drawAxisCross()
if (stereoMode() != Quarter::SoQTQuarterAdaptor::MONO)
glColor3f(0.400F, 0.4F, 0.4F);
else
glColor3f(0.125F, 0.500F, 0.125F);
glColor3f(m_yColor.r, m_yColor.g, m_yColor.b);
}
else { // Z axis.
glRotatef(-90, 0, 1, 0);
@@ -3836,7 +3857,7 @@ void View3DInventorViewer::drawAxisCross()
if (stereoMode() != Quarter::SoQTQuarterAdaptor::MONO)
glColor3f(0.300F, 0.3F, 0.3F);
else
glColor3f(0.125F, 0.125F, 0.500F);
glColor3f(m_zColor.r, m_zColor.g, m_zColor.b);
}
drawArrow();