diff options
Diffstat (limited to 'krita/ui/kis_custom_brush.cc')
-rw-r--r-- | krita/ui/kis_custom_brush.cc | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/krita/ui/kis_custom_brush.cc b/krita/ui/kis_custom_brush.cc deleted file mode 100644 index 492d2003..00000000 --- a/krita/ui/kis_custom_brush.cc +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Copyright (c) 2005 Bart Coppens <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#include <KoImageResource.h> -#include <kdebug.h> -#include <tqlabel.h> -#include <tqimage.h> -#include <tqpushbutton.h> -#include <tqcombobox.h> -#include <tqcheckbox.h> -#include <kglobal.h> -#include <kstandarddirs.h> -#include <ktempfile.h> - -#include "kis_view.h" -#include "kis_image.h" -#include "kis_layer.h" -#include "kis_paint_device.h" -#include "kis_brush.h" -#include "kis_imagepipe_brush.h" -#include "kis_custom_brush.h" -#include "kis_resource_mediator.h" -#include "kis_resourceserver.h" -#include "kis_paint_layer.h" -#include "kis_group_layer.h" - -KisCustomBrush::KisCustomBrush(TQWidget *tqparent, const char* name, const TQString& caption, KisView* view) - : KisWdgCustomBrush(tqparent, name), m_view(view) -{ - Q_ASSERT(m_view); - m_mediator = 0; - setCaption(caption); - - m_brush = 0; - - preview->setScaledContents(true); - - connect(addButton, TQT_SIGNAL(pressed()), this, TQT_SLOT(slotAddPredefined())); - connect(brushButton, TQT_SIGNAL(pressed()), this, TQT_SLOT(slotUseBrush())); -// connect(exportButton, TQT_SIGNAL(pressed()), this, TQT_SLOT(slotExport())); - connect(style, TQT_SIGNAL(activated(int)), this, TQT_SLOT(slotUpdateCurrentBrush(int))); - connect(colorAsMask, TQT_SIGNAL(stateChanged(int)), this, TQT_SLOT(slotUpdateCurrentBrush(int))); -} - -KisCustomBrush::~KisCustomBrush() { - delete m_brush; -} - -void KisCustomBrush::showEvent(TQShowEvent *) { - slotUpdateCurrentBrush(0); -} - -void KisCustomBrush::slotUpdateCurrentBrush(int) { - delete m_brush; - if (m_view->canvasSubject() && m_view->canvasSubject()->currentImg()) { - createBrush(); - preview->setPixmap(TQPixmap(m_brush->img())); - } else { - m_brush = 0; - } -} - -void KisCustomBrush::slotExport() { - ; -} - -void KisCustomBrush::slotAddPredefined() { - // Save in the directory that is likely to be: ~/.kde/share/apps/krita/brushes - // a unique file with this brushname - TQString dir = KGlobal::dirs()->saveLocation("data", "krita/brushes"); - TQString extension; - - if (style->currentItem() == 0) { - extension = ".gbr"; - } else { - extension = ".gih"; - } - KTempFile file(dir, extension); - file.close(); // If we don't, and brush->save first, it might get truncated! - - // Save it to that file - m_brush->setFilename(file.name()); - - // Add it to the brush server, so that it automatically gets to the mediators, and - // so to the other brush choosers can pick it up, if they want to - if (m_server) - m_server->addResource(m_brush->clone()); -} - -void KisCustomBrush::slotUseBrush() { - KisBrush* copy = m_brush->clone(); - - Q_CHECK_PTR(copy); - - emit(activatedResource(copy)); -} - -void KisCustomBrush::createBrush() { - KisImageSP img = m_view->canvasSubject()->currentImg(); - - if (!img) - return; - - if (style->currentItem() == 0) { - m_brush = new KisBrush(img->mergedImage(), 0, 0, img->width(), img->height()); - if (colorAsMask->isChecked()) - m_brush->makeMaskImage(); - return; - } - - // For each layer in the current image, create a new image, and add it to the list - TQValueVector< TQValueVector<KisPaintDevice*> > devices; - devices.push_back(TQValueVector<KisPaintDevice*>()); - int w = img->width(); - int h = img->height(); - - // We only loop over the rootLayer. Since we actually should have a layer selection - // list, no need to elaborate on that here and now - KisLayer* layer = img->rootLayer()->firstChild(); - while (layer) { - KisPaintLayer* paint = 0; - if (layer->visible() && (paint = dynamic_cast<KisPaintLayer*>(layer))) - devices.at(0).push_back(paint->paintDevice()); - layer = layer->nextSibling(); - } - TQValueVector<KisPipeBrushParasite::SelectionMode> modes; - - switch(comboBox2->currentItem()) { - case 0: modes.push_back(KisPipeBrushParasite::Constant); break; - case 1: modes.push_back(KisPipeBrushParasite::Random); break; - case 2: modes.push_back(KisPipeBrushParasite::Incremental); break; - case 3: modes.push_back(KisPipeBrushParasite::Pressure); break; - case 4: modes.push_back(KisPipeBrushParasite::Angular); break; - default: modes.push_back(KisPipeBrushParasite::Incremental); - } - - m_brush = new KisImagePipeBrush(img->name(), w, h, devices, modes); - if (colorAsMask->isChecked()) - m_brush->makeMaskImage(); -} - - -#include "kis_custom_brush.moc" |