void Draw(void) { const int side = 80; Figure *square; Figure *square_t; square = AllocFigure(4); square->v[0] = (Vertex){ 0, 0 }; square->v[1] = (Vertex){ 0, side }; square->v[2] = (Vertex){ side, side }; square->v[3] = (Vertex){ side, 0 }; DrawFigure(square); square_t = DupFigure(square); RotateFigure(square_t, PI / 6.0); DrawFigure(square_t); CopyFigure(square_t, square); RotateFigure(square_t, PI / 5.0); DrawFigure(square_t); CopyFigure(square_t, square); RotateFigure(square_t, PI / 4.0); DrawFigure(square_t); }
Figure * DupFigure(Figure *f) { Figure *g = AllocFigure(f->n); CopyFigure(g, f); return g; }
// Copy frame image or projection data to clipboard void MainWindow::on_graphicsView_customContextMenuRequested() { if(!dataloaded) return; QAction *img = new QAction("Copy image [Alt+i]", this); QAction *x = new QAction("Copy X data [Alt+X]", this); QAction *y = new QAction("Copy Y data [Alt+Y]", this); QMenu menu(""); menu.addAction(img); if(XCheckBox->isChecked()) menu.addAction(x); if(YCheckBox->isChecked()) menu.addAction(y); connect(img, SIGNAL(triggered()), this, SLOT(CopyFigure())); connect(x, SIGNAL(triggered()), this, SLOT(on_XCopyButton_clicked())); connect(y, SIGNAL(triggered()), this, SLOT(on_YCopyButton_clicked())); menu.exec(QCursor::pos()); }