15 #if defined __GNUC__ && __GNUC__ >= 8
16 # pragma GCC diagnostic ignored "-Wcast-function-type"
55 #if !defined(__cplusplus)
65 #if !defined(__cplusplus)
68 struct JsExecStateInfo;
73 #if defined(__cplusplus)
74 namespace wke {
class CWebView; };
77 namespace wke {
class CString; };
81 struct _tagWkeWebView;
122 typedef void* (*FILE_OPEN_) (
const char* path);
446 #define JS_CALL __fastcall
477 #if defined(__cplusplus)
482 virtual void destroy() = 0;
484 virtual const char*
name()
const = 0;
485 virtual void setName(
const char*
name) = 0;
487 virtual bool isTransparent()
const = 0;
490 virtual void loadURL(
const utf8* url) = 0;
491 virtual void loadURL(
const wchar_t* url) = 0;
493 virtual void loadHTML(
const utf8* html) = 0;
494 virtual void loadHTML(
const wchar_t* html) = 0;
497 virtual void loadFile(
const wchar_t* filename) = 0;
499 virtual const utf8* url()
const = 0;
501 virtual bool isLoading()
const = 0;
502 virtual bool isLoadingFailed()
const = 0;
503 virtual bool isLoadingSucceeded()
const = 0;
504 virtual bool isDocumentReady()
const = 0;
505 virtual void stopLoading() = 0;
506 virtual void reload() = 0;
508 virtual const utf8* title() = 0;
509 virtual const wchar_t* titleW() = 0;
511 virtual void resize(
int w,
int h) = 0;
512 virtual int width()
const = 0;
513 virtual int height()
const = 0;
515 virtual int contentsWidth()
const = 0;
516 virtual int contentsHeight()
const = 0;
518 virtual void setDirty(
bool dirty) = 0;
519 virtual bool isDirty()
const = 0;
520 virtual void addDirtyArea(
int x,
int y,
int w,
int h) = 0;
522 virtual void layoutIfNeeded() = 0;
523 virtual void paint(
void* bits,
int pitch) = 0;
525 virtual bool canGoBack()
const = 0;
526 virtual bool goBack() = 0;
527 virtual bool canGoForward()
const = 0;
528 virtual bool goForward() = 0;
530 virtual void editorSelectAll() = 0;
531 virtual void editorUnSelect() = 0;
532 virtual void editorCopy() = 0;
533 virtual void editorCut() = 0;
534 virtual void editorPaste() = 0;
535 virtual void editorDelete() = 0;
536 virtual void editorUndo() = 0;
537 virtual void editorRedo() = 0;
539 virtual void setCookieEnabled(
bool enable) = 0;
540 virtual bool isCookieEnabled()
const = 0;
542 virtual void setMediaVolume(
float volume) = 0;
543 virtual float mediaVolume()
const = 0;
545 virtual bool fireMouseEvent(
unsigned int message,
int x,
int y,
unsigned int flags) = 0;
546 virtual bool fireContextMenuEvent(
int x,
int y,
unsigned int flags) = 0;
547 virtual bool fireMouseWheelEvent(
int x,
int y,
int delta,
unsigned int flags) = 0;
548 virtual bool fireKeyUpEvent(
unsigned int virtualKeyCode,
unsigned int flags,
bool systemKey) = 0;
549 virtual bool fireKeyDownEvent(
unsigned int virtualKeyCode,
unsigned int flags,
bool systemKey) = 0;
550 virtual bool fireKeyPressEvent(
unsigned int virtualKeyCode,
unsigned int flags,
bool systemKey) = 0;
552 virtual void setFocus() = 0;
553 virtual void killFocus() = 0;
555 virtual wkeRect getCaret() = 0;
558 virtual jsValue runJS(
const wchar_t* script) = 0;
561 virtual void sleep() = 0;
562 virtual void wake() = 0;
563 virtual bool isAwake()
const = 0;
565 virtual void setZoomFactor(
float factor) = 0;
566 virtual float zoomFactor()
const = 0;
568 virtual void setEditable(
bool editable) = 0;
579 #define WKE_CALL_TYPE __cdecl
581 #define WKE_DEFINE_ITERATOR0(returnVal, name, description) \
582 typedef returnVal(WKE_CALL_TYPE* FN_##name)(); \
583 __declspec(selectany) FN_##name name = ((FN_##name)0);
585 #define WKE_DEFINE_ITERATOR1(returnVal, name, p1, description) \
586 typedef returnVal(WKE_CALL_TYPE* FN_##name)(p1); \
587 __declspec(selectany) FN_##name name = ((FN_##name)0);
589 #define WKE_DEFINE_ITERATOR2(returnVal, name, p1, p2, description) \
590 typedef returnVal(WKE_CALL_TYPE* FN_##name)(p1, p2); \
591 __declspec(selectany) FN_##name name = ((FN_##name)0);
593 #define WKE_DEFINE_ITERATOR3(returnVal, name, p1, p2, p3, description) \
594 typedef returnVal(WKE_CALL_TYPE* FN_##name)(p1, p2, p3); \
595 __declspec(selectany) FN_##name name = ((FN_##name)0);
597 #define WKE_DEFINE_ITERATOR4(returnVal, name, p1, p2, p3, p4, description) \
598 typedef returnVal(WKE_CALL_TYPE* FN_##name)(p1, p2, p3, p4); \
599 __declspec(selectany) FN_##name name = ((FN_##name)0);
601 #define WKE_DEFINE_ITERATOR5(returnVal, name, p1, p2, p3, p4, p5, description) \
602 typedef returnVal(WKE_CALL_TYPE* FN_##name)(p1, p2, p3, p4, p5); \
603 __declspec(selectany) FN_##name name = ((FN_##name)0);
605 #define WKE_DEFINE_ITERATOR6(returnVal, name, p1, p2, p3, p4, p5, p6, description) \
606 typedef returnVal(WKE_CALL_TYPE* FN_##name)(p1, p2, p3, p4, p5, p6); \
607 __declspec(selectany) FN_##name name = ((FN_##name)0);
609 #define WKE_DEFINE_ITERATOR11(returnVal, name, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, description) \
610 typedef returnVal(WKE_CALL_TYPE* FN_##name)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); \
611 __declspec(selectany) FN_##name name = ((FN_##name)0);
615 #define WKE_DECLARE_ITERATOR0(returnVal, name, description) \
616 extern "C" __declspec(dllexport) returnVal WKE_CALL_TYPE name();
618 #define WKE_DECLARE_ITERATOR1(returnVal, name, p1, description) \
619 extern "C" __declspec(dllexport) returnVal WKE_CALL_TYPE name(p1);
621 #define WKE_DECLARE_ITERATOR2(returnVal, name, p1, p2, description) \
622 extern "C" __declspec(dllexport) returnVal WKE_CALL_TYPE name(p1, p2);
624 #define WKE_DECLARE_ITERATOR3(returnVal, name, p1, p2, p3, description) \
625 extern "C" __declspec(dllexport) returnVal WKE_CALL_TYPE name(p1, p2, p3);
627 #define WKE_DECLARE_ITERATOR4(returnVal, name, p1, p2, p3, p4, description) \
628 extern "C" __declspec(dllexport) returnVal WKE_CALL_TYPE name(p1, p2, p3, p4);
630 #define WKE_DECLARE_ITERATOR5(returnVal, name, p1, p2, p3, p4, p5, description) \
631 extern "C" __declspec(dllexport) returnVal WKE_CALL_TYPE name(p1, p2, p3, p4, p5);
633 #define WKE_DECLARE_ITERATOR6(returnVal, name, p1, p2, p3, p4, p5, p6, description) \
634 extern "C" __declspec(dllexport) returnVal WKE_CALL_TYPE name(p1, p2, p3, p4, p5, p6);
636 #define WKE_DECLARE_ITERATOR11(returnVal, name, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, description) \
637 extern "C" __declspec(dllexport) returnVal WKE_CALL_TYPE name(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
641 #define WKE_GET_PTR_ITERATOR(name) \
642 name = (FN_##name)GetProcAddress(hMod, #name); \
644 MessageBoxA(((HWND)0), "wke api not found", #name, 0);
646 #define WKE_GET_PTR_ITERATOR0(returnVal, name, description) \
647 WKE_GET_PTR_ITERATOR(name);
649 #define WKE_GET_PTR_ITERATOR1(returnVal, name, p1, description) \
650 WKE_GET_PTR_ITERATOR(name);
652 #define WKE_GET_PTR_ITERATOR2(returnVal, name, p1, p2, description) \
653 WKE_GET_PTR_ITERATOR(name);
655 #define WKE_GET_PTR_ITERATOR3(returnVal, name, p1, p2, p3, description) \
656 WKE_GET_PTR_ITERATOR(name);
658 #define WKE_GET_PTR_ITERATOR4(returnVal, name, p1, p2, p3, p4, description) \
659 WKE_GET_PTR_ITERATOR(name);
661 #define WKE_GET_PTR_ITERATOR5(returnVal, name, p1, p2, p3, p4, p5, description) \
662 WKE_GET_PTR_ITERATOR(name);
664 #define WKE_GET_PTR_ITERATOR6(returnVal, name, p1, p2, p3, p4, p5, p6, description) \
665 WKE_GET_PTR_ITERATOR(name);
667 #define WKE_GET_PTR_ITERATOR11(returnVal, name, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, description) \
668 WKE_GET_PTR_ITERATOR(name);
672 #define WKE_FOR_EACH_DEFINE_FUNCTION(ITERATOR0, ITERATOR1, ITERATOR2, ITERATOR3, ITERATOR4, ITERATOR5, ITERATOR6, ITERATOR11) \
673 ITERATOR0(void, wkeShutdown, "") \
675 ITERATOR0(unsigned int, wkeVersion, "") \
676 ITERATOR0(const utf8*, wkeVersionString, "") \
677 ITERATOR2(void, wkeGC, wkeWebView webView, long delayMs, "") \
678 ITERATOR5(void, wkeSetFileSystem, WKE_FILE_OPEN pfnOpen, WKE_FILE_CLOSE pfnClose, WKE_FILE_SIZE pfnSize, WKE_FILE_READ pfnRead, WKE_FILE_SEEK pfnSeek, "") \
680 ITERATOR1(const char*, wkeWebViewName, wkeWebView webView, "") \
681 ITERATOR2(void, wkeSetWebViewName, wkeWebView webView, const char* name, "") \
683 ITERATOR1(bool, wkeIsLoaded, wkeWebView webView, "") \
684 ITERATOR1(bool, wkeIsLoadFailed, wkeWebView webView, "") \
685 ITERATOR1(bool, wkeIsLoadComplete, wkeWebView webView, "") \
687 ITERATOR1(const utf8*, wkeGetSource, wkeWebView webView, "") \
688 ITERATOR1(const utf8*, wkeTitle, wkeWebView webView, "") \
689 ITERATOR1(const wchar_t*, wkeTitleW, wkeWebView webView, "") \
690 ITERATOR1(int, wkeWidth, wkeWebView webView, "") \
691 ITERATOR1(int, wkeHeight, wkeWebView webView, "") \
692 ITERATOR1(int, wkeContentsWidth, wkeWebView webView, "") \
693 ITERATOR1(int, wkeContentsHeight, wkeWebView webView, "") \
695 ITERATOR1(void, wkeSelectAll, wkeWebView webView, "") \
696 ITERATOR1(void, wkeCopy, wkeWebView webView, "") \
697 ITERATOR1(void, wkeCut, wkeWebView webView, "") \
698 ITERATOR1(void, wkePaste, wkeWebView webView, "") \
699 ITERATOR1(void, wkeDelete, wkeWebView webView, "") \
701 ITERATOR1(bool, wkeCookieEnabled, wkeWebView webView, "") \
702 ITERATOR1(float, wkeMediaVolume, wkeWebView webView, "") \
704 ITERATOR5(bool, wkeMouseEvent, wkeWebView webView, unsigned int message, int x, int y, unsigned int flags, "") \
705 ITERATOR4(bool, wkeContextMenuEvent, wkeWebView webView, int x, int y, unsigned int flags, "") \
706 ITERATOR5(bool, wkeMouseWheel, wkeWebView webView, int x, int y, int delta, unsigned int flags, "") \
707 ITERATOR4(bool, wkeKeyUp, wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey, "") \
708 ITERATOR4(bool, wkeKeyDown, wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey, "") \
709 ITERATOR4(bool, wkeKeyPress, wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey, "") \
711 ITERATOR1(void, wkeFocus, wkeWebView webView, "") \
712 ITERATOR1(void, wkeUnfocus, wkeWebView webView, "") \
714 ITERATOR1(wkeRect, wkeGetCaret, wkeWebView webView, "") \
716 ITERATOR1(void, wkeAwaken, wkeWebView webView, "") \
718 ITERATOR1(float, wkeZoomFactor, wkeWebView webView, "") \
720 ITERATOR2(void, wkeSetClientHandler, wkeWebView webView, const wkeClientHandler* handler, "") \
721 ITERATOR1(const wkeClientHandler*, wkeGetClientHandler, wkeWebView webView, "") \
723 ITERATOR1(const utf8*, wkeToString, const wkeString string, "") \
724 ITERATOR1(const wchar_t*, wkeToStringW, const wkeString string, "") \
726 ITERATOR2(const utf8*, jsToString, jsExecState es, jsValue v, "") \
727 ITERATOR2(const wchar_t*, jsToStringW, jsExecState es, jsValue v, "") \
729 ITERATOR1(void, wkeConfigure, const wkeSettings* settings, "") \
730 ITERATOR0(bool, wkeIsInitialize, "") \
732 ITERATOR2(void, wkeSetViewSettings, wkeWebView webView, const wkeViewSettings* settings, "") \
733 ITERATOR3(void, wkeSetDebugConfig, wkeWebView webView, const char* debugString, const char* param, "") \
735 ITERATOR0(void, wkeFinalize, "") \
736 ITERATOR0(void, wkeUpdate, "") \
737 ITERATOR0(unsigned int, wkeGetVersion, "") \
738 ITERATOR0(const utf8*, wkeGetVersionString, "") \
740 ITERATOR0(wkeWebView, wkeCreateWebView, "") \
741 ITERATOR1(void, wkeDestroyWebView, wkeWebView webView, "") \
743 ITERATOR2(void, wkeSetMemoryCacheEnable, wkeWebView webView, bool b, "") \
744 ITERATOR2(void, wkeSetMouseEnabled, wkeWebView webView, bool b, "") \
745 ITERATOR2(void, wkeSetTouchEnabled, wkeWebView webView, bool b, "") \
746 ITERATOR2(void, wkeSetNavigationToNewWindowEnable, wkeWebView webView, bool b, "") \
747 ITERATOR2(void, wkeSetCspCheckEnable, wkeWebView webView, bool b, "") \
748 ITERATOR2(void, wkeSetNpapiPluginsEnabled, wkeWebView webView, bool b, "") \
749 ITERATOR2(void, wkeSetHeadlessEnabled, wkeWebView webView, bool b, "¿ÉÒԹرÕäÖȾ") \
750 ITERATOR2(void, wkeSetDragEnable, wkeWebView webView, bool b, "¿É¹Ø±ÕÍÏקÎļþ¼ÓÔØÍøÒ³") \
752 ITERATOR2(void, wkeSetViewNetInterface, wkeWebView webView, const char* netInterface, "") \
754 ITERATOR1(void, wkeSetProxy, const wkeProxy* proxy, "") \
755 ITERATOR2(void, wkeSetViewProxy, wkeWebView webView, wkeProxy *proxy, "") \
757 ITERATOR1(const char*, wkeGetName, wkeWebView webView, "") \
758 ITERATOR2(void, wkeSetName, wkeWebView webView, const char* name, "") \
760 ITERATOR2(void, wkeSetHandle, wkeWebView webView, HWND wnd, "") \
761 ITERATOR3(void, wkeSetHandleOffset, wkeWebView webView, int x, int y, "") \
763 ITERATOR1(bool, wkeIsTransparent, wkeWebView webView, "") \
764 ITERATOR2(void, wkeSetTransparent, wkeWebView webView, bool transparent, "") \
766 ITERATOR2(void, wkeSetUserAgent, wkeWebView webView, const utf8* userAgent, "") \
767 ITERATOR2(void, wkeSetUserAgentW, wkeWebView webView, const wchar_t* userAgent, "") \
769 ITERATOR2(void, wkeLoadW, wkeWebView webView, const wchar_t* url, "") \
770 ITERATOR2(void, wkeLoadURL, wkeWebView webView, const utf8* url, "") \
771 ITERATOR2(void, wkeLoadURLW, wkeWebView webView, const wchar_t* url, "") \
772 ITERATOR4(void, wkePostURL, wkeWebView wkeView, const utf8* url, const char* postData, int postLen, "") \
773 ITERATOR4(void, wkePostURLW, wkeWebView wkeView, const wchar_t* url, const char* postData, int postLen, "") \
775 ITERATOR2(void, wkeLoadHTML, wkeWebView webView, const utf8* html, "") \
776 ITERATOR2(void, wkeLoadHTMLW, wkeWebView webView, const wchar_t* html, "") \
778 ITERATOR2(void, wkeLoadFile, wkeWebView webView, const utf8* filename, "") \
779 ITERATOR2(void, wkeLoadFileW, wkeWebView webView, const wchar_t* filename, "") \
781 ITERATOR1(const utf8*, wkeGetURL, wkeWebView webView, "") \
783 ITERATOR1(bool, wkeIsLoading, wkeWebView webView, "") \
784 ITERATOR1(bool, wkeIsLoadingSucceeded, wkeWebView webView, "") \
785 ITERATOR1(bool, wkeIsLoadingFailed, wkeWebView webView, "") \
786 ITERATOR1(bool, wkeIsLoadingCompleted, wkeWebView webView, "") \
787 ITERATOR1(bool, wkeIsDocumentReady, wkeWebView webView, "") \
788 ITERATOR1(void, wkeStopLoading, wkeWebView webView, "") \
789 ITERATOR1(void, wkeReload, wkeWebView webView, "") \
791 ITERATOR1(const utf8*, wkeGetTitle, wkeWebView webView, "") \
792 ITERATOR1(const wchar_t*, wkeGetTitleW, wkeWebView webView, "") \
794 ITERATOR3(void, wkeResize, wkeWebView webView, int w, int h, "") \
795 ITERATOR1(int, wkeGetWidth, wkeWebView webView, "") \
796 ITERATOR1(int, wkeGetHeight, wkeWebView webView, "") \
797 ITERATOR1(int, wkeGetContentWidth, wkeWebView webView, "") \
798 ITERATOR1(int, wkeGetContentHeight, wkeWebView webView, "") \
800 ITERATOR2(void, wkeSetDirty, wkeWebView webView, bool dirty, "") \
801 ITERATOR1(bool, wkeIsDirty, wkeWebView webView, "") \
802 ITERATOR5(void, wkeAddDirtyArea, wkeWebView webView, int x, int y, int w, int h, "") \
803 ITERATOR1(void, wkeLayoutIfNeeded, wkeWebView webView, "") \
804 ITERATOR11(void, wkePaint2, wkeWebView webView, void* bits, int bufWid, int bufHei, int xDst, int yDst, int w, int h, int xSrc, int ySrc, bool bCopyAlpha, "") \
805 ITERATOR3(void, wkePaint, wkeWebView webView, void* bits, int pitch, "") \
806 ITERATOR1(void, wkeRepaintIfNeeded, wkeWebView webView, "") \
807 ITERATOR1(HDC, wkeGetViewDC, wkeWebView webView, "") \
808 ITERATOR1(HWND, wkeGetHostHWND, wkeWebView webView, "") \
810 ITERATOR1(bool, wkeCanGoBack, wkeWebView webView, "") \
811 ITERATOR1(bool, wkeGoBack, wkeWebView webView, "") \
812 ITERATOR1(bool, wkeCanGoForward, wkeWebView webView, "") \
813 ITERATOR1(bool, wkeGoForward, wkeWebView webView, "") \
815 ITERATOR1(void, wkeEditorSelectAll, wkeWebView webView, "") \
816 ITERATOR1(void, wkeEditorUnSelect, wkeWebView webView, "") \
817 ITERATOR1(void, wkeEditorCopy, wkeWebView webView, "") \
818 ITERATOR1(void, wkeEditorCut, wkeWebView webView, "") \
819 ITERATOR1(void, wkeEditorPaste, wkeWebView webView, "") \
820 ITERATOR1(void, wkeEditorDelete, wkeWebView webView, "") \
821 ITERATOR1(void, wkeEditorUndo, wkeWebView webView, "") \
822 ITERATOR1(void, wkeEditorRedo, wkeWebView webView, "") \
824 ITERATOR1(const wchar_t*, wkeGetCookieW, wkeWebView webView, "") \
825 ITERATOR1(const utf8*, wkeGetCookie, wkeWebView webView, "") \
826 ITERATOR3(void, wkeSetCookie, wkeWebView webView, const utf8* url, const utf8* cookie, "cookie¸ñʽ±ØÐëÊÇ:Set-cookie: PRODUCTINFO=webxpress; domain=.fidelity.com; path=/; secure") \
827 ITERATOR2(void, wkeVisitAllCookie, void* params, wkeCookieVisitor visitor, "") \
828 ITERATOR1(void, wkePerformCookieCommand, wkeCookieCommand command, "") \
829 ITERATOR2(void, wkeSetCookieEnabled, wkeWebView webView, bool enable, "") \
830 ITERATOR1(bool, wkeIsCookieEnabled, wkeWebView webView, "") \
831 ITERATOR2(void, wkeSetCookieJarPath, wkeWebView webView, const WCHAR* path, "") \
832 ITERATOR2(void, wkeSetCookieJarFullPath, wkeWebView webView, const WCHAR* path, "") \
833 ITERATOR2(void, wkeSetLocalStorageFullPath, wkeWebView webView, const WCHAR* path, "") \
835 ITERATOR2(void, wkeSetMediaVolume, wkeWebView webView, float volume, "") \
836 ITERATOR1(float, wkeGetMediaVolume, wkeWebView webView, "") \
838 ITERATOR5(bool, wkeFireMouseEvent, wkeWebView webView, unsigned int message, int x, int y, unsigned int flags, "") \
839 ITERATOR4(bool, wkeFireContextMenuEvent, wkeWebView webView, int x, int y, unsigned int flags, "") \
840 ITERATOR5(bool, wkeFireMouseWheelEvent, wkeWebView webView, int x, int y, int delta, unsigned int flags, "") \
841 ITERATOR4(bool, wkeFireKeyUpEvent, wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey, "") \
842 ITERATOR4(bool, wkeFireKeyDownEvent, wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey, "") \
843 ITERATOR4(bool, wkeFireKeyPressEvent, wkeWebView webView, unsigned int charCode, unsigned int flags, bool systemKey, "") \
844 ITERATOR6(bool, wkeFireWindowsMessage, wkeWebView webView, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT* result, "") \
846 ITERATOR1(void, wkeSetFocus, wkeWebView webView, "") \
847 ITERATOR1(void, wkeKillFocus, wkeWebView webView, "") \
849 ITERATOR1(wkeRect, wkeGetCaretRect, wkeWebView webView, "") \
851 ITERATOR2(jsValue, wkeRunJS, wkeWebView webView, const utf8* script, "") \
852 ITERATOR2(jsValue, wkeRunJSW, wkeWebView webView, const wchar_t* script, "") \
854 ITERATOR1(jsExecState, wkeGlobalExec, wkeWebView webView, "") \
856 ITERATOR1(void, wkeSleep, wkeWebView webView, "") \
857 ITERATOR1(void, wkeWake, wkeWebView webView, "") \
858 ITERATOR1(bool, wkeIsAwake, wkeWebView webView, "") \
860 ITERATOR2(void, wkeSetZoomFactor, wkeWebView webView, float factor, "") \
861 ITERATOR1(float, wkeGetZoomFactor, wkeWebView webView, "") \
863 ITERATOR2(void, wkeSetEditable, wkeWebView webView, bool editable, "") \
865 ITERATOR1(const utf8*, wkeGetString, const wkeString string, "") \
866 ITERATOR1(const wchar_t*, wkeGetStringW, const wkeString string, "") \
868 ITERATOR3(void, wkeSetString, wkeString string, const utf8* str, size_t len, "") \
869 ITERATOR3(void, wkeSetStringW, wkeString string, const wchar_t* str, size_t len, "") \
871 ITERATOR2(wkeString, wkeCreateStringW, const wchar_t* str, size_t len, "") \
872 ITERATOR1(void, wkeDeleteString, wkeString str, "") \
874 ITERATOR0(wkeWebView, wkeGetWebViewForCurrentContext, "") \
875 ITERATOR3(void, wkeSetUserKeyValue, wkeWebView webView, const char* key, void* value, "") \
876 ITERATOR2(void*, wkeGetUserKeyValue, wkeWebView webView, const char* key, "") \
878 ITERATOR1(int, wkeGetCursorInfoType, wkeWebView webView, "") \
879 ITERATOR5(void, wkeSetDragFiles, wkeWebView webView, const POINT* clintPos, const POINT* screenPos, wkeString files[], int filesCount, "") \
881 ITERATOR5(void, wkeSetDeviceParameter, wkeWebView webView, const char* device, const char* paramStr, int paramInt, float paramFloat, "") \
882 ITERATOR1(wkeTempCallbackInfo*, wkeGetTempCallbackInfo, wkeWebView webView, "") \
884 ITERATOR3(void, wkeOnMouseOverUrlChanged, wkeWebView webView, wkeTitleChangedCallback callback, void* callbackParam, "") \
885 ITERATOR3(void, wkeOnTitleChanged, wkeWebView webView, wkeTitleChangedCallback callback, void* callbackParam, "") \
886 ITERATOR3(void, wkeOnURLChanged, wkeWebView webView, wkeURLChangedCallback callback, void* callbackParam, "") \
887 ITERATOR3(void, wkeOnURLChanged2, wkeWebView webView, wkeURLChangedCallback2 callback, void* callbackParam, "") \
888 ITERATOR3(void, wkeOnPaintUpdated, wkeWebView webView, wkePaintUpdatedCallback callback, void* callbackParam, "") \
889 ITERATOR3(void, wkeOnAlertBox, wkeWebView webView, wkeAlertBoxCallback callback, void* callbackParam, "") \
890 ITERATOR3(void, wkeOnConfirmBox, wkeWebView webView, wkeConfirmBoxCallback callback, void* callbackParam, "") \
891 ITERATOR3(void, wkeOnPromptBox, wkeWebView webView, wkePromptBoxCallback callback, void* callbackParam, "") \
892 ITERATOR3(void, wkeOnNavigation, wkeWebView webView, wkeNavigationCallback callback, void* param, "") \
893 ITERATOR3(void, wkeOnCreateView, wkeWebView webView, wkeCreateViewCallback callback, void* param, "") \
894 ITERATOR3(void, wkeOnDocumentReady, wkeWebView webView, wkeDocumentReadyCallback callback, void* param, "") \
895 ITERATOR3(void, wkeOnDocumentReady2, wkeWebView webView, wkeDocumentReady2Callback callback, void* param, "") \
896 ITERATOR3(void, wkeOnLoadingFinish, wkeWebView webView, wkeLoadingFinishCallback callback, void* param, "") \
897 ITERATOR3(void, wkeOnDownload, wkeWebView webView, wkeDownloadCallback callback, void* param, "") \
898 ITERATOR3(void, wkeOnConsole, wkeWebView webView, wkeConsoleCallback callback, void* param, "") \
899 ITERATOR3(void, wkeSetUIThreadCallback, wkeWebView webView, wkeCallUiThread callback, void* param, "") \
900 ITERATOR3(void, wkeOnLoadUrlBegin, wkeWebView webView, wkeLoadUrlBeginCallback callback, void* callbackParam, "") \
901 ITERATOR3(void, wkeOnLoadUrlEnd, wkeWebView webView, wkeLoadUrlEndCallback callback, void* callbackParam, "") \
902 ITERATOR3(void, wkeOnDidCreateScriptContext, wkeWebView webView, wkeDidCreateScriptContextCallback callback, void* callbackParam, "") \
903 ITERATOR3(void, wkeOnWillReleaseScriptContext, wkeWebView webView, wkeWillReleaseScriptContextCallback callback, void* callbackParam, "") \
904 ITERATOR3(void, wkeOnWindowClosing, wkeWebView webWindow, wkeWindowClosingCallback callback, void* param, "") \
905 ITERATOR3(void, wkeOnWindowDestroy, wkeWebView webWindow, wkeWindowDestroyCallback callback, void* param, "") \
906 ITERATOR3(void, wkeOnDraggableRegionsChanged, wkeWebView webWindow, wkeDraggableRegionsChangedCallback callback, void* param, "") \
907 ITERATOR3(void, wkeOnWillMediaLoad, wkeWebView webWindow, wkeWillMediaLoadCallback callback, void* param, "") \
909 ITERATOR3(void, wkeOnOtherLoad, wkeWebView webWindow, wkeOnOtherLoadCallback callback, void* param, "") \
910 ITERATOR2(void, wkeDeleteWillSendRequestInfo, wkeWebView webWindow, wkeWillSendRequestInfo* info, "") \
912 ITERATOR2(void, wkeNetSetMIMEType, void* job, char *type, "") \
913 ITERATOR4(void, wkeNetSetHTTPHeaderField, void* job, wchar_t* key, wchar_t* value, bool response, "") \
914 ITERATOR2(const char*, wkeNetGetHTTPHeaderField, void* job, const char* key, "") \
915 ITERATOR2(void, wkeNetSetURL, void* job, const char *url, "") \
916 ITERATOR3(void, wkeNetSetData, void* job, void *buf, int len, "µ÷Óô˺¯Êýºó,ÍøÂç²ãÊÕµ½Êý¾Ý»á´æ´¢ÔÚÒ»bufÄÚ,½ÓÊÕÊý¾ÝÍê³ÉºóÏìÓ¦OnLoadUrlEndʼþ.#´Ëµ÷ÓÃÑÏÖØÓ°ÏìÐÔÄÜ,É÷ÓÃ" \
917 "´Ëº¯ÊýºÍwkeNetSetDataµÄÇø±ðÊÇ£¬wkeNetHookRequest»áÔÚ½ÓÊܵ½ÕæÕýÍøÂçÊý¾ÝºóÔÙµ÷Óûص÷£¬²¢ÔÊÐí»Øµ÷ÐÞ¸ÄÍøÂçÊý¾Ý¡£"\
918 "¶øwkeNetSetDataÊÇÔÚÍøÂçÊý¾Ý»¹Ã»·¢Ë͵ÄʱºòÐÞ¸Ä") \
919 ITERATOR1(void, wkeNetHookRequest, void *job, "") \
920 ITERATOR3(void, wkeNetOnResponse, wkeWebView webView, wkeNetResponseCallback callback, void* param, "") \
921 ITERATOR2(void, wkeNetGetMIMEType, void* job, wkeString mime, "") \
923 ITERATOR1(void, wkeNetContinueJob, void* jobPtr, "")\
924 ITERATOR1(const char*, wkeNetGetUrlByJob, void* jobPtr, "")\
925 ITERATOR1(void, wkeNetCancelRequest, void* jobPtr, "")\
926 ITERATOR2(void, wkeNetChangeRequestUrl, void* jobPtr, const char* url, "")\
927 ITERATOR1(void, wkeNetHoldJobToAsynCommit, void* jobPtr, "")\
929 ITERATOR2(wkePostBodyElements*, wkeNetCreatePostBodyElements, wkeWebView webView, size_t length, "") \
930 ITERATOR1(void, wkeNetFreePostBodyElements, wkePostBodyElements*, "") \
931 ITERATOR1(wkePostBodyElement*, wkeNetCreatePostBodyElement, wkeWebView webView, "") \
932 ITERATOR1(void, wkeNetFreePostBodyElement, wkePostBodyElement*, "") \
933 ITERATOR3(wkeMemBuf*, wkeCreateMemBuf, wkeWebView webView, void* buf, size_t length, "") \
934 ITERATOR1(void, wkeFreeMemBuf, wkeMemBuf*, "") \
936 ITERATOR2(bool, wkeIsMainFrame, wkeWebView webView, wkeWebFrameHandle frameId, "") \
937 ITERATOR2(bool, wkeIsWebRemoteFrame, wkeWebView webView, wkeWebFrameHandle frameId, "") \
938 ITERATOR1(wkeWebFrameHandle, wkeWebFrameGetMainFrame, wkeWebView webView, "") \
939 ITERATOR4(jsValue, wkeRunJsByFrame, wkeWebView webView, wkeWebFrameHandle frameId, const utf8* script, bool isInClosure, "") \
941 ITERATOR3(void, wkeWebFrameGetMainWorldScriptContext, wkeWebView webView, wkeWebFrameHandle webFrameId, v8ContextPtr contextOut, "") \
943 ITERATOR0(v8Isolate, wkeGetBlinkMainThreadIsolate, "") \
945 ITERATOR6(wkeWebView, wkeCreateWebWindow, wkeWindowType type, HWND parent, int x, int y, int width, int height, "") \
946 ITERATOR1(void, wkeDestroyWebWindow, wkeWebView webWindow, "") \
947 ITERATOR1(HWND, wkeGetWindowHandle, wkeWebView webWindow, "") \
949 ITERATOR2(void, wkeShowWindow, wkeWebView webWindow, bool show, "") \
950 ITERATOR2(void, wkeEnableWindow, wkeWebView webWindow, bool enable, "") \
952 ITERATOR5(void, wkeMoveWindow, wkeWebView webWindow, int x, int y, int width, int height, "") \
953 ITERATOR1(void, wkeMoveToCenter, wkeWebView webWindow, "") \
954 ITERATOR3(void, wkeResizeWindow, wkeWebView webWindow, int width, int height, "") \
956 ITERATOR6(wkeWebDragOperation, wkeDragTargetDragEnter, wkeWebView webWindow, const wkeWebDragData* webDragData, const POINT* clientPoint, const POINT* screenPoint, wkeWebDragOperationsMask operationsAllowed, int modifiers, "") \
957 ITERATOR5(wkeWebDragOperation, wkeDragTargetDragOver, wkeWebView webWindow, const POINT* clientPoint, const POINT* screenPoint, wkeWebDragOperationsMask operationsAllowed, int modifiers, "") \
958 ITERATOR1(void, wkeDragTargetDragLeave, wkeWebView webWindow, ""); \
959 ITERATOR4(void, wkeDragTargetDrop, wkeWebView webWindow, const POINT* clientPoint, const POINT* screenPoint, int modifiers, "") \
961 ITERATOR2(void, wkeSetWindowTitle, wkeWebView webWindow, const utf8* title, "") \
962 ITERATOR2(void, wkeSetWindowTitleW, wkeWebView webWindow, const wchar_t* title, "") \
964 ITERATOR3(void, jsBindFunction, const char* name, jsNativeFunction fn, unsigned int argCount, "") \
965 ITERATOR2(void, jsBindGetter, const char* name, jsNativeFunction fn, "") \
966 ITERATOR2(void, jsBindSetter, const char* name, jsNativeFunction fn, "") \
968 ITERATOR4(void, wkeJsBindFunction, const char* name, wkeJsNativeFunction fn, void* param, unsigned int argCount, "") \
969 ITERATOR3(void, wkeJsBindGetter, const char* name, wkeJsNativeFunction fn, void* param, "") \
970 ITERATOR3(void, wkeJsBindSetter, const char* name, wkeJsNativeFunction fn, void* param, "") \
972 ITERATOR1(int, jsArgCount, jsExecState es, "") \
973 ITERATOR2(jsType, jsArgType, jsExecState es, int argIdx, "") \
974 ITERATOR2(jsValue, jsArg, jsExecState es, int argIdx, "") \
976 ITERATOR1(jsType, jsTypeOf, jsValue v, "") \
977 ITERATOR1(bool, jsIsNumber, jsValue v, "") \
978 ITERATOR1(bool, jsIsString, jsValue v, "") \
979 ITERATOR1(bool, jsIsBoolean, jsValue v, "") \
980 ITERATOR1(bool, jsIsObject, jsValue v, "") \
981 ITERATOR1(bool, jsIsFunction, jsValue v, "") \
982 ITERATOR1(bool, jsIsUndefined, jsValue v, "") \
983 ITERATOR1(bool, jsIsNull, jsValue v, "") \
984 ITERATOR1(bool, jsIsArray, jsValue v, "") \
985 ITERATOR1(bool, jsIsTrue, jsValue v, "") \
986 ITERATOR1(bool, jsIsFalse, jsValue v, "") \
988 ITERATOR2(int, jsToInt, jsExecState es, jsValue v, "") \
989 ITERATOR2(float, jsToFloat, jsExecState es, jsValue v, "") \
990 ITERATOR2(double, jsToDouble, jsExecState es, jsValue v, "") \
991 ITERATOR2(bool, jsToBoolean, jsExecState es, jsValue v, "") \
992 ITERATOR3(jsValue, jsArrayBuffer, jsExecState es, char * buffer, size_t size, "") \
993 ITERATOR2(const utf8*, jsToTempString, jsExecState es, jsValue v, "") \
994 ITERATOR2(const wchar_t*, jsToTempStringW, jsExecState es, jsValue v, "") \
996 ITERATOR1(jsValue, jsInt, int n, "") \
997 ITERATOR1(jsValue, jsFloat, float f, "") \
998 ITERATOR1(jsValue, jsDouble, double d, "") \
999 ITERATOR1(jsValue, jsBoolean, bool b, "") \
1001 ITERATOR0(jsValue, jsUndefined, "") \
1002 ITERATOR0(jsValue, jsNull, "") \
1003 ITERATOR0(jsValue, jsTrue, "") \
1004 ITERATOR0(jsValue, jsFalse, "") \
1006 ITERATOR2(jsValue, jsString, jsExecState es, const utf8* str, "") \
1007 ITERATOR2(jsValue, jsStringW, jsExecState es, const wchar_t* str, "") \
1008 ITERATOR1(jsValue, jsEmptyObject, jsExecState es, "") \
1009 ITERATOR1(jsValue, jsEmptyArray, jsExecState es, "") \
1011 ITERATOR2(jsValue, jsObject, jsExecState es, jsData* obj, "") \
1012 ITERATOR2(jsValue, jsFunction, jsExecState es, jsData* obj, "") \
1013 ITERATOR2(jsData*, jsGetData, jsExecState es, jsValue object, "") \
1015 ITERATOR3(jsValue, jsGet, jsExecState es, jsValue object, const char* prop, "") \
1016 ITERATOR4(void, jsSet, jsExecState es, jsValue object, const char* prop, jsValue v, "") \
1018 ITERATOR3(jsValue, jsGetAt, jsExecState es, jsValue object, int index, "") \
1019 ITERATOR4(void, jsSetAt, jsExecState es, jsValue object, int index, jsValue v, "") \
1021 ITERATOR2(int, jsGetLength, jsExecState es, jsValue object, "") \
1022 ITERATOR3(void, jsSetLength, jsExecState es, jsValue object, int length, "") \
1024 ITERATOR1(jsValue, jsGlobalObject, jsExecState es, "") \
1025 ITERATOR1(wkeWebView, jsGetWebView, jsExecState es, "") \
1027 ITERATOR2(jsValue, jsEval, jsExecState es, const utf8* str, "") \
1028 ITERATOR2(jsValue, jsEvalW, jsExecState es, const wchar_t* str, "") \
1029 ITERATOR3(jsValue, jsEvalExW, jsExecState es, const wchar_t* str, bool isInClosure, "") \
1031 ITERATOR5(jsValue, jsCall, jsExecState es, jsValue func, jsValue thisObject, jsValue* args, int argCount, "") \
1032 ITERATOR4(jsValue, jsCallGlobal, jsExecState es, jsValue func, jsValue* args, int argCount, "") \
1034 ITERATOR2(jsValue, jsGetGlobal, jsExecState es, const char* prop, "") \
1035 ITERATOR3(void, jsSetGlobal, jsExecState es, const char* prop, jsValue v, "") \
1037 ITERATOR0(void, jsGC, "")
1059 kWkeDllPath = dllPath;
1064 HMODULE hMod = LoadLibraryW(kWkeDllPath);
1066 FN_wkeInitializeEx wkeInitializeExFunc = (FN_wkeInitializeEx)GetProcAddress(hMod,
"wkeInitializeEx");
1067 wkeInitializeExFunc(settings);
1091 #endif // WKE_DEFINE_H
void(* ON_URL_CHANGED)(const struct _wkeClientHandler *clientHandler, const wkeString url)
void(* wkeAlertBoxCallback)(wkeWebView webView, void *param, const wkeString msg)
#define WKE_DEFINE_ITERATOR1(returnVal, name, p1, description)
wkeHttBodyElementType type
FILE_CLOSE_ WKE_FILE_CLOSE
wkeResourceType resourceType
#define WKE_DEFINE_ITERATOR11(returnVal, name, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, description)
void(* wkeURLChangedCallback2)(wkeWebView webView, void *param, wkeWebFrameHandle frameId, const wkeString url)
void(* FILE_CLOSE_)(void *handle)
void(* wkeDocumentReady2Callback)(wkeWebView webView, void *param, wkeWebFrameHandle frameId)
bool(* wkeNetResponseCallback)(wkeWebView webView, void *param, const char *url, void *job)
#define WKE_DEFINE_ITERATOR0(returnVal, name, description)
bool(* jsSetPropertyCallback)(jsExecState es, jsValue object, const char *propertyName, jsValue value)
#define WKE_DEFINE_ITERATOR4(returnVal, name, p1, p2, p3, p4, description)
void(* wkeCallUiThread)(wkeWebView webView, wkeOnCallUiThread func, void *param)
wkeWillSendRequestInfo * willSendRequestInfo
jsValue(* jsGetPropertyCallback)(jsExecState es, jsValue object, const char *propertyName)
void(* wkeURLChangedCallback)(wkeWebView webView, void *param, const wkeString url)
wkePostBodyElements * postBody
#define WKE_GET_PTR_ITERATOR2(returnVal, name, p1, p2, description)
bool(* WKE_EXISTS_FILE)(const char *path)
#define WKE_GET_PTR_ITERATOR5(returnVal, name, p1, p2, p3, p4, p5, description)
int(* FILE_READ)(void *handle, void *buffer, size_t size)
void(* ON_TITLE_CHANGED)(const struct _wkeClientHandler *clientHandler, const wkeString title)
jsValue(* wkeJsNativeFunction)(jsExecState es, void *param)
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
int(* FILE_SEEK)(void *handle, int offset, int origin)
wkeWebView(* wkeCreateViewCallback)(wkeWebView webView, void *param, wkeNavigationType navigationType, const wkeString url, const wkeWindowFeatures *windowFeatures)
long long fileSystemFileSize
struct _tagWkeWebView * wkeWebView
void(* wkeDraggableRegionsChangedCallback)(wkeWebView webWindow, void *param, const wkeDraggableRegion *rects, int rectCount)
#define WKE_DEFINE_ITERATOR3(returnVal, name, p1, p2, p3, description)
jsCallAsFunctionCallback callAsFunction
#define WKE_GET_PTR_ITERATOR4(returnVal, name, p1, p2, p3, p4, description)
void wkeSetWkeDllPath(const wchar_t *dllPath)
#define WKE_DECLARE_ITERATOR4(returnVal, name, p1, p2, p3, p4, description)
#define WKE_DECLARE_ITERATOR1(returnVal, name, p1, description)
#define WKE_DEFINE_ITERATOR2(returnVal, name, p1, p2, description)
bool(* wkeWindowClosingCallback)(wkeWebView webWindow, void *param)
#define WKE_GET_PTR_ITERATOR1(returnVal, name, p1, description)
bool(* wkeCookieVisitor)(void *params, const char *name, const char *value, const char *domain, const char *path, int secure, int httpOnly, int *expires)
#define WKE_DECLARE_ITERATOR5(returnVal, name, p1, p2, p3, p4, p5, description)
#define WKE_DECLARE_ITERATOR2(returnVal, name, p1, p2, description)
struct _wkeClientHandler wkeClientHandler
struct _tagWkeString * wkeString
void(* jsFinalizeCallback)(struct tagjsData *data)
jsGetPropertyCallback propertyGet
void(* wkeOnCallUiThread)(wkeWebView webView, void *paramOnInThread)
bool(* wkeNavigationCallback)(wkeWebView webView, void *param, wkeNavigationType navigationType, const wkeString url)
void(* wkeLoadUrlEndCallback)(wkeWebView webView, void *param, const char *url, void *job, void *buf, int len)
bool(* wkePromptBoxCallback)(wkeWebView webView, void *param, const wkeString msg, const wkeString defaultResult, wkeString result)
TTK_MODULE_EXPORT void sleep(int ms)
#define WKE_GET_PTR_ITERATOR6(returnVal, name, p1, p2, p3, p4, p5, p6, description)
jsFinalizeCallback finalize
void(* wkeOnOtherLoadCallback)(wkeWebView webView, void *param, wkeOtherLoadType type, wkeTempCallbackInfo *info)
#define WKE_GET_PTR_ITERATOR11(returnVal, name, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, description)
ON_TITLE_CHANGED onTitleChanged
void(* wkeDocumentReadyCallback)(wkeWebView webView, void *param)
#define WKE_GET_PTR_ITERATOR0(returnVal, name, description)
ON_URL_CHANGED onURLChanged
void(* wkeLoadingFinishCallback)(wkeWebView webView, void *param, const wkeString url, wkeLoadingResult result, const wkeString failedReason)
#define WKE_DECLARE_ITERATOR0(returnVal, name, description)
void(* wkeTitleChangedCallback)(wkeWebView webView, void *param, const wkeString title)
void(* wkeWillMediaLoadCallback)(wkeWebView webView, void *param, const char *url, wkeMediaLoadInfo *info)
wkeString displayNameData
void *(* FILE_OPEN_)(const char *path)
#define WKE_DECLARE_ITERATOR3(returnVal, name, p1, p2, p3, description)
#define WKE_DEFINE_ITERATOR5(returnVal, name, p1, p2, p3, p4, p5, description)
#define WKE_DECLARE_ITERATOR6(returnVal, name, p1, p2, p3, p4, p5, p6, description)
#define WKE_FOR_EACH_DEFINE_FUNCTION(ITERATOR0, ITERATOR1, ITERATOR2, ITERATOR3, ITERATOR4, ITERATOR5, ITERATOR6, ITERATOR11)
void(* wkeWillReleaseScriptContextCallback)(wkeWebView webView, void *param, wkeWebFrameHandle frameId, void *context, int worldId)
bool(* wkeConfirmBoxCallback)(wkeWebView webView, void *param, const wkeString msg)
void wkeInitializeEx(const wkeSettings *settings)
#define WKE_GET_PTR_ITERATOR3(returnVal, name, p1, p2, p3, description)
void(* wkePaintUpdatedCallback)(wkeWebView webView, void *param, const HDC hdc, int x, int y, int cx, int cy)
#define WKE_DEFINE_ITERATOR6(returnVal, name, p1, p2, p3, p4, p5, p6, description)
size_t(* FILE_SIZE)(void *handle)
jsSetPropertyCallback propertySet
wkePostBodyElement ** element
void(* wkeConsoleCallback)(wkeWebView webView, void *param, wkeConsoleLevel level, const wkeString message, const wkeString sourceName, unsigned sourceLine, const wkeString stackTrace)
bool(* wkeDownloadCallback)(wkeWebView webView, void *param, const char *url)
__declspec(selectany) const wchar_t *kWkeDllPath
bool(* wkeLoadUrlBeginCallback)(wkeWebView webView, void *param, const char *url, void *job)
void(* wkeWindowDestroyCallback)(wkeWebView webWindow, void *param)
#define WKE_DECLARE_ITERATOR11(returnVal, name, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, description)
void(* wkeDidCreateScriptContextCallback)(wkeWebView webView, void *param, wkeWebFrameHandle frameId, void *context, int extensionGroup, int worldId)
jsValue(* jsCallAsFunctionCallback)(jsExecState es, jsValue object, jsValue *args, int argCount)
wkeWebDragOperation wkeWebDragOperationsMask