Fixed graph when dpi is different than 1
This commit is contained in:
parent
c5f7ddf266
commit
e47b6719eb
@ -30,6 +30,7 @@ import androidx.compose.ui.input.key.*
|
|||||||
import androidx.compose.ui.input.pointer.PointerIcon
|
import androidx.compose.ui.input.pointer.PointerIcon
|
||||||
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
import androidx.compose.ui.input.pointer.PointerIconDefaults
|
||||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||||
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
import androidx.compose.ui.text.font.FontStyle
|
import androidx.compose.ui.text.font.FontStyle
|
||||||
@ -857,6 +858,10 @@ fun CommitsGraphLine(
|
|||||||
val passingLanes = plotCommit.passingLanes
|
val passingLanes = plotCommit.passingLanes
|
||||||
val forkingOffLanes = plotCommit.forkingOffLanes
|
val forkingOffLanes = plotCommit.forkingOffLanes
|
||||||
val mergingLanes = plotCommit.mergingLanes
|
val mergingLanes = plotCommit.mergingLanes
|
||||||
|
val density = LocalDensity.current.density
|
||||||
|
val laneWidthWithDensity = remember(density) {
|
||||||
|
LANE_WIDTH * density
|
||||||
|
}
|
||||||
|
|
||||||
Box(
|
Box(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
@ -871,40 +876,40 @@ fun CommitsGraphLine(
|
|||||||
if (plotCommit.childCount > 0) {
|
if (plotCommit.childCount > 0) {
|
||||||
drawLine(
|
drawLine(
|
||||||
color = colors[itemPosition % colors.size],
|
color = colors[itemPosition % colors.size],
|
||||||
start = Offset(30f * (itemPosition + 1), this.center.y),
|
start = Offset( laneWidthWithDensity * (itemPosition + 1), this.center.y),
|
||||||
end = Offset(30f * (itemPosition + 1), 0f),
|
end = Offset( laneWidthWithDensity * (itemPosition + 1), 0f),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
forkingOffLanes.forEach { plotLane ->
|
forkingOffLanes.forEach { plotLane ->
|
||||||
drawLine(
|
drawLine(
|
||||||
color = colors[plotLane.position % colors.size],
|
color = colors[plotLane.position % colors.size],
|
||||||
start = Offset(30f * (itemPosition + 1), this.center.y),
|
start = Offset(laneWidthWithDensity * (itemPosition + 1), this.center.y),
|
||||||
end = Offset(30f * (plotLane.position + 1), 0f),
|
end = Offset(laneWidthWithDensity * (plotLane.position + 1), 0f),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
mergingLanes.forEach { plotLane ->
|
mergingLanes.forEach { plotLane ->
|
||||||
drawLine(
|
drawLine(
|
||||||
color = colors[plotLane.position % colors.size],
|
color = colors[plotLane.position % colors.size],
|
||||||
start = Offset(30f * (plotLane.position + 1), this.size.height),
|
start = Offset(laneWidthWithDensity * (plotLane.position + 1), this.size.height),
|
||||||
end = Offset(30f * (itemPosition + 1), this.center.y),
|
end = Offset(laneWidthWithDensity * (itemPosition + 1), this.center.y),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plotCommit.parentCount > 0) {
|
if (plotCommit.parentCount > 0) {
|
||||||
drawLine(
|
drawLine(
|
||||||
color = colors[itemPosition % colors.size],
|
color = colors[itemPosition % colors.size],
|
||||||
start = Offset(30f * (itemPosition + 1), this.center.y),
|
start = Offset(laneWidthWithDensity * (itemPosition + 1), this.center.y),
|
||||||
end = Offset(30f * (itemPosition + 1), this.size.height),
|
end = Offset(laneWidthWithDensity * (itemPosition + 1), this.size.height),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
passingLanes.forEach { plotLane ->
|
passingLanes.forEach { plotLane ->
|
||||||
drawLine(
|
drawLine(
|
||||||
color = colors[plotLane.position % colors.size],
|
color = colors[plotLane.position % colors.size],
|
||||||
start = Offset(30f * (plotLane.position + 1), 0f),
|
start = Offset(laneWidthWithDensity * (plotLane.position + 1), 0f),
|
||||||
end = Offset(30f * (plotLane.position + 1), this.size.height),
|
end = Offset(laneWidthWithDensity * (plotLane.position + 1), this.size.height),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -941,6 +946,11 @@ fun UncommitedChangesGraphNode(
|
|||||||
hasPreviousCommits: Boolean,
|
hasPreviousCommits: Boolean,
|
||||||
isSelected: Boolean,
|
isSelected: Boolean,
|
||||||
) {
|
) {
|
||||||
|
val density = LocalDensity.current.density
|
||||||
|
println("Density is $density")
|
||||||
|
val laneWidthWithDensity = remember(density) {
|
||||||
|
LANE_WIDTH * density
|
||||||
|
}
|
||||||
Box(
|
Box(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.backgroundIf(isSelected, MaterialTheme.colors.backgroundSelected)
|
.backgroundIf(isSelected, MaterialTheme.colors.backgroundSelected)
|
||||||
@ -952,14 +962,14 @@ fun UncommitedChangesGraphNode(
|
|||||||
|
|
||||||
if (hasPreviousCommits) drawLine(
|
if (hasPreviousCommits) drawLine(
|
||||||
color = colors[0],
|
color = colors[0],
|
||||||
start = Offset(30f, this.center.y),
|
start = Offset(laneWidthWithDensity, this.center.y),
|
||||||
end = Offset(30f, this.size.height),
|
end = Offset(laneWidthWithDensity, this.size.height),
|
||||||
)
|
)
|
||||||
|
|
||||||
drawCircle(
|
drawCircle(
|
||||||
color = colors[0],
|
color = colors[0],
|
||||||
radius = 15f,
|
radius = 15f,
|
||||||
center = Offset(30f, this.center.y),
|
center = Offset(laneWidthWithDensity, this.center.y),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user