Skip to content

Commit

Permalink
- Added the ability to edit Patch Meshes.
Browse files Browse the repository at this point in the history
- Added the "Color Control" points to mesh gradients.
- Fixed export of mesh gradients to PostScript

git-svn-id: svn+ssh://canvas.scribus.eu/svn/trunk/Scribus@16869 11d20701-8431-0410-a711-e3c959e3b870
  • Loading branch information
fschmid committed Oct 3, 2011
1 parent 7c30b22 commit 462f6cb
Show file tree
Hide file tree
Showing 29 changed files with 1,736 additions and 138 deletions.
1 change: 1 addition & 0 deletions scribus/CMakeLists.txt
Expand Up @@ -484,6 +484,7 @@ SET(SCRIBUS_SOURCES
canvasmode_editarc.cpp
canvasmode_editgradient.cpp
canvasmode_editmeshgradient.cpp
canvasmode_editmeshpatch.cpp
canvasmode_editpolygon.cpp
canvasmode_editspiral.cpp
canvasmode_edittable.cpp
Expand Down
7 changes: 7 additions & 0 deletions scribus/canvas.cpp
Expand Up @@ -276,6 +276,13 @@ bool Canvas::hitsCanvasPoint(QPoint globalPoint, QPointF canvasPoint) const
&& qAbs(localPoint1.y() - localPoint2.y()) < radius;
}

bool Canvas::hitsCanvasPoint(FPoint globalPoint, QPointF canvasPoint) const
{
double radius = m_doc->guidesPrefs().grabRadius;
return qAbs(globalPoint.x() - canvasPoint.x()) < radius
&& qAbs(globalPoint.y() - canvasPoint.y()) < radius;
}

QRect Canvas::exposedRect() const
{
int ex ( -(x() / m_viewMode.scale) + m_doc->minCanvasCoordinate.x() );
Expand Down
2 changes: 2 additions & 0 deletions scribus/canvas.h
Expand Up @@ -93,6 +93,7 @@ class SCRIBUS_API Canvas : public QWidget
friend class CanvasMode_EditArc;
friend class CanvasMode_EditGradient;
friend class CanvasMode_EditMeshGradient;
friend class CanvasMode_EditMeshPatch;
friend class CanvasMode_EditPolygon;
friend class CanvasMode_EditSpiral;
friend class CanvasMode_EditTable;
Expand Down Expand Up @@ -160,6 +161,7 @@ class SCRIBUS_API Canvas : public QWidget
// QRectF globalToCanvas(QRectF p) const;
bool hitsCanvasPoint(QPoint globalPoint, FPoint canvasPoint) const;
bool hitsCanvasPoint(QPoint globalPoint, QPointF canvasPoint) const;
bool hitsCanvasPoint(FPoint globalPoint, QPointF canvasPoint) const;
QRect exposedRect() const;
bool cursorOverTextFrameControl(QPoint globalPos, PageItem* frame);
/** Returns the framehandle or INSIDE if the position falls into the frame. */
Expand Down
4 changes: 4 additions & 0 deletions scribus/canvasmode.cpp
Expand Up @@ -27,6 +27,7 @@
#include "canvasmode_editarc.h"
#include "canvasmode_editgradient.h"
#include "canvasmode_editmeshgradient.h"
#include "canvasmode_editmeshpatch.h"
#include "canvasmode_editpolygon.h"
#include "canvasmode_editspiral.h"
#include "canvasmode_edittable.h"
Expand Down Expand Up @@ -127,6 +128,9 @@ CanvasMode* CanvasMode::createForAppMode(ScribusView* view, int appMode)
case modeEditMeshGradient:
result = new CanvasMode_EditMeshGradient(view);
break;
case modeEditMeshPatch:
result = new CanvasMode_EditMeshPatch(view);
break;
case modeDrawBezierLine:
result = new BezierMode(view);
break;
Expand Down

0 comments on commit 462f6cb

Please sign in to comment.