PlotterHMI/datafile/view/mygraphicsscene.cpp
huahaiyan 80684daf9b 20240322
1、完善dxf解析
2024-03-22 15:58:53 +08:00

86 lines
2.1 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "mygraphicsscene.h"
MyGraphicsScene::MyGraphicsScene()
{
m_myGraphicsItem= new MyGraphicsItem();
}
MyGraphicsScene::~MyGraphicsScene()
{
if(m_myGraphicsItem != NULL)
{
delete m_myGraphicsItem;
m_myGraphicsItem = NULL;
}
}
void MyGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
{
return QGraphicsScene::mousePressEvent(mouseEvent);
}
void MyGraphicsScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
{
return QGraphicsScene::mouseMoveEvent(mouseEvent);
}
void MyGraphicsScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
{
return QGraphicsScene::mouseReleaseEvent(mouseEvent);
}
void MyGraphicsScene::addItemToScene()
{
//绘制留边
this->setSceneRect(0,0,m_myGraphicsItem->boundingRect().width()+DRAWMARGINS,m_myGraphicsItem->boundingRect().height()+DRAWMARGINS);
//如果scene未超过graphicsView的范围图形就是居中显示的
this->addItem(m_myGraphicsItem);
m_myGraphicsItem->moveBy(DRAWMARGINS/2.0,DRAWMARGINS/2.0);//item居中显示
}
void MyGraphicsScene::cleanScene()
{
if(m_myGraphicsItem != NULL)
{
this->removeItem(m_myGraphicsItem);
}
}
CreatPictureStr MyGraphicsScene::getPictureByDat(Marker marker,int paperWidth,int butSpace,int rightSpace,int penWidth)
{
CreatPictureStr picStr;
if(m_myGraphicsItem != NULL)
{
picStr = m_myGraphicsItem->getPictureByDat(marker,paperWidth,butSpace,rightSpace,penWidth);
}
return picStr;
}
CreatPictureStr MyGraphicsScene::getPictureByBmp(QPixmap pixmap,int paperWidth,int butSpace,int rightSpace,int penWidth)
{
CreatPictureStr picStr;
if(m_myGraphicsItem != NULL)
{
picStr = m_myGraphicsItem->getPictureByBmp(pixmap,paperWidth,butSpace,rightSpace,penWidth);
}
return picStr;
}
void MyGraphicsScene::swithSceneByPic(QPicture pic)
{
if(m_myGraphicsItem != NULL)
{
this->clear();
m_myGraphicsItem->setPicture(pic);
this->addItem(m_myGraphicsItem);
}
}
void MyGraphicsScene::reflushBlockScene(QPoint p)
{
if(m_myGraphicsItem != NULL)
{
m_myGraphicsItem->reflushBlockPos(p);
}
}