Панель статуса сдвигается к носу вместе с контейнером (panelOffsetX): центр панели = центр контейнера
This commit is contained in:
@@ -6,6 +6,7 @@ import pw.binom.viewmate.glasses.ui.Side
|
||||
import pw.binom.viewmate.glasses.ui.scaleOffsetX
|
||||
import pw.binom.viewmate.glasses.ui.verticalOffsetY
|
||||
import pw.binom.viewmate.glasses.ui.videoOffsetY
|
||||
import pw.binom.viewmate.glasses.ui.panelOffsetX
|
||||
|
||||
/**
|
||||
* scaleOffsetX — смещение контейнера глаза к центру (к носу):
|
||||
@@ -88,4 +89,29 @@ class ScaleOffsetTest {
|
||||
fun videoLargerThanContainer_noNegativeOffset() {
|
||||
assertEquals(0, videoOffsetY(200, 268, 0f), "видео выше контейнера — хода нет")
|
||||
}
|
||||
|
||||
/*
|
||||
* panelOffsetX — панель статуса сдвигается к носу, как контейнер:
|
||||
* LEFT — вправо, RIGHT — влево, на (1 - scale) * W / 2.
|
||||
*/
|
||||
|
||||
@Test
|
||||
fun panelFullScale_noOffset() {
|
||||
assertEquals(0, panelOffsetX(Side.LEFT, 640, 1f))
|
||||
assertEquals(0, panelOffsetX(Side.RIGHT, 640, 1f))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun panelHalfScale_movesTowardNose() {
|
||||
// 640 * 0.5 / 2 = 160: LEFT вправо, RIGHT влево
|
||||
assertEquals(160, panelOffsetX(Side.LEFT, 640, 0.5f))
|
||||
assertEquals(-160, panelOffsetX(Side.RIGHT, 640, 0.5f))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun panelScale07_offset() {
|
||||
// 640 * 0.3 / 2 = 96
|
||||
assertEquals(96, panelOffsetX(Side.LEFT, 640, 0.7f))
|
||||
assertEquals(-96, panelOffsetX(Side.RIGHT, 640, 0.7f))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user