1 /* 2 PosteRazor - Make your own poster! 3 Copyright (C) 2005-2018 by Alessandro Portale 4 http://posterazor.sourceforge.net/ 5 6 This file is part of PosteRazor 7 8 PosteRazor is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 PosteRazor is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with PosteRazor; if not, write to the Free Software 20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 21 */ 22 23 #pragma once 24 25 #include <QBrush> 26 #include <QSizeF> 27 #include <QRectF> 28 29 class PaintCanvasInterface 30 { 31 public: 32 virtual ~PaintCanvasInterface() = default; 33 34 virtual void drawFilledRect(const QRectF &rect, const QBrush &brush) = 0; 35 virtual QSizeF size() const = 0; 36 virtual void drawImage(const QRectF &rect) = 0; 37 virtual void drawOverlayText(const QPointF &position, int flags, int size, const QString &text) = 0; 38 }; 39