#include "glwidget.h" #include "qglview.h" #include GLWidget::GLWidget(QWidget *parent) : QWidget(parent) { view_ = new QGLView(); view_->setFlags(windowFlags() | Qt::FramelessWindowHint); container = QWidget::createWindowContainer(view_, this); lay = new QVBoxLayout(this); lay->addWidget(container); lay->setContentsMargins(0, 0, 0, 0); lay->setSpacing(0); setMouseTracking(true); setWindowIcon(QIcon("://icons/qglview.png")); connect(view_, &QGLView::doubleClick, this, &GLWidget::viewDoubleClicked); } QColor GLWidget::backColor() const { return view_->backColor(); } qreal GLWidget::lineWidth() const { return view_->lineWidth(); } qreal GLWidget::FOV() const { return view_->FOV(); } qreal GLWidget::depthStart() const { return view_->depthStart(); } QColor GLWidget::ambientColor() const { return view_->ambientColor(); } bool GLWidget::isLightEnabled() const { return view_->isLightEnabled(); } bool GLWidget::isGrabMouseEnabled() const { return view_->isGrabMouseEnabled(); } bool GLWidget::isMouseRotateEnabled() const { return view_->isMouseRotateEnabled(); } bool GLWidget::isMouseSelectionEnabled() const { return view_->isMouseSelectionEnabled(); } bool GLWidget::isCameraOrbit() const { return view_->isCameraOrbit(); } bool GLWidget::isHoverHaloEnabled() const { return view_->isHoverHaloEnabled(); } QColor GLWidget::hoverHaloColor() const { return view_->hoverHaloColor(); } qreal GLWidget::hoverHaloFillAlpha() const { return view_->hoverHaloFillAlpha(); } bool GLWidget::isSelectionHaloEnabled() const { return view_->isSelectionHaloEnabled(); } QColor GLWidget::selectionHaloColor() const { return view_->selectionHaloColor(); } qreal GLWidget::selectionHaloFillAlpha() const { return view_->selectionHaloFillAlpha(); } Scene * GLWidget::scene() { return view_->scene(); } void GLWidget::addObject(ObjectBase * o) { view_->scene()->addObject(o); } QByteArray GLWidget::saveCamera() { return view_->saveCamera(); } void GLWidget::restoreCamera(const QByteArray &ba) { view_->restoreCamera(ba); } void GLWidget::stop() { view_->stop(); } void GLWidget::start(float freq) { view_->start(freq); } void GLWidget::setBackColor(const QColor & c) { view_->setBackColor(c); } void GLWidget::setLineWidth(const qreal & arg) { view_->setLineWidth(arg); } void GLWidget::setFOV(const qreal & arg) { view_->setFOV(arg); } void GLWidget::setDepthStart(const qreal & arg) { view_->setDepthStart(arg); } void GLWidget::setAmbientColor(const QColor & arg) { view_->setAmbientColor(arg); } void GLWidget::setLightEnabled(const bool & arg) { view_->setLightEnabled(arg); } void GLWidget::setGrabMouseEnabled(const bool & arg) { view_->setGrabMouseEnabled(arg); } void GLWidget::setMouseRotateEnabled(const bool & arg) { view_->setMouseRotateEnabled(arg); } void GLWidget::setMouseSelectionEnabled(const bool & arg) { view_->setMouseSelectionEnabled(arg); } void GLWidget::setCameraOrbit(const bool & arg) { view_->setCameraOrbit(arg); } void GLWidget::setHoverHaloEnabled(const bool & arg) { view_->setHoverHaloEnabled(arg); } void GLWidget::setHoverHaloColor(const QColor & arg) { view_->setHoverHaloColor(arg); } void GLWidget::setHoverHaloFillAlpha(const qreal & arg) { view_->setHoverHaloFillAlpha(arg); } void GLWidget::setSelectionHaloEnabled(const bool & arg) { view_->setSelectionHaloEnabled(arg); } void GLWidget::setSelectionHaloColor(const QColor & arg) { view_->setSelectionHaloColor(arg); } void GLWidget::setSelectionHaloFillAlpha(const qreal & arg) { view_->setSelectionHaloFillAlpha(arg); } void GLWidget::viewDoubleClicked() { if (view_->windowState() == Qt::WindowFullScreen) { view_->showNormal(); container = QWidget::createWindowContainer(view_, this); lay->addWidget(container); container->show(); } else { view_->setParent(nullptr); view_->showFullScreen(); lay->removeWidget(container); } }