diff --git a/pd/tkpath/ChangeLog b/pd/tkpath/ChangeLog index ad4cc27e9f8fe4d5f076629bd6787419c395f8d8..f0731b8134a24fa1f79b615f1b395eea1f9fbbd1 100755 --- a/pd/tkpath/ChangeLog +++ b/pd/tkpath/ChangeLog @@ -18,6 +18,7 @@ * tclconfig/tcl.m4: * configure, configure.in: Updated to TEA 3.9. * generic/*.c: Various fixes for mingw32/mingw64. + * configure, configure.in: Bumped revision to 0.3.3 2011-10-28 Peter Spjuth <peter.spjuth@gmail.com> diff --git a/pd/tkpath/generic/path.c b/pd/tkpath/generic/path.c index 9a4e5060cc382c9fe120eea169c2698c0815852b..b421bc982daea0eda53566a8560e6cb1406f20f2 100644 --- a/pd/tkpath/generic/path.c +++ b/pd/tkpath/generic/path.c @@ -18,7 +18,7 @@ /* Keep patch level release numbers odd and set even only on release. */ #define TKPATH_VERSION "0.3" -#define TKPATH_PATCHLEVEL "0.3.2" +#define TKPATH_PATCHLEVEL "0.3.3" #define TKPATH_REQUIRE "8.5" int gAntiAlias = 1; diff --git a/pd/tkpath/generic/tkCanvEllipse.c b/pd/tkpath/generic/tkCanvEllipse.c index 25f973149fc314a8683c068383bae94bb2a18de5..432ffb0a64b460f89d82f27769958e98bfd45fc8 100644 --- a/pd/tkpath/generic/tkCanvEllipse.c +++ b/pd/tkpath/generic/tkCanvEllipse.c @@ -215,6 +215,8 @@ CreateAny(Tcl_Interp *interp, Tk_PathCanvas canvas, struct Tk_PathItem *itemPtr, itemExPtr->canvas = canvas; itemExPtr->styleObj = NULL; itemExPtr->styleInst = NULL; + itemPtr->bbox = NewEmptyPathRect(); + itemPtr->totalBbox = NewEmptyPathRect(); ellPtr->type = type; if (ellPtr->type == kOvalTypeCircle) { @@ -290,7 +292,6 @@ ComputeEllipseBbox(Tk_PathCanvas canvas, EllipseItem *ellPtr) Tk_PathItem *itemPtr = &itemExPtr->header; Tk_PathStyle style; Tk_PathState state = itemExPtr->header.state; - PathRect totalBbox, bbox; if(state == TK_PATHSTATE_NULL) { state = TkPathCanvasState(canvas); @@ -301,9 +302,9 @@ ComputeEllipseBbox(Tk_PathCanvas canvas, EllipseItem *ellPtr) return; } style = TkPathCanvasInheritStyle(itemPtr, kPathMergeStyleNotFill); - bbox = GetBareBbox(ellPtr); - totalBbox = GetGenericPathTotalBboxFromBare(NULL, &style, &bbox); - SetGenericPathHeaderBbox(&itemExPtr->header, style.matrixPtr, &totalBbox); + itemPtr->bbox = GetBareBbox(ellPtr); + itemPtr->totalBbox = GetGenericPathTotalBboxFromBare(NULL, &style, &itemPtr->bbox); + SetGenericPathHeaderBbox(&itemExPtr->header, style.matrixPtr, &itemPtr->totalBbox); TkPathCanvasFreeInheritedStyle(&style); } @@ -399,7 +400,7 @@ DisplayEllipse(Tk_PathCanvas canvas, Tk_PathItem *itemPtr, Display *display, Dra { EllipseItem *ellPtr = (EllipseItem *) itemPtr; TMatrix m = GetCanvasTMatrix(canvas); - PathRect bbox; + //PathRect bbox; PathAtom *atomPtr; EllipseAtom ellAtom; Tk_PathStyle style; @@ -419,9 +420,9 @@ DisplayEllipse(Tk_PathCanvas canvas, Tk_PathItem *itemPtr, Display *display, Dra ellAtom.rx = ellPtr->rx; ellAtom.ry = ellPtr->ry; - bbox = GetBareBbox(ellPtr); + itemPtr->bbox = GetBareBbox(ellPtr); style = TkPathCanvasInheritStyle(itemPtr, 0); - TkPathDrawPath(Tk_PathCanvasTkwin(canvas), drawable, atomPtr, &style, &m, &bbox); + TkPathDrawPath(Tk_PathCanvasTkwin(canvas), drawable, atomPtr, &style, &m, &itemPtr->bbox); TkPathCanvasFreeInheritedStyle(&style); } @@ -630,6 +631,9 @@ TranslateEllipse(Tk_PathCanvas canvas, Tk_PathItem *itemPtr, double deltaX, doub ellPtr->center[0] += deltaX; ellPtr->center[1] += deltaY; + //TranslatePathAtoms(ellPtr->atomPtr, deltaX, deltaY); + TranslatePathRect(&itemPtr->bbox, deltaX, deltaY); + TranslatePathRect(&itemPtr->totalBbox, deltaX, deltaY); TranslateItemHeader(itemPtr, deltaX, deltaY); }