DrawConfig.build constructor

DrawConfig.build({
  1. double? maxRandomnessOffset,
  2. double? roughness,
  3. double? bowing,
  4. double? curveFitting,
  5. double? curveTightness,
  6. double? curveStepCount,
  7. int? seed,
})

Creates a DrawConfig with the specified parameters.

Parameters:

  • roughness: Controls how rough the drawing is. A value of 0 creates perfect shapes, while higher values increase sketchiness. Default: 1.
  • bowing: Controls how much lines bow/curve. A value of 0 creates straight lines. Default: 1.
  • seed: Seed for random number generation, useful for reproducible drawings. Default: 1.
  • curveStepCount: Number of points used to approximate curves. Higher values create smoother curves. Default: 9.
  • curveTightness: Controls how tight curves are drawn. Default: 0.
  • curveFitting: Controls how closely curves match the specified dimensions. Values closer to 1 are more accurate. Default: 0.95.
  • maxRandomnessOffset: Maximum random offset applied to points. Default: 2.

Implementation

factory DrawConfig.build({
  double? maxRandomnessOffset,
  double? roughness,
  double? bowing,
  double? curveFitting,
  double? curveTightness,
  double? curveStepCount,
  int? seed,
}) {
  final effectiveSeed = seed ?? defaultValues.seed;
  return DrawConfig._(
    maxRandomnessOffset:
        maxRandomnessOffset ?? defaultValues.maxRandomnessOffset,
    roughness: roughness ?? defaultValues.roughness,
    bowing: bowing ?? defaultValues.bowing,
    curveFitting: curveFitting ?? defaultValues.curveFitting,
    curveTightness: curveTightness ?? defaultValues.curveTightness,
    curveStepCount: curveStepCount ?? defaultValues.curveStepCount,
    seed: effectiveSeed,
    randomizer: Randomizer(seed: effectiveSeed),
  );
}