extern crate pdf_canvas;
use pdf_canvas::graphicsstate::Color;
use pdf_canvas::Pdf;
use std::f32::consts::PI;
fn main() {
let mut document = Pdf::create("circles.pdf").unwrap();
document
.render_page(400.0, 400.0, |c| {
let (x, y) = (200.0, 200.0);
let r = 190.0;
c.set_stroke_color(Color::rgb(0, 0, 0))?;
c.set_line_width(2.0)?;
c.circle(x, y, r)?;
c.stroke()?;
c.set_stroke_color(Color::rgb(255, 230, 150))?;
c.set_line_width(1.0)?;
c.move_to(x + r, y)?;
let sides: u8 = 200;
for n in 1..sides {
let phi = f32::from(n) * 2.0 * PI / f32::from(sides);
c.line_to(x + r * phi.cos(), y + r * phi.sin())?;
}
c.close_and_stroke()
})
.unwrap();
document.finish().unwrap();
}