package browser

import "fmt"

// CdpScroll desplaza la pagina via rueda del raton usando Input.dispatchMouseEvent.
// deltaY positivo desplaza hacia abajo; deltaX positivo desplaza hacia la derecha.
// El evento se despacha en las coordenadas (100, 100) del viewport, que
// generalmente cae sobre el contenido principal de la pagina.
func CdpScroll(c *CDPConn, deltaX, deltaY float64) error {
	if c == nil {
		return fmt.Errorf("cdp scroll: conexion nula")
	}

	params := map[string]any{
		"type":   "mouseWheel",
		"x":      100.0,
		"y":      100.0,
		"deltaX": deltaX,
		"deltaY": deltaY,
	}
	if _, err := c.sendCDP("Input.dispatchMouseEvent", params); err != nil {
		return fmt.Errorf("cdp scroll: %w", err)
	}

	return nil
}
