Commit fba2674c authored by Halla Rempt's avatar Halla Rempt
Browse files

And suddenly Krita becomes an expensive image viewer instead of a capable

paint app.... Okay, let's break this down:

* All contact with tools now goes through a tool proxy (this turned
out to work best, in the end, out of the three approaches I tried. I
still think it's a pity I had to give up on the event filter approach, 
that was way cool).
* I ported Kivio, Karbon and KWord to this system
* Krita now has a KoCanvasBase based canvas, but cannot yet handle flake
shapes, so don't click on the flake tools appearing in the toolbar.
* Krita now shows bits of layers that fall outside the image. This is cool.
* And the checks work.
* Fix a couple of krita file filters 

TODO:

* Port Krita's tools
* Port the changes in kisdoc since my fork to kisdoc2
* Implement the tool-per-pointing-thingy 
* Implement switching the tool based on what we thing the user is holding in
his hand.
* Implement zooming in Krita's canvas
* Port Krita's opengl canvas (should be easy, but I don't understand it)
* Re-add all the bits of gui, like dockers, filters, menu's and so on that
I chopped off

svn path=/trunk/koffice/; revision=597291
parent 1ee98312
......@@ -94,7 +94,7 @@ if (SHOULD_BUILD_KRITA)
add_subdirectory( ui )
add_subdirectory( dtd )
add_subdirectory( colorspaces )
add_subdirectory( plugins )
#add_subdirectory( plugins )
add_subdirectory( data )
add_subdirectory( pics )
......
......@@ -30,7 +30,7 @@
#include <kis_layer.h>
#include <kis_meta_registry.h>
#include <KoColorSpaceRegistry.h>
#include "kis_input_device.h"
#include "KoInputDevice.h"
#include "kis_wetop.h"
#include "kis_wet_colorspace.h"
......@@ -66,9 +66,9 @@ KisPaintOp * KisWetOpFactory::createOp(const KisPaintOpSettings *settings, KisPa
return op;
}
KisPaintOpSettings* KisWetOpFactory::settings(QWidget * parent, const KisInputDevice& inputDevice)
KisPaintOpSettings* KisWetOpFactory::settings(QWidget * parent, const KoInputDevice& inputDevice)
{
if (inputDevice == KisInputDevice::mouse()) {
if (inputDevice == KoInputDevice::mouse()) {
// No options for mouse, only tablet devices
return 0;
} else {
......@@ -94,7 +94,7 @@ KisWetOp::~KisWetOp()
{
}
void KisWetOp::paintAt(const KisPoint &pos, const KisPaintInformation& info)
void KisWetOp::paintAt(const KoPoint &pos, const KisPaintInformation& info)
{
if (!m_painter) return;
......
......@@ -24,9 +24,9 @@
#include "KoColorSpace.h"
#include "ui_wdgpressure.h"
class KisPoint;
class KoPoint;
class KisPainter;
class KisInputDevice;
class KoInputDevice;
class WetPaintOptions : public QWidget, public Ui::WetPaintOptions
{
......@@ -44,7 +44,7 @@ public:
virtual KisPaintOp * createOp(const KisPaintOpSettings *settings, KisPainter * painter);
virtual KoID id() { return KoID("wetbrush", i18n("Watercolor Brush")); }
virtual bool userVisible(KoColorSpace* cs) { return cs->id() == KoID("WET", ""); }
virtual KisPaintOpSettings *settings(QWidget * parent, const KisInputDevice& inputDevice);
virtual KisPaintOpSettings *settings(QWidget * parent, const KoInputDevice& inputDevice);
};
class KisWetOpSettings : public KisPaintOpSettings {
......@@ -74,7 +74,7 @@ public:
KisWetOp(const KisWetOpSettings *settings, KisPainter * painter);
virtual ~KisWetOp();
void paintAt(const KisPoint &pos, const KisPaintInformation& info);
void paintAt(const KoPoint &pos, const KisPaintInformation& info);
};
......
......@@ -45,7 +45,7 @@ KisWSBrushOp::~KisWSBrushOp()
{
}
void KisWSBrushOp::paintAt(const KisPoint &pos,
void KisWSBrushOp::paintAt(const KoPoint &pos,
const double pressure,
const double /*xTilt*/,
const double /*yTilt*/)
......@@ -71,8 +71,8 @@ void KisWSBrushOp::paintAt(const KisPoint &pos,
KisPaintDeviceSP device = m_painter -> device();
KisPoint hotSpot = brush -> hotSpot(pressure);
KisPoint pt = pos - hotSpot;
KoPoint hotSpot = brush -> hotSpot(pressure);
KoPoint pt = pos - hotSpot;
// Split the coordinates into integer plus fractional parts. The integer
// is where the dab will be positioned and the fractional part determines
......
......@@ -22,7 +22,7 @@
#include "kis_paintop.h"
#include "kis_types.h"
class KisPoint;
class KoPoint;
class KisPainter;
......@@ -46,7 +46,7 @@ public:
KisWSBrushOp(KisPainter * painter);
virtual ~KisWSBrushOp();
void paintAt(const KisPoint &pos,
void paintAt(const KoPoint &pos,
const double pressure,
const double /*xTilt*/,
const double /*yTilt*/);
......
......@@ -30,7 +30,6 @@ set(kritaimage_LIB_SRCS
kis_alpha_mask.cc
kis_autobrush_resource.cc
kis_autogradient_resource.cc
kis_background.cc
kis_boundary.cc
kis_brush.cc
kis_command.cc
......@@ -91,5 +90,5 @@ install(TARGETS kritaimage DESTINATION ${LIB_INSTALL_DIR})
########### install files ###############
install( FILES kis_canvas_subject.h kis_canvas_controller.h kis_canvas_observer.h kis_debug_areas.h kis_global.h kis_annotation.h kis_shared_ptr_vector.h kis_undo_adapter.h kis_progress_subject.h kis_progress_display_interface.h kis_adjustment_layer.h kis_alpha_mask.h kis_autobrush_resource.h kis_autogradient_resource.h kis_background.h kis_boundary.h kis_brush.h kis_command.h kis_convolution_painter.h kis_fill_painter.h kis_filter.h kis_filter_registry.h kis_gradient.h kis_gradient_painter.h kis_histogram.h kis_image.h kis_imagepipe_brush.h kis_iterator.h kis_iterators_pixel.h kis_iteratorpixeltrait.h kis_layer.h kis_meta_registry.h kis_nameserver.h kis_paint_device.h kis_painter.h kis_paintop.h kis_paintop_registry.h kis_palette.h kis_pattern.h kis_point.h kis_rect.h kis_resource.h kis_selection.h kis_transaction.h kis_types.h kis_vec.h kis_filter_config_widget.h kis_filter_configuration.h kis_exif_info.h kis_exif_value.h kis_perspective_grid.h kis_perspective_math.h DESTINATION ${INCLUDE_INSTALL_DIR})
install( FILES kis_canvas_subject.h kis_canvas_controller.h kis_canvas_observer.h kis_debug_areas.h kis_global.h kis_annotation.h kis_shared_ptr_vector.h kis_undo_adapter.h kis_progress_subject.h kis_progress_display_interface.h kis_adjustment_layer.h kis_alpha_mask.h kis_autobrush_resource.h kis_autogradient_resource.h kis_boundary.h kis_brush.h kis_command.h kis_convolution_painter.h kis_fill_painter.h kis_filter.h kis_filter_registry.h kis_gradient.h kis_gradient_painter.h kis_histogram.h kis_image.h kis_imagepipe_brush.h kis_iterator.h kis_iterators_pixel.h kis_iteratorpixeltrait.h kis_layer.h kis_meta_registry.h kis_nameserver.h kis_paint_device.h kis_painter.h kis_paintop.h kis_paintop_registry.h kis_palette.h kis_pattern.h kis_rect.h kis_resource.h kis_selection.h kis_transaction.h kis_types.h kis_vec.h kis_filter_config_widget.h kis_filter_configuration.h kis_exif_info.h kis_exif_value.h kis_perspective_grid.h kis_perspective_math.h DESTINATION ${INCLUDE_INSTALL_DIR})
#!/usr/bin/env python
import os, sys
dcopiface_header = """/* This file is part of the KDE project
* Copyright (C) 2005 Boudewijn Rempt <boud@valdyas.org>
*
* 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.
*/
#ifndef %(classname_upper)sIFACE_H
#define %(classname_upper)sIFACE_H
#include <dcopref.h>
#include <dcopobj.h>
#include <QString>
class %(classname)s;
class %(classname)sIface : virtual public DCOPObject
{
K_DCOP
public:
%(classname)sIface( %(classname)s * parent );
k_dcop:
private:
%(classname)s *m_parent;
};
#endif
"""
dcopiface_template = """/*
* This file is part of the KDE project
*
* Copyright (C) 2005 Boudewijn Rempt <boud@valdyas.org>
*
* 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 <kapplication.h>
#include "%(ifaceheader)s"
#include "%(classheader)s"
#include <dcopclient.h>
%(classname)sIface::%(classname)sIface( %(classname)s * parent )
: DCOPObject()
{
m_parent = parent;
}
"""
def parseHeader(headerfile, classname):
# parse the source class header to get a list of functions we're going to wrap
functions = []
if (headerfile.find("private:") > -1):
lines = headerfile[headerfile.find(classname):headerfile.find("private")].splitlines()
else:
lines = headerfile[headerfile.find(classname):headerfile.find("#endif")].splitlines()
i = 0
while i < len(lines):
line = lines[i].strip()
if (line.startswith("/") or
line.startswith("public:") or
line.startswith("*") or
line.startswith(classname) or
line.startswith("class") or
line.startswith("Q_OBJECT") or
line.startswith("#") or
line.startswith("}") or
line.startswith("public slots:") or
line.find("~") != -1 or
len(line) == 0
):
i+=1
continue
if (line.startswith("protected")):
return functions
# by now we are reasonable sure that this is a function. We need to find the end of the function definition, and then
# if the return type is not primitive, replace it with dcopref.
function = line
complete = 0
# strip the inline implementation
if (line.find("{") > -1):
function = line[:line.find("{")]
if function.find("}") > -1:
function += line[line.find("}") + 1:]
complete = 1
else:
i += 1
# search for the missing } on the next lines
while i < len(lines):
if (lines[i].find("}") > -1):
function += lines[i][lines[i].find("}") + 1:]
complete = 1
i += 1
else:
complete = 1
if complete == 0:
i+=1
continue
if (function.endswith("= 0;")):
function = function[:-4] + ";"
print "\t", function
i+=1
def createDCOP(header):
# Determine filenames and classnames
implementation = header[:-1] + "cc"
classname = ""
classname_upper ="_"
for part in header[:-2].split("_"):
classname = classname + part.capitalize()
classname_upper = classname_upper + part.upper() + "_"
ifaceheader = header[:-2] + "_iface.h"
ifaceimplementation = header[:-2] + "_iface.cc"
ifaceclass = classname + "Iface"
#print "with: ", implementation, classname, classname_upper, ifaceheader, ifaceimplementation, ifaceclass
file(ifaceheader, "w+").write(dcopiface_header % { "classname_upper" : classname_upper,
"classname" : classname})
file(ifaceimplementation, "w+").write(dcopiface_template % {"ifaceheader" : ifaceheader,
"classheader" : header,
"classname" : classname })
functions = parseHeader(open(header).read(), classname)
def main(args):
for line in args[1:]:
print "Going to create a dcop interface for:", line[:-1]
createDCOP(line.strip())
if __name__=="__main__":
main(sys.argv)
......@@ -238,7 +238,7 @@ QImage KisAdjustmentLayer::createThumbnail(qint32 w, qint32 h)
QColor c;
Q_UINT8 opacity;
QImage img(w,h,32);
QImage img(w, h, QImage::Format_RGB32);
for (qint32 y=0; y < h; ++y) {
qint32 iY = (y * srch ) / h;
......
......@@ -53,7 +53,7 @@ void KisBoundary::generateBoundary(int w, int h) {
darkBot = cs->getAlpha(botIt.rawData());
if (darkTop != darkBot) {
// detected a change
m_horSegments.back().append(qMakePair(KisPoint(botIt.x(), botIt.y()), 1));
m_horSegments.back().append(qMakePair(KoPoint(botIt.x(), botIt.y()), 1));
}
++topIt;
++botIt;
......@@ -74,7 +74,7 @@ void KisBoundary::generateBoundary(int w, int h) {
darkRight = cs->getAlpha(rightIt.rawData());
if (darkLeft != darkRight) {
// detected a change
m_vertSegments.back().append(qMakePair(KisPoint(rightIt.x(), rightIt.y()), 1));
m_vertSegments.back().append(qMakePair(KoPoint(rightIt.x(), rightIt.y()), 1));
}
++leftIt;
++rightIt;
......
......@@ -22,7 +22,7 @@
#include <QPair>
#include <krita_export.h>
#include "kis_point.h"
#include "KoPoint.h"
class KisPaintDevice;
......@@ -40,7 +40,7 @@ public:
void generateBoundary(int w, int h);
private:
typedef QPair<KisPoint, int> PointPair; // int->length
typedef QPair<KoPoint, int> PointPair; // int->length
bool isDark(quint8 val);
KisPaintDevice* m_device;
int m_fuzzyness;
......
......@@ -494,7 +494,7 @@ KisPaintDeviceSP KisBrush::image(KoColorSpace * /*colorSpace*/, const KisPaintIn
return KisPaintDeviceSP(layer);
}
void KisBrush::setHotSpot(KisPoint pt)
void KisBrush::setHotSpot(KoPoint pt)
{
double x = pt.x();
double y = pt.y();
......@@ -509,10 +509,10 @@ void KisBrush::setHotSpot(KisPoint pt)
else if (y >= height())
y = height() - 1;
m_hotSpot = KisPoint(x, y);
m_hotSpot = KoPoint(x, y);
}
KisPoint KisBrush::hotSpot(const KisPaintInformation& info) const
KoPoint KisBrush::hotSpot(const KisPaintInformation& info) const
{
double scale = scaleForPressure(info.pressure);
double w = width() * scale;
......@@ -530,7 +530,7 @@ KisPoint KisBrush::hotSpot(const KisPaintInformation& info) const
// XXX: This should take m_hotSpot into account, though it
// isn't specified by gimp brushes so it would default to the center
// anyway.
KisPoint p(w / 2, h / 2);
KoPoint p(w / 2, h / 2);
return p;
}
......
......@@ -30,7 +30,7 @@
#include "kis_resource.h"
#include "kis_types.h"
#include "kis_point.h"
#include "KoPoint.h"
#include "kis_alpha_mask.h"
#include "krita_export.h"
#include "kis_boundary.h"
......@@ -85,8 +85,8 @@ public:
virtual KisPaintDeviceSP image(KoColorSpace * colorSpace, const KisPaintInformation& info,
double subPixelX = 0, double subPixelY = 0) const;
void setHotSpot(KisPoint);
KisPoint hotSpot(const KisPaintInformation& info = KisPaintInformation()) const;
void setHotSpot(KoPoint);
KoPoint hotSpot(const KisPaintInformation& info = KisPaintInformation()) const;
void setSpacing(double s) { m_spacing = s; }
double spacing() const { return m_spacing; }
......@@ -167,7 +167,7 @@ private:
QByteArray m_data;
bool m_ownData;
KisPoint m_hotSpot;
KoPoint m_hotSpot;
double m_spacing;
bool m_useColorAsMask;
bool m_hasColor;
......
......@@ -27,9 +27,9 @@
class QWidget;
class KisTool;
class KisRect;
class KisPoint;
class KoPoint;
class KisCanvas;
class KisInputDevice;
class KoInputDevice;
/**
* Interface for classes that implement a canvas; i.e., a widget where KisImages
......@@ -153,7 +153,7 @@ public:
* is the window on the image.
*/
virtual QPoint viewToWindow(const QPoint& pt) = 0;
virtual KisPoint viewToWindow(const KisPoint& pt) = 0;
virtual KoPoint viewToWindow(const KoPoint& pt) = 0;
virtual QRect viewToWindow(const QRect& rc) = 0;
virtual KisRect viewToWindow(const KisRect& rc) = 0;
virtual void viewToWindow(qint32 *x, qint32 *y) = 0;
......@@ -162,7 +162,7 @@ public:
* Conversion functions from image coordinates to view coordinates
*/
virtual QPoint windowToView(const QPoint& pt) = 0;
virtual KisPoint windowToView(const KisPoint& pt) = 0;
virtual KoPoint windowToView(const KoPoint& pt) = 0;
virtual QRect windowToView(const QRect& rc) = 0;
virtual KisRect windowToView(const KisRect& rc) = 0;
virtual void windowToView(qint32 *x, qint32 *y) = 0;
......@@ -179,7 +179,7 @@ public:
/**
* @return the current input device, such as a mouse or a stylus
*/
virtual KisInputDevice currentInputDevice() const = 0;
virtual KoInputDevice currentInputDevice() const = 0;
private:
......
......@@ -58,17 +58,17 @@ namespace {
class GradientShapeStrategy {
public:
GradientShapeStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd);
GradientShapeStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd);
virtual ~GradientShapeStrategy() {}
virtual double valueAt(double x, double y) const = 0;
protected:
KisPoint m_gradientVectorStart;
KisPoint m_gradientVectorEnd;
KoPoint m_gradientVectorStart;
KoPoint m_gradientVectorEnd;
};
GradientShapeStrategy::GradientShapeStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd)
GradientShapeStrategy::GradientShapeStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd)
: m_gradientVectorStart(gradientVectorStart), m_gradientVectorEnd(gradientVectorEnd)
{
}
......@@ -77,7 +77,7 @@ namespace {
class LinearGradientStrategy : public GradientShapeStrategy {
typedef GradientShapeStrategy super;
public:
LinearGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd);
LinearGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd);
virtual double valueAt(double x, double y) const;
......@@ -87,7 +87,7 @@ namespace {
double m_vectorLength;
};
LinearGradientStrategy::LinearGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd)
LinearGradientStrategy::LinearGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd)
: super(gradientVectorStart, gradientVectorEnd)
{
double dx = gradientVectorEnd.x() - gradientVectorStart.x();
......@@ -128,12 +128,12 @@ namespace {
class BiLinearGradientStrategy : public LinearGradientStrategy {
typedef LinearGradientStrategy super;
public:
BiLinearGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd);
BiLinearGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd);
virtual double valueAt(double x, double y) const;
};
BiLinearGradientStrategy::BiLinearGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd)
BiLinearGradientStrategy::BiLinearGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd)
: super(gradientVectorStart, gradientVectorEnd)
{
}
......@@ -154,7 +154,7 @@ namespace {
class RadialGradientStrategy : public GradientShapeStrategy {
typedef GradientShapeStrategy super;
public:
RadialGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd);
RadialGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd);
virtual double valueAt(double x, double y) const;
......@@ -162,7 +162,7 @@ namespace {
double m_radius;
};
RadialGradientStrategy::RadialGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd)
RadialGradientStrategy::RadialGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd)
: super(gradientVectorStart, gradientVectorEnd)
{
double dx = gradientVectorEnd.x() - gradientVectorStart.x();
......@@ -194,7 +194,7 @@ namespace {
class SquareGradientStrategy : public GradientShapeStrategy {
typedef GradientShapeStrategy super;
public:
SquareGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd);
SquareGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd);
virtual double valueAt(double x, double y) const;
......@@ -204,7 +204,7 @@ namespace {
double m_vectorLength;
};
SquareGradientStrategy::SquareGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd)
SquareGradientStrategy::SquareGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd)
: super(gradientVectorStart, gradientVectorEnd)
{
double dx = gradientVectorEnd.x() - gradientVectorStart.x();
......@@ -254,7 +254,7 @@ namespace {
class ConicalGradientStrategy : public GradientShapeStrategy {
typedef GradientShapeStrategy super;
public:
ConicalGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd);
ConicalGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd);
virtual double valueAt(double x, double y) const;
......@@ -262,7 +262,7 @@ namespace {
double m_vectorAngle;
};
ConicalGradientStrategy::ConicalGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd)
ConicalGradientStrategy::ConicalGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd)
: super(gradientVectorStart, gradientVectorEnd)
{
double dx = gradientVectorEnd.x() - gradientVectorStart.x();
......@@ -294,7 +294,7 @@ namespace {
class ConicalSymetricGradientStrategy : public GradientShapeStrategy {
typedef GradientShapeStrategy super;
public:
ConicalSymetricGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd);
ConicalSymetricGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd);
virtual double valueAt(double x, double y) const;
......@@ -302,7 +302,7 @@ namespace {
double m_vectorAngle;
};
ConicalSymetricGradientStrategy::ConicalSymetricGradientStrategy(const KisPoint& gradientVectorStart, const KisPoint& gradientVectorEnd)
ConicalSymetricGradientStrategy::ConicalSymetricGradientStrategy(const KoPoint& gradientVectorStart, const KoPoint& gradientVectorEnd)
: super(gradientVectorStart, gradientVectorEnd)
{
double dx = gradientVectorEnd.x() - gradientVectorStart.x();
......@@ -480,8 +480,8 @@ KisGradientPainter::KisGradientPainter(KisPaintDeviceSP device) : super(device),
{
}
bool KisGradientPainter::paintGradient(const KisPoint& gradientVectorStart,
const KisPoint& gradientVectorEnd,
bool KisGradientPainter::paintGradient(const KoPoint& gradientVectorStart,
const KoPoint& gradientVectorEnd,
enumGradientShape shape,
enumGradientRepeat repeat,
double antiAliasThreshold,
......
......@@ -22,7 +22,7 @@
#include "kis_global.h"
#include "kis_types.h"
#include "kis_point.h"
#include "KoPoint.h"
#include "kis_painter.h"
#include <krita_export.h>
......@@ -64,8 +64,8 @@ public:
* XXX: What does the returned bool mean?
* XXX: Make cs-independent
*/
bool paintGradient(const KisPoint& gradientVectorStart,