Fix mouse offset for high resolution displays.
This commit is contained in:
parent
50499653d5
commit
383f511fe4
@ -136,14 +136,17 @@ const INTERFACE = {
|
||||
|
||||
INTERFACE_DATA.hover = null;
|
||||
|
||||
let mouse_x = event.offsetX * (window.devicePixelRatio || 1);
|
||||
let mouse_y = event.offsetY * (window.devicePixelRatio || 1);
|
||||
|
||||
// Handle board area
|
||||
if(event.offsetY >= INTERFACE_DATA.Render.margin.t && event.offsetY < INTERFACE_DATA.Render.margin.l + INTERFACE_DATA.Render.area.y) {
|
||||
if(event.offsetX >= INTERFACE_DATA.Render.offset.x && event.offsetX < INTERFACE_DATA.Render.offset.x + INTERFACE_DATA.Render.board_width) {
|
||||
if(mouse_y >= INTERFACE_DATA.Render.margin.t && mouse_y < INTERFACE_DATA.Render.margin.l + INTERFACE_DATA.Render.area.y) {
|
||||
if(mouse_x >= INTERFACE_DATA.Render.offset.x && mouse_x < INTERFACE_DATA.Render.offset.x + INTERFACE_DATA.Render.board_width) {
|
||||
|
||||
let basis_x = INTERFACE_DATA.Render.offset.x + halfradius;
|
||||
let basis_y = INTERFACE_DATA.Render.offset.y + (14 * apothem);
|
||||
|
||||
let x = (event.offsetX - basis_x) / grid_offset_x;
|
||||
let x = (mouse_x - basis_x) / grid_offset_x;
|
||||
let y = -(event.offsetY - basis_y) / apothem;
|
||||
|
||||
let kx = Math.floor(x);
|
||||
@ -169,12 +172,12 @@ const INTERFACE = {
|
||||
}
|
||||
|
||||
// Handle pool area
|
||||
else if(event.offsetX >= INTERFACE_DATA.Render.pool_offset && event.offsetX < INTERFACE_DATA.Render.offset.x + INTERFACE_DATA.Render.area.x) {
|
||||
else if(mouse_x >= INTERFACE_DATA.Render.pool_offset && mouse_x < INTERFACE_DATA.Render.offset.x + INTERFACE_DATA.Render.area.x) {
|
||||
|
||||
let basis_x = INTERFACE_DATA.Render.pool_offset + halfradius;
|
||||
let basis_y = INTERFACE_DATA.Render.offset.y + (3 * apothem);
|
||||
|
||||
let x = (event.offsetX - basis_x) / grid_offset_x;
|
||||
let x = (mouse_x - basis_x) / grid_offset_x;
|
||||
let y = (event.offsetY - basis_y) / apothem;
|
||||
|
||||
let kx = Math.floor(x);
|
||||
|
Loading…
x
Reference in New Issue
Block a user