logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Graphics::Primitive::Path - Collection of primitives

Author

       Cory Watson <gphat@cpan.org>

Description

       Graphics::Primitive::Path is a shape defined by a list of primitives.

Methods

Constructornew Creates a new Graphics::Primitive::Path

   InstanceMethodsadd_primitive($prim)
           Add a primitive to this Path.

       arc($radius,$start,$end,[$skip_line_to])
             $path->arc($radius, $start_angle_in_radians, $end_angle_in_radians);

           Draw  an arc based at the current point with the given radius from the given start angle to the given
           end angle.  Alinewillbedrawnfromthecurrent_pointtothestartpointofthedescribedarc.Ifyoudonotwantthistohappen,supplyatruevalueasthelastargument.clear_current_point
           Clears the current point on this Path.

       clear_primitives
           Clears all primitives from this Path.  NOTE: This does not clear the current point.

       close_path
           Close the current path by drawing a line from the current_point back to the first point in the path.

       contiguous
           Flag this path as being contiguous at this point.  Continuity is important so some path-based drivers
           such  as  Cairo.   You  should not mess with this attribute unless you know what you are doing.  It's
           used for driver hinting.

       current_point
           Returns the current -- or last -- point on this Path.

       curve_to($control1,$control2,$end)
           Creates a cubic Bézier curve from the current point to the $end point using $control1  and  $control2
           as control points.

       ellipse($width,$height,[$skip_line_to])
           Creates an ellipse at the current point with the specified width and height.  Optional last argument,
           if true, skips drawing a line to the ellipse's starting point.

       get_points
           Get this path as a series of points.

       get_primitive
           Returns the primitive at the specified offset.

       hints
           List  of  hint  hashrefs.  This  hint arrayref matches the primitives arrayref one-to-one.  Hints are
           tidbits of information that may assist drivers in optimizing (or successfully handling) primitives in
           this path's list.  You should not mess with this structure unless you know what you are doing.

       line_to($point|$x,$y)
           Draw a line from the current point to the one provided. Accepts either a  Geoemetry::Primitive::Point
           or two arguments for x and y.

       move_to($point|$x,$y)
           Move  the current point to the one specified.  This will not add any primitives to the path.  Accepts
           either a Geoemetry::Primitive::Point or two arguments for x and y.

       primitive_count
           Returns the number of primitives on this Path.

       rectangle($width,$height)
           Draw a rectangle at current_position of the specified width and height.

       rel_curve_to($x1,$y1,$x2,$y2,$x3,$y3)
           Creates a cubic Bézier curve from the current point using the provided values as offsets:

             start = current point
             control1 = current point + $x1,$y1
             control1 = current point + $x2,$y2
             end = current point + $x3,$y3

       rel_line_to($x_amount,$y_amount)
           Draw a line by adding the supplied x and y values to the current one.  For  example  if  the  current
           point is 5,5 then calling rel_line_to(2, 2) would draw a line from the current point to 7,7.

       rel_move_to($x_amount,$y_amount)
           Move to a new point by adding the supplied x and y values to the current ones.

Name

       Graphics::Primitive::Path - Collection of primitives

Synopsis

         use Graphics::Primitive::Path;

         my $path = Graphics::Primitive::Path->new();
         $path->add_primitive($line);
         $path->move_to($point);

See Also