| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- #include <Polycode.h>
- #include <Awesomium/WebCore.h>
- using namespace Polycode;
- class PolycodeWebViewEvent : public Event {
- public:
- PolycodeWebViewEvent() : Event() {}
-
- static const int CALLBACK_EVENT = 0;
-
- String objectName;
- String callbackName;
- std::vector <String> args;
- };
- class PolycodeWebView : public Awesomium::WebViewListener, public EventDispatcher {
- public:
- PolycodeWebView(unsigned int width, unsigned int height, String url);
- ~PolycodeWebView();
- void Update();
-
- void loadURL(String url);
-
- void Resize(unsigned int width, unsigned int height);
-
- Texture *getRenderTexture();
-
- void mouseMove(Number x, Number y);
- void mouseDown(Number x, Number y);
- void mouseUp(Number x, Number y);
- void keyDown(PolyKEY key);
-
- void injectKey(int keyCode);
-
- // ** The following methods are inherited from WebViewListener:
- virtual void onBeginNavigation(Awesomium::WebView* caller,
- const std::string& url,
- const std::wstring& frameName) {}
-
- virtual void onBeginLoading(Awesomium::WebView* caller,
- const std::string& url,
- const std::wstring& frameName,
- int statusCode, const std::wstring& mimeType) {}
-
- virtual void onFinishLoading(Awesomium::WebView* caller) {}
-
- virtual void onCallback(Awesomium::WebView* caller,
- const std::wstring& objectName,
- const std::wstring& callbackName,
- const Awesomium::JSArguments& args);
-
- virtual void onReceiveTitle(Awesomium::WebView* caller,
- const std::wstring& title,
- const std::wstring& frameName) {}
-
- virtual void onChangeTooltip(Awesomium::WebView* caller,
- const std::wstring& tooltip) {}
-
- virtual void onChangeCursor(Awesomium::WebView* caller,
- Awesomium::CursorType cursor) {}
- virtual void onChangeKeyboardFocus(Awesomium::WebView* caller,
- bool isFocused) {}
-
- virtual void onChangeTargetURL(Awesomium::WebView* caller,
- const std::string& url) {}
-
- virtual void onOpenExternalLink(Awesomium::WebView* caller,
- const std::string& url,
- const std::wstring& source) {}
- virtual void onRequestDownload(Awesomium::WebView* caller,
- const std::string& url) {}
-
- virtual void onWebViewCrashed(Awesomium::WebView* caller) {}
-
- virtual void onPluginCrashed(Awesomium::WebView* caller,
- const std::wstring& pluginName) {}
-
- virtual void onRequestMove(Awesomium::WebView* caller, int x, int y) {}
-
- virtual void onGetPageContents(Awesomium::WebView* caller,
- const std::string& url,
- const std::wstring& contents) {}
-
- virtual void onDOMReady(Awesomium::WebView* caller) {}
- virtual void onRequestFileChooser(Awesomium::WebView* caller,
- bool selectMultipleFiles,
- const std::wstring& title,
- const std::wstring& defaultPath) {}
- virtual void onGetScrollData(Awesomium::WebView* caller,
- int contentWidth,
- int contentHeight,
- int preferredWidth,
- int scrollX,
- int scrollY) {}
- virtual void onJavascriptConsoleMessage(Awesomium::WebView* caller,
- const std::wstring& message,
- int lineNumber,
- const std::wstring& source) {}
- virtual void onGetFindResults(Awesomium::WebView* caller,
- int requestID,
- int numMatches,
- const Awesomium::Rect& selection,
- int curMatch,
- bool finalUpdate) {}
- virtual void onUpdateIME(Awesomium::WebView* caller,
- Awesomium::IMEState imeState,
- const Awesomium::Rect& caretRect) {}
- virtual void onShowContextMenu(Awesomium::WebView* caller,
- int mouseX,
- int mouseY,
- Awesomium::MediaType type,
- int mediaState,
- const std::string& linkURL,
- const std::string& srcURL,
- const std::string& pageURL,
- const std::string& frameURL,
- const std::wstring& selectionText,
- bool isEditable,
- int editFlags) {}
- virtual void onRequestLogin(Awesomium::WebView* caller,
- int requestID,
- const std::string& requestURL,
- bool isProxy,
- const std::wstring& hostAndPort,
- const std::wstring& scheme,
- const std::wstring& realm) {}
- virtual void onChangeHistory(Awesomium::WebView* caller,
- int backCount,
- int forwardCount) {}
- virtual void onFinishResize(Awesomium::WebView* caller,
- int width,
- int height) {}
- virtual void onShowJavascriptDialog(Awesomium::WebView* caller,
- int requestID,
- int dialogFlags,
- const std::wstring& message,
- const std::wstring& defaultPrompt,
- const std::string& frameURL) {}
-
- protected:
-
- int width, height;
-
- Texture *renderTexture;
-
- Awesomium::WebView* webView;
- Awesomium::WebCore* webCore;
- };
|