Skip to content
Snippets Groups Projects
Commit e750ff7c authored by Tiger Wang's avatar Tiger Wang Committed by Tiger Wang
Browse files

Populate stroke attributes

parent 14ce4aba
No related branches found
No related tags found
No related merge requests found
......@@ -10,6 +10,7 @@ let disableSend = false
const divulgedUpTo = new Map()
const pointPresenceMap = new Map()
const pathIDsByXCDPIdentifier = new Map()
const attributesByXCDPIdentifier = new Map()
const onRoomConnect = (room_) => {
room = room_
......@@ -70,7 +71,6 @@ const onRoomConnect = (room_) => {
room.addEventListener(
"removedIntervalsChange",
({ detail: { id, intervals } }) => {
const points = room.getPathPoints(id)
extendPointPresenceMapFor(id, points.length)
......@@ -89,7 +89,17 @@ const onRoomConnect = (room_) => {
return
}
const initialPoint = [message.start[0], message.start[1], 5, "#000000"]
const r = parseColourComponent(message.colour[0])
const g = parseColourComponent(message.colour[1])
const b = parseColourComponent(message.colour[2])
const attributes = { weight: message.weight, colour: "#" + r + g + b }
const initialPoint = [
message.start[0],
message.start[1],
attributes.weight,
attributes.colour,
]
attributesByXCDPIdentifier.set(message.identifier, attributes)
disableSend = true
pathIDsByXCDPIdentifier.set(
message.identifier,
......@@ -103,10 +113,11 @@ const onRoomConnect = (room_) => {
return
}
const attributes = attributesByXCDPIdentifier.get(message.identifier)
disableSend = true
for (const index in message.points) {
const point = message.points[index]
const toAdd = [point[0], point[1], 5, "#000000"]
const toAdd = [point[0], point[1], attributes.weight, attributes.colour]
room.extendPath(ourID, toAdd)
}
disableSend = false
......@@ -118,7 +129,9 @@ const onRoomConnect = (room_) => {
const offset = parseInt(message.start_offset)
extendPointPresenceMapFor(ourID, offset)
room.extendErasureIntervals(ourID, offset, [[message.start_offset - offset, message.end_offset - offset]])
room.extendErasureIntervals(ourID, offset, [
[message.start_offset - offset, message.end_offset - offset],
])
}
})
}
......@@ -145,13 +158,17 @@ const XCDPIdentifierFrom = (lineID) => {
throw new Error("XCDP identifier unexpectedly not present")
}
function parseColourComponent(component) {
return component.toString(16).padStart(2, "0")
}
const deleteInterval = (lineID, offset, interval) => {
const bLine = pointPresenceMap.get(lineID)
if (!bLine[offset]) {
return
}
/* if (
/* if (
offset > 0 &&
bLine[offset - 1] &&
offset < bLine.length - 1 &&
......@@ -176,11 +193,11 @@ const deleteInterval = (lineID, offset, interval) => {
type: "DELETE",
identifier: messageID,
start_offset: offset + start,
end_offset: offset + end
end_offset: offset + end,
}),
)
if ((end - start) === 1) {
if (end - start === 1) {
bLine[offset] = false
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment