aboutsummaryrefslogtreecommitdiff
path: root/lvc/src/encode.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lvc/src/encode.rs')
-rw-r--r--lvc/src/encode.rs49
1 files changed, 49 insertions, 0 deletions
diff --git a/lvc/src/encode.rs b/lvc/src/encode.rs
new file mode 100644
index 0000000..7737626
--- /dev/null
+++ b/lvc/src/encode.rs
@@ -0,0 +1,49 @@
+use crate::diff::diff;
+use crate::{Frame, Ref, View, P2};
+
+pub fn encode(last_frame: &Frame, frame: &Frame, view: View) {
+ let rp = Ref::default();
+
+ let d = diff([last_frame, frame], view, rp);
+}
+
+pub fn split(view: View) -> [View; 2] {
+ let s = view.size();
+ if s.x > s.y {
+ let mid_x = (view.a.x + view.b.x) / 2;
+ [
+ View {
+ a: view.a,
+ b: P2 {
+ x: mid_x,
+ y: view.b.y,
+ },
+ },
+ View {
+ a: P2 {
+ x: mid_x,
+ y: view.a.y,
+ },
+ b: view.b,
+ },
+ ]
+ } else {
+ let mid_y = (view.a.y + view.b.y) / 2;
+ [
+ View {
+ a: view.a,
+ b: P2 {
+ x: view.b.x,
+ y: mid_y,
+ },
+ },
+ View {
+ a: P2 {
+ x: view.a.x,
+ y: mid_y,
+ },
+ b: view.b,
+ },
+ ]
+ }
+}