v0.9.19
This commit is contained in:
@@ -1168,26 +1168,25 @@ class ZoomManager(QObject):
|
||||
v_point = viewport.mapFrom(self.viewer, focus_point)
|
||||
c_point = self.viewer.canvas.mapFrom(viewport, v_point)
|
||||
else:
|
||||
# 1. Determinar el punto de enfoque en coordenadas del viewport
|
||||
# 1. Determine focus point in viewport coordinates
|
||||
scroll_area = self.viewer.scroll_area
|
||||
viewport = scroll_area.viewport()
|
||||
|
||||
if focus_point is None:
|
||||
v_point = viewport.rect().center()
|
||||
else:
|
||||
# focus_point es relativo al widget self.viewer (ImageViewer o
|
||||
# ImagePane)
|
||||
# focus_point is relative to the self.viewer widget
|
||||
# (ImageViewer or ImagePane)
|
||||
v_point = viewport.mapFrom(self.viewer, focus_point)
|
||||
|
||||
# 2. Mapear el punto de enfoque a coordenadas del canvas antes del zoom
|
||||
# 2. Map focus point to canvas coordinates before zoom
|
||||
c_point = self.viewer.canvas.mapFrom(viewport, v_point)
|
||||
|
||||
self.viewer.controller.zoom_factor *= factor
|
||||
# Aplicar la actualización (esto redimensiona el canvas)
|
||||
# Apply update (this resizes the canvas)
|
||||
self.viewer.update_view(resize_win=(not self.viewer.isFullScreen()))
|
||||
|
||||
# 3. Ajustar las barras de desplazamiento para mantener el píxel bajo el
|
||||
# cursor
|
||||
# 3. Adjust scrollbars to maintain pixel under cursor
|
||||
scroll_area.horizontalScrollBar().setValue(
|
||||
int(c_point.x() * factor - v_point.x()))
|
||||
scroll_area.verticalScrollBar().setValue(
|
||||
|
||||
Reference in New Issue
Block a user