1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_BROWSER_DEVTOOLS_PROTOCOL_COLOR_PICKER_H_
6 #define CONTENT_BROWSER_DEVTOOLS_PROTOCOL_COLOR_PICKER_H_
8 #include "base/callback.h"
9 #include "content/public/browser/render_widget_host.h"
10 #include "third_party/skia/include/core/SkBitmap.h"
18 class RenderViewHostImpl;
25 typedef base::Callback<void(int, int, int, int)> ColorPickedCallback;
27 explicit ColorPicker(ColorPickedCallback callback);
28 virtual ~ColorPicker();
30 void SetRenderViewHost(RenderViewHostImpl* host);
31 void SetEnabled(bool enabled);
32 void OnSwapCompositorFrame();
37 void FrameUpdated(bool succeeded, const SkBitmap& bitmap);
38 bool HandleMouseEvent(const blink::WebMouseEvent& event);
41 ColorPickedCallback callback_;
46 RenderWidgetHost::MouseEventCallback mouse_event_callback_;
47 RenderViewHostImpl* host_;
48 base::WeakPtrFactory<ColorPicker> weak_factory_;
50 DISALLOW_COPY_AND_ASSIGN(ColorPicker);
54 } // namespace devtools
55 } // namespace content
57 #endif // CONTENT_BROWSER_DEVTOOLS_PROTOCOL_COLOR_PICKER_H_