def METHOD_NAME(self, ctx, trap_id, sx, sy):
    sprite, x, y, w, h = self.parent.sprite_provider.get_for_trap(
        trap_id,
        lambda: GLib.idle_add(self.parent.redraw)
    )
    ctx.translate(sx, sy)
    ctx.set_source_surface(sprite)
    ctx.paint()
    ctx.get_source().set_filter(cairo.Filter.NEAREST)
    ctx.translate(-sx, -sy)