#ifndef FindIndicator_h
#define FindIndicator_h
#include "ShareableBitmap.h"
#include <WebCore/FloatRect.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
namespace WebCore {
class GraphicsContext;
}
namespace WebKit {
class FindIndicator : public RefCounted<FindIndicator> {
public:
static PassRefPtr<FindIndicator> create(const WebCore::FloatRect& selectionRectInWindowCoordinates, const Vector<WebCore::FloatRect>& textRectsInSelectionRectCoordinates, float contentImageScaleFactor, const ShareableBitmap::Handle& contentImageHandle);
~FindIndicator();
WebCore::FloatRect selectionRectInWindowCoordinates() const { return m_selectionRectInWindowCoordinates; }
WebCore::FloatRect frameRect() const;
const Vector<WebCore::FloatRect>& textRects() const { return m_textRectsInSelectionRectCoordinates; }
ShareableBitmap* contentImage() const { return m_contentImage.get(); }
void draw(WebCore::GraphicsContext&, const WebCore::IntRect& dirtyRect);
private:
FindIndicator(const WebCore::FloatRect& selectionRect, const Vector<WebCore::FloatRect>& textRects, float contentImageScaleFactor, PassRefPtr<ShareableBitmap> contentImage);
WebCore::FloatRect m_selectionRectInWindowCoordinates;
Vector<WebCore::FloatRect> m_textRectsInSelectionRectCoordinates;
float m_contentImageScaleFactor;
RefPtr<ShareableBitmap> m_contentImage;
};
}
#endif // FindIndicator_h