code: def test_point_picking_window(pickable_window):
      class Tracker:
          def __init__(self):
              self.last_picked = None
  
          def __call__(self, picked_point):
              self.last_picked = picked_point
  
      pl = pv.Plotter(
          window_size=(100, 100),
      )
  
      # bottom left corner, pickable
      sphere = pv.Sphere()
      sphere.translate([-1, -1, 0], inplace=True)
      pl.add_mesh(sphere, pickable=True)
  
      pl.camera_position = [
          (0.0, 0.0, 8.5),
          (0.0, 0.0, 0.0),
          (0.0, 1.0, 0.0),
      ]
  
      tracker = Tracker()
      pl.enable_point_picking(
          callback=tracker,
          tolerance=0.2,
          pickable_window=pickable_window,
          picker="hardware",  # picker allows picking in the window
          # do not use point picker as it snaps to points
      )
  
      # simulate the pick
      renderer = pl.renderer
      picker = pl.iren.picker
  
      successful_pick = picker.Pick(25, 25, 0, renderer)
      assert successful_pick  # not a complete test
      assert tracker.last_picked is not None
      good_point = tracker.last_picked
  
      successful_pick = picker.Pick(75, 75, 0, renderer)
      assert not successful_pick  # not a complete test
      if pickable_window:
          assert not np.allclose(
              tracker.last_picked, good_point
          )  # make sure new point picked
      else:
          assert np.allclose(
              tracker.last_picked, good_point
          )  # make sure point did not change
  
      pl.close()
  
imports: import os
  import numpy
  import pytest
  import vtk
  import pyvista
  from pyvista.plotting.errors import PyVistaPickingError
label_desc: Use image node_id 10 for calling a global function with example usage: test_point_picking_window(pickable_window) without return types