func (c *Overlay) SetShowScrollBottleneckRectsWithParams(v *OverlaySetShowScrollBottleneckRectsParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.setShowScrollBottleneckRects", Params: v})
}
SetShowScrollBottleneckRectsWithParams - Requests that backend shows scroll bottleneck rects
package gcdapi
import (
	"encoding/json"
	"github.com/wirepair/gcd/gcdmessage"
)
type OverlayHighlightConfig struct {
	ShowInfo           bool     `json:"showInfo,omitempty"`            
	ShowRulers         bool     `json:"showRulers,omitempty"`          
	ShowExtensionLines bool     `json:"showExtensionLines,omitempty"`  
	DisplayAsMaterial  bool     `json:"displayAsMaterial,omitempty"`   
	ContentColor       *DOMRGBA `json:"contentColor,omitempty"`        
	PaddingColor       *DOMRGBA `json:"paddingColor,omitempty"`        
	BorderColor        *DOMRGBA `json:"borderColor,omitempty"`         
	MarginColor        *DOMRGBA `json:"marginColor,omitempty"`         
	EventTargetColor   *DOMRGBA `json:"eventTargetColor,omitempty"`    
	ShapeColor         *DOMRGBA `json:"shapeColor,omitempty"`          
	ShapeMarginColor   *DOMRGBA `json:"shapeMarginColor,omitempty"`    
	SelectorList       string   `json:"selectorList,omitempty"`        
	CssGridColor       *DOMRGBA `json:"cssGridColor,omitempty"`        
}
type OverlayInspectNodeRequestedEvent struct {
	Method string `json:"method"`
	Params struct {
		BackendNodeId int `json:"backendNodeId"`  
	} `json:"Params,omitempty"`
}
type OverlayNodeHighlightRequestedEvent struct {
	Method string `json:"method"`
	Params struct {
		NodeId int `json:"nodeId"`  
	} `json:"Params,omitempty"`
}
type OverlayScreenshotRequestedEvent struct {
	Method string `json:"method"`
	Params struct {
		Viewport *PageViewport `json:"viewport"`  
	} `json:"Params,omitempty"`
}
type Overlay struct {
	target gcdmessage.ChromeTargeter
}
func NewOverlay(target gcdmessage.ChromeTargeter) *Overlay {
	c := &Overlay{target: target}
	return c
}
func (c *Overlay) Disable() (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.disable"})
}
func (c *Overlay) Enable() (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.enable"})
}
type OverlayGetHighlightObjectForTestParams struct {
	NodeId int `json:"nodeId"`
}
func (c *Overlay) GetHighlightObjectForTestWithParams(v *OverlayGetHighlightObjectForTestParams) (map[string]interface{}, error) {
	resp, err := gcdmessage.SendCustomReturn(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.getHighlightObjectForTest", Params: v})
	if err != nil {
		return nil, err
	}
	var chromeData struct {
		Result struct {
			Highlight map[string]interface{}
		}
	}
	if resp == nil {
		return nil, &gcdmessage.ChromeEmptyResponseErr{}
	}
	cerr := &gcdmessage.ChromeErrorResponse{}
	json.Unmarshal(resp.Data, cerr)
	if cerr != nil && cerr.Error != nil {
		return nil, &gcdmessage.ChromeRequestErr{Resp: cerr}
	}
	if err := json.Unmarshal(resp.Data, &chromeData); err != nil {
		return nil, err
	}
	return chromeData.Result.Highlight, nil
}
func (c *Overlay) GetHighlightObjectForTest(nodeId int) (map[string]interface{}, error) {
	var v OverlayGetHighlightObjectForTestParams
	v.NodeId = nodeId
	return c.GetHighlightObjectForTestWithParams(&v)
}
func (c *Overlay) HideHighlight() (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.hideHighlight"})
}
type OverlayHighlightFrameParams struct {
	FrameId string `json:"frameId"`
	ContentColor *DOMRGBA `json:"contentColor,omitempty"`
	ContentOutlineColor *DOMRGBA `json:"contentOutlineColor,omitempty"`
}
func (c *Overlay) HighlightFrameWithParams(v *OverlayHighlightFrameParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.highlightFrame", Params: v})
}
func (c *Overlay) HighlightFrame(frameId string, contentColor *DOMRGBA, contentOutlineColor *DOMRGBA) (*gcdmessage.ChromeResponse, error) {
	var v OverlayHighlightFrameParams
	v.FrameId = frameId
	v.ContentColor = contentColor
	v.ContentOutlineColor = contentOutlineColor
	return c.HighlightFrameWithParams(&v)
}
type OverlayHighlightNodeParams struct {
	HighlightConfig *OverlayHighlightConfig `json:"highlightConfig"`
	NodeId int `json:"nodeId,omitempty"`
	BackendNodeId int `json:"backendNodeId,omitempty"`
	ObjectId string `json:"objectId,omitempty"`
}
func (c *Overlay) HighlightNodeWithParams(v *OverlayHighlightNodeParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.highlightNode", Params: v})
}
func (c *Overlay) HighlightNode(highlightConfig *OverlayHighlightConfig, nodeId int, backendNodeId int, objectId string) (*gcdmessage.ChromeResponse, error) {
	var v OverlayHighlightNodeParams
	v.HighlightConfig = highlightConfig
	v.NodeId = nodeId
	v.BackendNodeId = backendNodeId
	v.ObjectId = objectId
	return c.HighlightNodeWithParams(&v)
}
type OverlayHighlightQuadParams struct {
	Quad []float64 `json:"quad"`
	Color *DOMRGBA `json:"color,omitempty"`
	OutlineColor *DOMRGBA `json:"outlineColor,omitempty"`
}
func (c *Overlay) HighlightQuadWithParams(v *OverlayHighlightQuadParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.highlightQuad", Params: v})
}
func (c *Overlay) HighlightQuad(quad []float64, color *DOMRGBA, outlineColor *DOMRGBA) (*gcdmessage.ChromeResponse, error) {
	var v OverlayHighlightQuadParams
	v.Quad = quad
	v.Color = color
	v.OutlineColor = outlineColor
	return c.HighlightQuadWithParams(&v)
}
type OverlayHighlightRectParams struct {
	X int `json:"x"`
	Y int `json:"y"`
	Width int `json:"width"`
	Height int `json:"height"`
	Color *DOMRGBA `json:"color,omitempty"`
	OutlineColor *DOMRGBA `json:"outlineColor,omitempty"`
}
func (c *Overlay) HighlightRectWithParams(v *OverlayHighlightRectParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.highlightRect", Params: v})
}
func (c *Overlay) HighlightRect(x int, y int, width int, height int, color *DOMRGBA, outlineColor *DOMRGBA) (*gcdmessage.ChromeResponse, error) {
	var v OverlayHighlightRectParams
	v.X = x
	v.Y = y
	v.Width = width
	v.Height = height
	v.Color = color
	v.OutlineColor = outlineColor
	return c.HighlightRectWithParams(&v)
}
type OverlaySetInspectModeParams struct {
	Mode string `json:"mode"`
	HighlightConfig *OverlayHighlightConfig `json:"highlightConfig,omitempty"`
}
func (c *Overlay) SetInspectModeWithParams(v *OverlaySetInspectModeParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.setInspectMode", Params: v})
}
func (c *Overlay) SetInspectMode(mode string, highlightConfig *OverlayHighlightConfig) (*gcdmessage.ChromeResponse, error) {
	var v OverlaySetInspectModeParams
	v.Mode = mode
	v.HighlightConfig = highlightConfig
	return c.SetInspectModeWithParams(&v)
}
type OverlaySetPausedInDebuggerMessageParams struct {
	Message string `json:"message,omitempty"`
}
func (c *Overlay) SetPausedInDebuggerMessageWithParams(v *OverlaySetPausedInDebuggerMessageParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.setPausedInDebuggerMessage", Params: v})
}
func (c *Overlay) SetPausedInDebuggerMessage(message string) (*gcdmessage.ChromeResponse, error) {
	var v OverlaySetPausedInDebuggerMessageParams
	v.Message = message
	return c.SetPausedInDebuggerMessageWithParams(&v)
}
type OverlaySetShowDebugBordersParams struct {
	Show bool `json:"show"`
}
func (c *Overlay) SetShowDebugBordersWithParams(v *OverlaySetShowDebugBordersParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.setShowDebugBorders", Params: v})
}
func (c *Overlay) SetShowDebugBorders(show bool) (*gcdmessage.ChromeResponse, error) {
	var v OverlaySetShowDebugBordersParams
	v.Show = show
	return c.SetShowDebugBordersWithParams(&v)
}
type OverlaySetShowFPSCounterParams struct {
	Show bool `json:"show"`
}
func (c *Overlay) SetShowFPSCounterWithParams(v *OverlaySetShowFPSCounterParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.setShowFPSCounter", Params: v})
}
func (c *Overlay) SetShowFPSCounter(show bool) (*gcdmessage.ChromeResponse, error) {
	var v OverlaySetShowFPSCounterParams
	v.Show = show
	return c.SetShowFPSCounterWithParams(&v)
}
type OverlaySetShowPaintRectsParams struct {
	Result bool `json:"result"`
}
func (c *Overlay) SetShowPaintRectsWithParams(v *OverlaySetShowPaintRectsParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Overlay.setShowPaintRects", Params: v})
}
func (c *Overlay) SetShowPaintRects(result bool) (*gcdmessage.ChromeResponse, error) {
	var v OverlaySetShowPaintRectsParams
	v.Result = result
	return c.SetShowPaintRectsWithParams(&v)
}
type OverlaySetShowScrollBottleneckRectsParams struct {
	Show bool `json:"show"`
}