diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b675fcf..f800b3e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,14 +8,14 @@ See https://github.com/JuliaGraphics/Cairo.jl/pull/357. ### Added - `markcells()` and `getcells()` -- package extensions for LaTeX +- package extension for LaTeX - CompatHelper git workflow ### Changed -- fixes for `drawpath(p, f)` to do the Bezier curve truncation better - minimum Julia version 1.9 -- added dependency PolygonAlgorithms.jl and use code from there +- fixes for `drawpath(p, f)` to do the Bezier curve truncation better +- added dependency PolygonAlgorithms.jl and replace poly intersection routines with new ones ### Removed diff --git a/Project.toml b/Project.toml index 6392ae68..a618e850 100644 --- a/Project.toml +++ b/Project.toml @@ -5,7 +5,6 @@ version = "3.9.0" [deps] Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Cairo = "159f3aea-2a34-519c-b102-8c37f9878175" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" @@ -35,7 +34,8 @@ FFMPEG = "0.4" FileIO = "1" Juno = "0.7, 0.8" LaTeXStrings = "1.1, 1.2, 1.3" -PolygonAlgorithms = "0.1" +MathTeXEngine = "0.5" +PolygonAlgorithms = "0.1" PrecompileTools = "1" Rsvg = "1.0" julia = "1.9" diff --git a/docs/src/howto/clipping.md b/docs/src/howto/clipping.md index 20250739..fa4dcae9 100644 --- a/docs/src/howto/clipping.md +++ b/docs/src/howto/clipping.md @@ -27,6 +27,8 @@ poly(polyclip(s, c), :stroke, close=true) end 600 400 # hide ``` +See also `[polyintersect()](@ref)`. + ## Visual clipping Use [`clip`](@ref) to turn the current path into a clipping region, masking any graphics outside the path. [`clippreserve`](@ref) keeps the current path, but also uses it as a clipping region. [`clipreset`](@ref) resets it. `:clip` is also an action for drawing functions like [`circle`](@ref). diff --git a/docs/src/howto/polygons.md b/docs/src/howto/polygons.md index 2497a84f..5ca9d5c5 100644 --- a/docs/src/howto/polygons.md +++ b/docs/src/howto/polygons.md @@ -2,7 +2,7 @@ For drawing shapes, Luxor provides polygons and paths. -A polygon is an ordered collection of Points stored in an array. +A polygon is an ordered collection of Points stored in an array. To draw a polygon, you can use the [`poly()`](@ref) function, which converts the points to a path. A path is a sequence of one or more straight and curved (circular arc or Bézier curve) segments. Paths can consist of subpaths. Luxor maintains a 'current path', to which you can add lines and curves until you finish with a stroke or fill instruction. @@ -1693,7 +1693,7 @@ nothing # hide Use [`polyintersect()`](@ref) to find the areas where two polygons intersect. -In the following illustration, the annular sector polygon and a varying rectangular polygons are passed to `polyintersect()`. +In the following illustration, the annular sector polygon and a varying rectangular polygon are passed to `polyintersect()`. In each case, the returned result is an array of polygons. The number of polygons in the array depends on how the two polygons intersect - there could be