diff options
Diffstat (limited to 'chromium/ppapi/cpp/private/find_private.h')
-rw-r--r-- | chromium/ppapi/cpp/private/find_private.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/chromium/ppapi/cpp/private/find_private.h b/chromium/ppapi/cpp/private/find_private.h new file mode 100644 index 00000000000..268033b6218 --- /dev/null +++ b/chromium/ppapi/cpp/private/find_private.h @@ -0,0 +1,66 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PPAPI_CPP_PRIVATE_FIND_PRIVATE_H_ +#define PPAPI_CPP_PRIVATE_FIND_PRIVATE_H_ + +#include <string> +#include <vector> + +#include "ppapi/c/private/ppp_find_private.h" +#include "ppapi/cpp/instance_handle.h" + +namespace pp { + +class Instance; +class Rect; + +// This class allows you to associate the PPP_Find and PPB_Find C-based +// interfaces with an object. It associates itself with the given instance, and +// registers as the global handler for handling the PPP_Find interface that the +// browser calls. +// +// You would typically use this either via inheritance on your instance: +// class MyInstance : public pp::Instance, public pp::Find_Private { +// class MyInstance() : pp::Find_Private(this) { +// } +// ... +// }; +// +// or by composition: +// class MyFinder : public pp::Find { +// ... +// }; +// +// class MyInstance : public pp::Instance { +// MyInstance() : finder_(this) { +// } +// +// MyFinder finder_; +// }; +class Find_Private { + public: + // The instance parameter must outlive this class. + Find_Private(Instance* instance); + virtual ~Find_Private(); + + // PPP_Find_Private functions exposed as virtual functions for you to + // override. + virtual bool StartFind(const std::string& text, bool case_sensitive) = 0; + virtual void SelectFindResult(bool forward) = 0; + virtual void StopFind() = 0; + + // PPB_Find_Private functions for you to call to report find results. + void SetPluginToHandleFindRequests(); + void NumberOfFindResultsChanged(int32_t total, bool final_result); + void SelectedFindResultChanged(int32_t index); + void SetTickmarks(const std::vector<pp::Rect>& tickmarks); + + private: + InstanceHandle associated_instance_; +}; + +} // namespace pp + +#endif // PPAPI_CPP_PRIVATE_FIND_PRIVATE_H_ |