summaryrefslogtreecommitdiff
path: root/src/animation.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/animation.rs')
-rw-r--r--src/animation.rs50
1 files changed, 0 insertions, 50 deletions
diff --git a/src/animation.rs b/src/animation.rs
deleted file mode 100644
index bfb17a4..0000000
--- a/src/animation.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-use rocket::{
- get,
- http::{Cookie, CookieJar, Header},
- response::{self, Responder},
- Request,
-};
-
-pub struct Reload<T>(f64, pub T);
-
-#[rocket::async_trait]
-impl<'r, T: Responder<'r, 'static>> Responder<'r, 'static> for Reload<T> {
- fn respond_to(self, request: &'r Request<'_>) -> response::Result<'static> {
- let mut resp = self.1.respond_to(request);
- if let Ok(resp) = &mut resp {
- resp.set_header(Header::new("refresh", format!("{}", self.0)));
- }
- resp
- }
-}
-
-const TEXT: &'static str = include_str!("../COPYING");
-const END_FRAME: isize = TEXT.len() as isize / 100 + 5;
-
-#[get("/wubbel")]
-pub fn r_wubbel(jar: &CookieJar) -> Reload<String> {
- let frame = jar
- .get("frame")
- .and_then(|c| c.value().parse().ok())
- .unwrap_or(0isize);
- jar.add(Cookie::build("frame", format!("{}", (frame + 1) % (END_FRAME + 1))).finish());
-
- let text = TEXT
- .chars()
- .enumerate()
- .map(|(i, e)| {
- if e == '\n' || frag(i as isize, frame) {
- e
- } else {
- ' '
- }
- })
- .collect::<String>();
-
- Reload(if frame >= END_FRAME { 60.0 } else { 0.1 }, text)
-}
-
-#[inline]
-fn frag(i: isize, frame: isize) -> bool {
- i % 5 < (frame - i / 100)
-}