52 : SoWinExaminerViewer(parent, (char *)nullptr, false), viewerType(type), simu(_simu)
53#elif defined(VISP_HAVE_SOQT)
55 : SoQtExaminerViewer(parent, (char *)nullptr, false), viewerType(type), simu(_simu)
56#elif defined(VISP_HAVE_SOXT)
58 : SoXtExaminerViewer(parent, (char *)nullptr, false), viewerType(type), simu(_simu)
64 this->setClearBeforeRender(FALSE, TRUE);
75 const SbViewportRegion vp = this->getViewportRegion();
76 SbVec2s origin = vp.getViewportOriginPixels();
77 SbVec2s size = vp.getViewportSizePixels();
78 glViewport(origin[0], origin[1], size[0], size[1]);
80 const SbColor col = this->getBackgroundColor();
81 glClearColor(col[0], col[1], col[2], 0.0f);
82 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
86 if (simu->image_background !=
nullptr) {
87 glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
89 glDrawPixels((GLsizei)simu->getInternalWidth(), (GLsizei)simu->getInternalHeight(), (GLenum)GL_LUMINANCE,
90 GL_UNSIGNED_BYTE, simu->image_background);
92 glDrawPixels((GLsizei)simu->getInternalWidth(), (GLsizei)simu->getInternalHeight(), (GLenum)GL_RGB,
93 GL_UNSIGNED_BYTE, simu->image_background);
95 glEnable(GL_DEPTH_TEST);
96 glClear(GL_DEPTH_BUFFER_BIT);
100#if defined(VISP_HAVE_SOWIN)
101 SoWinExaminerViewer::actualRedraw();
102#elif defined(VISP_HAVE_SOQT)
103 SoQtExaminerViewer::actualRedraw();
104#elif defined(VISP_HAVE_SOXT)
105 SoXtExaminerViewer::actualRedraw();
110 glReadPixels(0, 0, (GLsizei)simu->getInternalWidth(), (GLsizei)simu->getInternalHeight(), (GLenum)GL_RGB,
111 GL_UNSIGNED_BYTE, simu->bufferView);
135#if defined(VISP_HAVE_SOWIN)
136 HWND parent = getParentWidget();
138 RECT rcClient, rcWindow;
140 GetClientRect(parent, &rcClient);
141 GetWindowRect(parent, &rcWindow);
142 ptDiff.x = (rcWindow.right - rcWindow.left) - rcClient.right;
143 ptDiff.y = (rcWindow.bottom - rcWindow.top) - rcClient.bottom;
144 MoveWindow(parent, rcWindow.left, rcWindow.top, x + ptDiff.x, y + ptDiff.y, TRUE);
146 DWORD dwStyle = GetWindowLong(parent, GWL_STYLE);
147 dwStyle &= ~(WS_SIZEBOX);
148 SetWindowLong(parent, GWL_STYLE, dwStyle);
150#elif defined(VISP_HAVE_SOQT)
152 QWidget *parent = getParentWidget();
153 parent->setFixedSize(x, y);