You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.4 KiB
46 lines
1.4 KiB
/* |
|
SPDX-FileCopyrightText: 2020-2020 Gustavo Carneiro <gcarneiroa@hotmail.com> |
|
SPDX-FileCopyrightText: 2012-2020 Kurt Hindenburg <kurt.hindenburg@gmail.com> |
|
SPDX-FileCopyrightText: 2020-2020 Tomaz Canabrava <tcanabrava@kde.org> |
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later |
|
*/ |
|
|
|
#ifndef KONSOLEPRINTMANAGER_H |
|
#define KONSOLEPRINTMANAGER_H |
|
|
|
#include <functional> |
|
|
|
class QFont; |
|
class QRect; |
|
class QColor; |
|
class QPoint; |
|
class QWidget; |
|
class QPainter; |
|
|
|
namespace Konsole |
|
{ |
|
class KonsolePrintManager |
|
{ |
|
public: |
|
typedef std::function<void(QPainter &, bool)> pPrintContent; |
|
typedef std::function<QFont()> pVTFontGet; |
|
typedef std::function<void(const QFont)> pVTFontSet; |
|
typedef std::function<void(QPainter &painter, const QRect &rect, const QColor &backgroundColor, bool useOpacitySetting)> pDrawBackground; |
|
typedef std::function<void(QPainter &paint, const QRect &rect, bool friendly)> pDrawContents; |
|
typedef std::function<QColor()> pColorGet; |
|
|
|
KonsolePrintManager(pDrawBackground drawBackground, pDrawContents drawContents, pColorGet colorGet); |
|
~KonsolePrintManager() = default; |
|
|
|
void printRequest(pPrintContent pContent, QWidget *parent); |
|
void printContent(QPainter &painter, bool friendly, QPoint columnsLines, pVTFontGet vtFontGet, pVTFontSet vtFontSet); |
|
|
|
private: |
|
pDrawBackground _drawBackground; |
|
pDrawContents _drawContents; |
|
pColorGet _backgroundColor; |
|
}; |
|
} |
|
|
|
#endif
|
|
|