#ifndef DIALOG_IMAGEEDITOR_H #define DIALOG_IMAGEEDITOR_H #include #include namespace Ui { class Dialog_ImageEditor; } class GraphicsScene; class QResizeEvent; class Dialog_ImageEditor : public QDialog { Q_OBJECT public: explicit Dialog_ImageEditor(QWidget *parent = nullptr); ~Dialog_ImageEditor(); void setImage(const QImage& image); QImage exportImage(); private slots: void on_itemChanged(); private slots: void on_btn_rect_clicked(bool checked); void on_btn_ellipse_clicked(bool checked); void on_btn_line_clicked(bool checked); void on_btn_text_clicked(bool checked); void on_btn_arrow_clicked(bool checked); void on_btn_pen_clicked(bool checked); void on_btn_color_clicked(); void on_comboBox_lineWidth_currentIndexChanged(int index); void on_comboBox_textSize_currentIndexChanged(int index); void on_btn_undo_clicked(); void on_btn_ok_clicked(); void on_btn_cancel_clicked(); void on_btn_zoomIn_clicked(); void on_btn_zoomOut_clicked(); void on_btn_zoom_clicked(); void on_btn_fit_clicked(); void on_btn_redo_clicked(); void on_btn_clear_clicked(); void on_btn_mask_clicked(bool checked); protected: void resizeEvent(QResizeEvent* event); private: Ui::Dialog_ImageEditor *ui; GraphicsScene* m_scene; QSize m_imageSize; int m_dpi_x; int m_dpi_y; int m_index_scaled; bool m_isFit; }; #endif // DIALOG_IMAGEEDITOR_H