web: Trigger right click when long touching area
This commit is contained in:
parent
c79321b550
commit
5d53417683
30
dist/web/source/wasm-config.js
vendored
30
dist/web/source/wasm-config.js
vendored
@ -187,6 +187,36 @@ var Module = {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
|
// Turn long touches into right-clicks
|
||||||
|
let timer = null;
|
||||||
|
canvas.addEventListener('touchstart', event => {
|
||||||
|
timer = setTimeout(() => {
|
||||||
|
let eventArgs = {
|
||||||
|
bubbles: true,
|
||||||
|
cancelable: true,
|
||||||
|
view: window,
|
||||||
|
screenX: event.touches[0].screenX,
|
||||||
|
screenY: event.touches[0].screenY,
|
||||||
|
clientX: event.touches[0].clientX,
|
||||||
|
clientY: event.touches[0].clientY,
|
||||||
|
button: 2,
|
||||||
|
buttons: 2,
|
||||||
|
relatedTarget: event.target,
|
||||||
|
region: event.region
|
||||||
|
}
|
||||||
|
|
||||||
|
canvas.dispatchEvent(new MouseEvent('mousedown', eventArgs));
|
||||||
|
canvas.dispatchEvent(new MouseEvent('mouseup', eventArgs));
|
||||||
|
}, 400);
|
||||||
|
});
|
||||||
|
|
||||||
|
canvas.addEventListener('touchend', event => {
|
||||||
|
if (timer) {
|
||||||
|
clearTimeout(timer);
|
||||||
|
timer = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (typeof WebGL2RenderingContext !== 'undefined') {
|
if (typeof WebGL2RenderingContext !== 'undefined') {
|
||||||
let gl = canvas.getContext('webgl2', { stencil: true });
|
let gl = canvas.getContext('webgl2', { stencil: true });
|
||||||
if (!gl) {
|
if (!gl) {
|
||||||
|
@ -492,7 +492,7 @@ namespace hex::plugin::builtin {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui::IsMouseDown(ImGuiMouseButton_Right) && ImGui::IsItemHovered()) {
|
if (ImGui::IsMouseDown(ImGuiMouseButton_Right) && ImGui::IsItemHovered() && !ImGui::IsMouseDragging(ImGuiMouseButton_Right)) {
|
||||||
rightClickedProvider = tabProvider;
|
rightClickedProvider = tabProvider;
|
||||||
RequestOpenPopup::post("ProviderMenu");
|
RequestOpenPopup::post("ProviderMenu");
|
||||||
}
|
}
|
||||||
|
@ -597,7 +597,7 @@ namespace hex::plugin::builtin {
|
|||||||
|
|
||||||
void ViewDataProcessor::drawContextMenus(ViewDataProcessor::Workspace &workspace) {
|
void ViewDataProcessor::drawContextMenus(ViewDataProcessor::Workspace &workspace) {
|
||||||
// Handle the right click context menus
|
// Handle the right click context menus
|
||||||
if (ImGui::IsMouseDown(ImGuiMouseButton_Right) && ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows)) {
|
if (ImGui::IsMouseDown(ImGuiMouseButton_Right) && ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows) && !ImGui::IsMouseDragging(ImGuiMouseButton_Right)) {
|
||||||
// Clear selections
|
// Clear selections
|
||||||
ImNodes::ClearNodeSelection();
|
ImNodes::ClearNodeSelection();
|
||||||
ImNodes::ClearLinkSelection();
|
ImNodes::ClearLinkSelection();
|
||||||
|
@ -629,7 +629,7 @@ namespace hex::plugin::builtin {
|
|||||||
ImGui::PopStyleVar();
|
ImGui::PopStyleVar();
|
||||||
|
|
||||||
// Right click menu
|
// Right click menu
|
||||||
if (ImGui::IsMouseDown(ImGuiMouseButton_Right) && ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows) && !ImGui::IsAnyItemHovered())
|
if (ImGui::IsMouseDown(ImGuiMouseButton_Right) && ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows) && !ImGui::IsAnyItemHovered() && !ImGui::IsMouseDragging(ImGuiMouseButton_Right))
|
||||||
RequestOpenPopup::post("hex.builtin.menu.edit");
|
RequestOpenPopup::post("hex.builtin.menu.edit");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ namespace hex::plugin::builtin {
|
|||||||
|
|
||||||
m_textEditor.Render("hex.builtin.view.pattern_editor.name"_lang, textEditorSize, true);
|
m_textEditor.Render("hex.builtin.view.pattern_editor.name"_lang, textEditorSize, true);
|
||||||
TextEditor::FindReplaceHandler *findReplaceHandler = m_textEditor.GetFindReplaceHandler();
|
TextEditor::FindReplaceHandler *findReplaceHandler = m_textEditor.GetFindReplaceHandler();
|
||||||
if (ImGui::IsItemClicked(ImGuiMouseButton_Right)) {
|
if (ImGui::IsMouseDown(ImGuiMouseButton_Right) && ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows) && !ImGui::IsMouseDragging(ImGuiMouseButton_Right)) {
|
||||||
ImGui::OpenPopup("##pattern_editor_context_menu");
|
ImGui::OpenPopup("##pattern_editor_context_menu");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user