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 }