mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
d8e66dd689
We could expose the text recognition values to JS if need be, but there's no reason to do that for now. We expose them via the UA widget DOM for now. We can trivially do that if we want to build the Shadow DOM in JS or what not. I decided to still return a promise so that we can expose errors though. Differential Revision: https://phabricator.services.mozilla.com/D141113
51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef mozilla_widget_nsTextRecognition__
|
|
#define mozilla_widget_nsTextRecognition__
|
|
|
|
#include "mozilla/MozPromise.h"
|
|
#include "mozilla/gfx/Point.h"
|
|
#include "nsTArray.h"
|
|
|
|
class imgIContainer;
|
|
namespace mozilla {
|
|
|
|
namespace dom {
|
|
class ShadowRoot;
|
|
class TextRecognitionResultOrError;
|
|
class TextRecognitionResult;
|
|
} // namespace dom
|
|
|
|
namespace gfx {
|
|
class SourceSurface;
|
|
class DataSourceSurface;
|
|
} // namespace gfx
|
|
|
|
namespace widget {
|
|
|
|
class TextRecognition final {
|
|
public:
|
|
using NativePromise = MozPromise<dom::TextRecognitionResult, nsCString,
|
|
/* IsExclusive = */ true>;
|
|
|
|
TextRecognition() = default;
|
|
|
|
static void FillShadow(dom::ShadowRoot&, const dom::TextRecognitionResult&);
|
|
|
|
static RefPtr<NativePromise> FindText(imgIContainer&);
|
|
static RefPtr<NativePromise> FindText(gfx::DataSourceSurface&);
|
|
|
|
protected:
|
|
// This should be implemented in the OS specific file.
|
|
static RefPtr<NativePromise> DoFindText(gfx::DataSourceSurface&);
|
|
|
|
~TextRecognition() = default;
|
|
};
|
|
|
|
} // namespace widget
|
|
} // namespace mozilla
|
|
|
|
#endif
|