1 /** -*- mode: c++ ; c-basic-offset: 2 -*- 2 * @file OutputWindow.h 3 * @author Sebastien Fourey 4 * @date Nov 2015 5 * @brief Declaration of the class OutputWindow 6 * 7 * This file is part of the ZArt software's source code. 8 * 9 * Copyright Sebastien Fourey / GREYC Ensicaen (2010-...) 10 * 11 * https://foureys.users.greyc.fr/ 12 * 13 * This software is a computer program whose purpose is to demonstrate 14 * the possibilities of the GMIC image processing language by offering the 15 * choice of several manipulations on a video stream acquired from a webcam. In 16 * other words, ZArt is a GUI for G'MIC real-time manipulations on the output 17 * of a webcam. 18 * 19 * This software is governed by the CeCILL license under French law and 20 * abiding by the rules of distribution of free software. You can use, 21 * modify and/ or redistribute the software under the terms of the CeCILL 22 * license as circulated by CEA, CNRS and INRIA at the following URL 23 * "http://www.cecill.info". See also the directory "Licence" which comes 24 * with this source code for the full text of the CeCILL license. 25 * 26 * As a counterpart to the access to the source code and rights to copy, 27 * modify and redistribute granted by the license, users are provided only 28 * with a limited warranty and the software's author, the holder of the 29 * economic rights, and the successive licensors have only limited 30 * liability. 31 * 32 * In this respect, the user's attention is drawn to the risks associated 33 * with loading, using, modifying and/or developing or reproducing the 34 * software by the user in light of its specific status of free software, 35 * that may mean that it is complicated to manipulate, and that also 36 * therefore means that it is reserved for developers and experienced 37 * professionals having in-depth computer knowledge. Users are therefore 38 * encouraged to load and test the software's suitability as regards their 39 * requirements in conditions enabling the security of their systems and/or 40 * data to be ensured and, more generally, to use and operate it in the 41 * same conditions as regards security. 42 * 43 * The fact that you are presently reading this means that you have had 44 * knowledge of the CeCILL license and that you accept its terms. 45 */ 46 #ifndef ZART_OUTPUTWINDOW_H 47 #define ZART_OUTPUTWINDOW_H 48 49 #include "ui_OutputWindow.h" 50 51 class ImageView; 52 class MainWindow; 53 class QShowEvent; 54 class QFrame; 55 class QTreeWidget; 56 class QAction; 57 58 class OutputWindow : public QWidget { 59 Q_OBJECT 60 public: 61 OutputWindow(MainWindow *); 62 ~OutputWindow(); 63 ImageView * imageView(); 64 65 protected: 66 void showEvent(QShowEvent * event); 67 void keyPressEvent(QKeyEvent *); 68 void closeEvent(QCloseEvent * event); 69 public slots: 70 void onCloseClicked(); 71 void onShowFullscreen(bool); 72 void toggleFullScreen(); 73 signals: 74 void escapePressed(); 75 void spaceBarPressed(); 76 void aboutToClose(); 77 78 private: 79 Ui::OutputWindow * _ui; 80 MainWindow * _mainWindow; 81 QAction * _fullScreenAction; 82 }; 83 84 #endif // ZART_OUTPUTWINDOW_H 85