Geometrize  1.0
An application for geometrizing images into geometric primitives
imagetaskexportwidget.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <vector>
5 
6 #include <QWidget>
7 
8 class QEvent;
9 
10 namespace geometrize
11 {
12 struct ShapeResult;
13 }
14 
15 namespace geometrize
16 {
17 
18 namespace task
19 {
20 class ImageTask;
21 }
22 
23 }
24 
25 namespace geometrize
26 {
27 
28 namespace dialog
29 {
30 
34 class ImageTaskExportWidget : public QWidget
35 {
36  Q_OBJECT
37 
38 public:
39  ImageTaskExportWidget(QWidget* parent = nullptr);
40  virtual ~ImageTaskExportWidget();
41 
47  void setImageTask(const task::ImageTask* task, const std::vector<geometrize::ShapeResult>* shapes);
48 
49 protected:
50  void changeEvent(QEvent*) override;
51 
52 private slots:
60 
61 private:
63  std::unique_ptr<ImageTaskExportWidgetImpl> d;
64 };
65 
66 }
67 
68 }
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::q
ImageTaskExportWidget * q
Definition: imagetaskexportwidget.cpp:222
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::saveGIF
void saveGIF() const
Definition: imagetaskexportwidget.cpp:136
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::setImageTask
void setImageTask(const task::ImageTask *task, const std::vector< geometrize::ShapeResult > *shapes)
Definition: imagetaskexportwidget.cpp:39
geometrize::common::ui::openSaveRasterizedSVGPathPickerDialog
QString openSaveRasterizedSVGPathPickerDialog(QWidget *parent)
Definition: uiactions.cpp:127
geometrize::common::ui::openSaveRasterizedSVGsPathPickerDialog
QString openSaveRasterizedSVGsPathPickerDialog(QWidget *parent)
Definition: uiactions.cpp:135
gifexporter.h
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::m_task
const geometrize::task::ImageTask * m_task
Definition: imagetaskexportwidget.cpp:219
geometrize::common::ui::openSaveWebGLPathPickerDialog
QString openSaveWebGLPathPickerDialog(QWidget *parent)
Definition: uiactions.cpp:165
imageexporter.h
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidget
ImageTaskExportWidget(QWidget *parent=nullptr)
Definition: imagetaskexportwidget.cpp:226
geometrize::exporter::exportGIF
bool exportGIF(const std::vector< geometrize::ShapeResult > &data, std::uint32_t inputWidth, std::uint32_t inputHeight, std::uint32_t outputWidth, std::uint32_t outputHeight, const std::function< bool(std::size_t)> &frameSkipPredicate, const std::string &filePath)
exportGIF Exports shape data to a GIF image.
Definition: gifexporter.cpp:80
geometrize::dialog::ImageTaskExportWidget::on_saveGIFButton_clicked
void on_saveGIFButton_clicked()
Definition: imagetaskexportwidget.cpp:261
geometrize::exporter::exportCanvasWebpage
std::string exportCanvasWebpage(const std::vector< geometrize::ShapeResult > &data)
exportCanvasWebpage Exports shape data to a HTML5 canvas-based webpage.
Definition: webpageexporter.cpp:55
geometrize::common::ui::openSaveGIFPathPickerDialog
QString openSaveGIFPathPickerDialog(QWidget *parent)
Definition: uiactions.cpp:149
geometrize::task::ImageTask::getCurrent
const Bitmap & getCurrent() const
getCurrent Gets the current bitmap, const-edition.
Definition: imagetask.cpp:337
uiactions.h
geometrize::exporter::exportRasterizedSvgs
bool exportRasterizedSvgs(const std::vector< geometrize::ShapeResult > &shapes, std::uint32_t inputWidth, std::uint32_t inputHeight, std::uint32_t outputWidth, std::uint32_t outputHeight, const std::string &targetDir, const std::string &baseFilename, const std::string &fileExtension)
exportRasterizedSvgs Exports the shape data to images by rasterizing SVGs rendered from the shape dat...
Definition: imageexporter.cpp:86
geometrize::dialog::ImageTaskExportWidget::on_saveSVGButton_clicked
void on_saveSVGButton_clicked()
Definition: imagetaskexportwidget.cpp:251
webpageexporter.h
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl
Definition: imagetaskexportwidget.cpp:28
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::saveGeometryData
void saveGeometryData() const
Definition: imagetaskexportwidget.cpp:113
geometrize::dialog::ImageTaskExportWidget::setImageTask
void setImageTask(const task::ImageTask *task, const std::vector< geometrize::ShapeResult > *shapes)
setImageTask Sets the current image task used by the export functions.
Definition: imagetaskexportwidget.cpp:236
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::ImageTaskExportWidgetImpl
ImageTaskExportWidgetImpl(const ImageTaskExportWidgetImpl &)=delete
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::~ImageTaskExportWidgetImpl
~ImageTaskExportWidgetImpl()=default
geometrize::util::writeStringToFile
bool writeStringToFile(const std::string &str, const std::string &path)
writeStringToFile Writes the string to the file path, attempting to overwrite any existing file at th...
Definition: util.cpp:334
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::ui
std::unique_ptr< Ui::ImageTaskExportWidget > ui
Definition: imagetaskexportwidget.cpp:223
geometrize::common::ui::openSaveCanvasPathPickerDialog
QString openSaveCanvasPathPickerDialog(QWidget *parent)
Definition: uiactions.cpp:157
geometrize::dialog::ImageTaskExportWidget::on_saveWebGLWebpageButton_clicked
void on_saveWebGLWebpageButton_clicked()
Definition: imagetaskexportwidget.cpp:271
geometrize::dialog::ImageTaskExportWidget::~ImageTaskExportWidget
virtual ~ImageTaskExportWidget()
Definition: imagetaskexportwidget.cpp:232
geometrize
Definition: commandlineparser.cpp:73
geometrize::common::ui::openSaveGeometryDataPathPickerDialog
QString openSaveGeometryDataPathPickerDialog(QWidget *parent)
Definition: uiactions.cpp:141
geometrize::exporter::exportWebGLWebpage
std::string exportWebGLWebpage(const std::vector< geometrize::ShapeResult > &data)
exportWebGLWebpage Exports shape data to a WebGL-based webpage.
Definition: webpageexporter.cpp:60
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::m_shapes
const std::vector< geometrize::ShapeResult > * m_shapes
Definition: imagetaskexportwidget.cpp:220
imagetask.h
geometrize::dialog::ImageTaskExportWidget::d
std::unique_ptr< ImageTaskExportWidgetImpl > d
Definition: imagetaskexportwidget.h:62
geometrize::dialog::ImageTaskExportWidget::on_saveGeometryDataButton_clicked
void on_saveGeometryDataButton_clicked()
Definition: imagetaskexportwidget.cpp:256
imagetaskexportwidget.h
geometrize::dialog::ImageTaskExportWidget::on_saveHTML5WebpageButton_clicked
void on_saveHTML5WebpageButton_clicked()
Definition: imagetaskexportwidget.cpp:266
geometrize::dialog::ImageTaskExportWidget::on_saveImageButton_clicked
void on_saveImageButton_clicked()
Definition: imagetaskexportwidget.cpp:241
shapedataexporter.h
geometrize::exporter::ShapeDataFormat::JSON
@ JSON
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::saveHTML5WebpageButton
void saveHTML5WebpageButton() const
Definition: imagetaskexportwidget.cpp:170
geometrize::exporter::ShapeDataFormat
ShapeDataFormat
Definition: shapedataexporter.h:18
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::operator=
ImageTaskExportWidgetImpl operator=(const ImageTaskExportWidgetImpl &)=delete
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::populateUi
void populateUi()
Definition: imagetaskexportwidget.cpp:209
geometrize::task::ImageTask
The ImageTask class transforms a source image into a collection of shapes approximating the source im...
Definition: imagetask.h:53
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::saveSVG
void saveSVG() const
Definition: imagetaskexportwidget.cpp:45
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::onLanguageChange
void onLanguageChange()
Definition: imagetaskexportwidget.cpp:202
geometrize::dialog::ImageTaskExportWidget
The ImageTaskExportWidget implements a widget for accessing and using the image task exporters e....
Definition: imagetaskexportwidget.h:35
geometrize::exporter::exportRasterizedSvg
bool exportRasterizedSvg(const std::vector< geometrize::ShapeResult > &shapes, const std::uint32_t inputWidth, const std::uint32_t inputHeight, const std::uint32_t outputWidth, const std::uint32_t outputHeight, const std::string &filePath)
exportRasterizedSvg Exports the shape data as an image by rasterizing an SVG rendered from the shape ...
Definition: imageexporter.cpp:74
geometrize::dialog::ImageTaskExportWidget::on_saveImagesButton_clicked
void on_saveImagesButton_clicked()
Definition: imagetaskexportwidget.cpp:246
geometrize::common::ui::openSaveSVGPathPickerDialog
QString openSaveSVGPathPickerDialog(QWidget *parent)
Definition: uiactions.cpp:119
util.h
geometrize::dialog::ImageTaskExportWidget::changeEvent
void changeEvent(QEvent *) override
Definition: imagetaskexportwidget.cpp:276
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::saveRasterizedSVG
void saveRasterizedSVG() const
Definition: imagetaskexportwidget.cpp:61
geometrize::exporter::exportShapeData
std::string exportShapeData(const std::vector< geometrize::ShapeResult > &data, const ShapeDataFormat format)
exportShapeData Exports shape data to a specified format (JSON or a custom textual array format).
Definition: shapedataexporter.cpp:17
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::showExportMisconfiguredMessage
void showExportMisconfiguredMessage() const
Definition: imagetaskexportwidget.cpp:213
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::ImageTaskExportWidgetImpl
ImageTaskExportWidgetImpl(ImageTaskExportWidget *pQ)
Definition: imagetaskexportwidget.cpp:30
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::saveRasterizedSVGs
void saveRasterizedSVGs() const
Definition: imagetaskexportwidget.cpp:86
geometrize::dialog::ImageTaskExportWidget::ImageTaskExportWidgetImpl::saveWebGLWebpageButton
void saveWebGLWebpageButton() const
Definition: imagetaskexportwidget.cpp:186