Don't add the grey outline when hovering a selected highlight

When playing with a pen, I noticed that sometimes a free highlight has still its
gray outline when an other one is drawn: for any reason the pointerleave event isn't
triggered.
This commit is contained in:
Calixte Denizet 2024-10-10 13:38:08 +02:00
parent 233ac1773d
commit fa7df01568
3 changed files with 11 additions and 11 deletions

View File

@ -734,14 +734,6 @@ class AnnotationEditorLayer {
this.#uiManager.toggleSelected(editor); this.#uiManager.toggleSelected(editor);
} }
/**
* Check if the editor is selected.
* @param {AnnotationEditor} editor
*/
isSelected(editor) {
return this.#uiManager.isSelected(editor);
}
/** /**
* Unselect an editor. * Unselect an editor.
* @param {AnnotationEditor} editor * @param {AnnotationEditor} editor

View File

@ -1109,6 +1109,10 @@ class AnnotationEditor {
this.#selectOnPointerEvent(event); this.#selectOnPointerEvent(event);
} }
get isSelected() {
return this._uiManager.isSelected(this);
}
#selectOnPointerEvent(event) { #selectOnPointerEvent(event) {
const { isMac } = FeatureTest.platform; const { isMac } = FeatureTest.platform;
if ( if (
@ -1123,7 +1127,7 @@ class AnnotationEditor {
} }
#setUpDragSession(event) { #setUpDragSession(event) {
const isSelected = this._uiManager.isSelected(this); const { isSelected } = this;
this._uiManager.setUpDragSession(); this._uiManager.setUpDragSession();
const ac = new AbortController(); const ac = new AbortController();

View File

@ -596,11 +596,15 @@ class HighlightEditor extends AnnotationEditor {
} }
pointerover() { pointerover() {
this.parent.drawLayer.addClass(this.#outlineId, "hovered"); if (!this.isSelected) {
this.parent.drawLayer.addClass(this.#outlineId, "hovered");
}
} }
pointerleave() { pointerleave() {
this.parent.drawLayer.removeClass(this.#outlineId, "hovered"); if (!this.isSelected) {
this.parent.drawLayer.removeClass(this.#outlineId, "hovered");
}
} }
#keydown(event) { #keydown(event) {