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