File indexing completed on 2024-05-12 15:59:07

0001 /*
0002  *  SPDX-FileCopyrightText: 2020 Scott Petrovic <scottpetrovic@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #include "Scratchpad.h"
0007 #include <KoResource.h>
0008 #include <kis_config.h>
0009 #include "kis_scratch_pad.h"
0010 #include "Resource.h"
0011 #include "View.h"
0012 #include "Canvas.h"
0013 #include <KoCanvasBase.h>
0014 #include <kis_canvas2.h>
0015 
0016 #include <QColor>
0017 #include <QVBoxLayout>
0018 
0019 
0020 struct Scratchpad::Private
0021 {
0022     KisScratchPad *scratchpad = 0;
0023 };
0024 
0025 
0026 Scratchpad::Scratchpad(View *view, const QColor & defaultColor, QWidget *parent)
0027     : QWidget(parent), d(new Private)
0028 {
0029     d->scratchpad = new KisScratchPad();
0030     d->scratchpad->setupScratchPad(view->view()->resourceProvider(), defaultColor);
0031     d->scratchpad->setMinimumSize(50, 50);
0032 
0033     QVBoxLayout *layout = new QVBoxLayout(this);
0034     layout->addWidget(d->scratchpad);
0035 }
0036 
0037 Scratchpad::~Scratchpad()
0038 {
0039 }
0040 
0041 void Scratchpad::setModeManually(bool value)
0042 {
0043     d->scratchpad->setModeManually(value);
0044 }
0045 
0046 void Scratchpad::setMode(QString modeType)
0047 {
0048     d->scratchpad->setModeType(modeType);
0049 }
0050 
0051 void Scratchpad::linkCanvasZoom(bool value)
0052 {
0053     d->scratchpad->linkCanvavsToZoomLevel(value);
0054 }
0055 
0056 void Scratchpad::loadScratchpadImage(QImage image)
0057 {
0058     d->scratchpad->loadScratchpadImage(image);
0059 }
0060 
0061 QImage Scratchpad::copyScratchpadImageData()
0062 {
0063     return d->scratchpad->copyScratchpadImageData();
0064 }
0065 
0066 void Scratchpad::clear()
0067 {
0068     // need ability to set color
0069     d->scratchpad->fillDefault();
0070 }
0071 
0072 void Scratchpad::setFillColor(QColor color)
0073 {
0074     d->scratchpad->setFillColor(color);
0075 }