|
|
@@ -35,7 +35,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
(define lib-type 'release)
|
|
|
|
(define lib-type 'release)
|
|
|
|
|
|
|
|
|
|
|
|
(define-runtime-path lib-dir "../lib")
|
|
|
|
(define-runtime-path lib-dir ".")
|
|
|
|
|
|
|
|
; (if (eq? (system-type 'os*) 'windows)
|
|
|
|
|
|
|
|
; "..\\lib"
|
|
|
|
|
|
|
|
; "../lib"))
|
|
|
|
|
|
|
|
|
|
|
|
(define libname (let ((os (system-type 'os*)))
|
|
|
|
(define libname (let ((os (system-type 'os*)))
|
|
|
|
(cond ((eq? os 'windows) (format "rktwebview.dll"))
|
|
|
|
(cond ((eq? os 'windows) (format "rktwebview.dll"))
|
|
|
@@ -44,8 +47,53 @@
|
|
|
|
)
|
|
|
|
)
|
|
|
|
;(set! libname "../rktwebview/build/Release/rktwebview.dll")
|
|
|
|
;(set! libname "../rktwebview/build/Release/rktwebview.dll")
|
|
|
|
;(set! libname "../rktwebview/build/Release/librktwebview.so")
|
|
|
|
;(set! libname "../rktwebview/build/Release/librktwebview.so")
|
|
|
|
(set! libname "../rktwebview_qt/build/Release/librktwebview_qt.so")
|
|
|
|
(if (eq? (system-type 'os*) 'windows)
|
|
|
|
(define webview-lib-file (build-path lib-dir libname))
|
|
|
|
(set! libname "..\\rktwebview_qt\\build\\Release\\rktwebview_qt.dll")
|
|
|
|
|
|
|
|
(set! libname "../rktwebview_qt/build/Release/librktwebview_qt.so"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(set! libname "rktwebview_qt.dll")
|
|
|
|
|
|
|
|
(current-directory (build-path lib-dir "..\\rktwebview_qt\\build\\Release"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;(define webview-lib-file (normalize-path (build-path lib-dir libname)))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(define webview-lib-file libname)
|
|
|
|
|
|
|
|
(displayln (format "~a - ~a" (current-directory) webview-lib-file))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(putenv "QT_PLUGIN_PATH" (path->string (build-path (current-directory) "plugins")))
|
|
|
|
|
|
|
|
(putenv "QTWEBENGINEPROCESS_PATH"
|
|
|
|
|
|
|
|
"c:\\devel\\racket\\racket-webview\\rktwebview_qt\\build\\Release\\QtWebEngineProcess.exe")
|
|
|
|
|
|
|
|
(putenv "QTWEBENGINE_RESOURCES_PATH"
|
|
|
|
|
|
|
|
"c:\\devel\\racket\\racket-webview\\rktwebview_qt\\build\\Release\\resources")
|
|
|
|
|
|
|
|
(putenv "QTWEBENGINE_LOCALES_PATH"
|
|
|
|
|
|
|
|
"c:\\devel\\racket\\racket-webview\\rktwebview_qt\\build\\Release\\translations\\qtwebengine_locales")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(define libs '(Qt6Core.dll
|
|
|
|
|
|
|
|
Qt6Positioning.dll
|
|
|
|
|
|
|
|
Qt6Concurrent.dll
|
|
|
|
|
|
|
|
Qt6Gui.dll
|
|
|
|
|
|
|
|
Qt6Widgets.dll
|
|
|
|
|
|
|
|
;qwindows.dll
|
|
|
|
|
|
|
|
Qt6Svg.dll
|
|
|
|
|
|
|
|
Qt6Network.dll
|
|
|
|
|
|
|
|
Qt6OpenGL.dll
|
|
|
|
|
|
|
|
Qt6OpenGLWidgets.dll
|
|
|
|
|
|
|
|
Qt6PrintSupport.dll
|
|
|
|
|
|
|
|
Qt6Qml.dll
|
|
|
|
|
|
|
|
Qt6Xml.dll
|
|
|
|
|
|
|
|
Qt6QmlModels.dll
|
|
|
|
|
|
|
|
Qt6QmlWorkerScript.dll
|
|
|
|
|
|
|
|
Qt6QmlMeta.dll
|
|
|
|
|
|
|
|
Qt6Quick.dll
|
|
|
|
|
|
|
|
Qt6QuickWidgets.dll
|
|
|
|
|
|
|
|
Qt6WebChannel.dll
|
|
|
|
|
|
|
|
Qt6WebEngineCore.dll
|
|
|
|
|
|
|
|
;Qt6WebEngineQuick.dll
|
|
|
|
|
|
|
|
Qt6WebEngineWidgets.dll
|
|
|
|
|
|
|
|
))
|
|
|
|
|
|
|
|
(for-each (λ (l)
|
|
|
|
|
|
|
|
(let ((lib (symbol->string l)))
|
|
|
|
|
|
|
|
(displayln (format "~a: ~a" lib (ffi-lib lib)))))
|
|
|
|
|
|
|
|
libs)
|
|
|
|
|
|
|
|
|
|
|
|
(define webview-lib (ffi-lib webview-lib-file))
|
|
|
|
(define webview-lib (ffi-lib webview-lib-file))
|
|
|
|
(define-ffi-definer define-rktwebview webview-lib)
|
|
|
|
(define-ffi-definer define-rktwebview webview-lib)
|
|
|
@@ -58,11 +106,30 @@
|
|
|
|
;; Types / Functions
|
|
|
|
;; Types / Functions
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(define _rkt_result_t
|
|
|
|
|
|
|
|
(_enum '(no_result_yet = -1
|
|
|
|
|
|
|
|
oke = 0
|
|
|
|
|
|
|
|
set_html_failed = 1
|
|
|
|
|
|
|
|
set_navigate_failed = 2
|
|
|
|
|
|
|
|
eval_js_failed = 3
|
|
|
|
|
|
|
|
no_devtools_on_platform = 4
|
|
|
|
|
|
|
|
no_delegate_for_context = 5
|
|
|
|
|
|
|
|
move_failed = 12
|
|
|
|
|
|
|
|
resize_failed = 13
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
(define-cstruct _rkt_evt_t
|
|
|
|
(define-cstruct _rkt_evt_t
|
|
|
|
([w _int]
|
|
|
|
([w _int]
|
|
|
|
[evt _pointer]
|
|
|
|
[evt _pointer]
|
|
|
|
))
|
|
|
|
))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(define-cstruct _rkt_js_result_t
|
|
|
|
|
|
|
|
([result _rkt_result_t]
|
|
|
|
|
|
|
|
[value _pointer]
|
|
|
|
|
|
|
|
))
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT void rkt_webview_init(int &argc, char **argv);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT void rkt_webview_init(int &argc, char **argv);
|
|
|
|
(define-rktwebview rkt_webview_init
|
|
|
|
(define-rktwebview rkt_webview_init
|
|
|
|
(_fun -> _void))
|
|
|
|
(_fun -> _void))
|
|
|
@@ -82,15 +149,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_set_url(int wv, const char *url);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_set_url(int wv, const char *url);
|
|
|
|
(define-rktwebview rkt_webview_set_url
|
|
|
|
(define-rktwebview rkt_webview_set_url
|
|
|
|
(_fun _int _string/utf-8 -> _int))
|
|
|
|
(_fun _int _string/utf-8 -> _rkt_result_t))
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_set_html(int wv, const char *html);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_set_html(int wv, const char *html);
|
|
|
|
(define-rktwebview rkt_webview_set_html
|
|
|
|
(define-rktwebview rkt_webview_set_html
|
|
|
|
(_fun _int _string/utf-8 -> _int))
|
|
|
|
(_fun _int _string/utf-8 -> _rkt_result_t))
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_run_js(int wv, const char *js);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_run_js(int wv, const char *js);
|
|
|
|
(define-rktwebview rkt_webview_run_js
|
|
|
|
(define-rktwebview rkt_webview_run_js
|
|
|
|
(_fun _int _string/utf-8 -> _int))
|
|
|
|
(_fun _int _string/utf-8 -> _rkt_result_t))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_call_js(rktwebview_t wv, const char *js);
|
|
|
|
|
|
|
|
(define-rktwebview rkt_webview_call_js
|
|
|
|
|
|
|
|
(_fun _int _string/utf-8 -> _rkt_js_result_t-pointer))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_destroy_js_result(rkt_js_result_t *r);
|
|
|
|
|
|
|
|
(define-rktwebview rkt_webview_destroy_js_result
|
|
|
|
|
|
|
|
(_fun _rkt_js_result_t-pointer -> _rkt_result_t))
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_open_devtools(int wv);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_open_devtools(int wv);
|
|
|
|
(define-rktwebview rkt_webview_open_devtools
|
|
|
|
(define-rktwebview rkt_webview_open_devtools
|
|
|
@@ -98,15 +173,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_destroy_event(rkt_event_t e);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_destroy_event(rkt_event_t e);
|
|
|
|
(define-rktwebview rkt_webview_destroy_event
|
|
|
|
(define-rktwebview rkt_webview_destroy_event
|
|
|
|
(_fun _rkt_evt_t-pointer -> _int))
|
|
|
|
(_fun _rkt_evt_t-pointer -> _rkt_result_t))
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_move(rktwebview_t w, int x, int y);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_move(rktwebview_t w, int x, int y);
|
|
|
|
(define-rktwebview rkt_webview_move
|
|
|
|
(define-rktwebview rkt_webview_move
|
|
|
|
(_fun _int _int _int -> _int))
|
|
|
|
(_fun _int _int _int -> _rkt_result_t))
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_resize(rktwebview_t w, int width, int height);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_resize(rktwebview_t w, int width, int height);
|
|
|
|
(define-rktwebview rkt_webview_resize
|
|
|
|
(define-rktwebview rkt_webview_resize
|
|
|
|
(_fun _int _int _int -> _int))
|
|
|
|
(_fun _int _int _int -> _rkt_result_t))
|
|
|
|
|
|
|
|
|
|
|
|
;RKTWEBVIEW_QT_EXPORT bool rkt_webview_valid(rktwebview_t wv);
|
|
|
|
;RKTWEBVIEW_QT_EXPORT bool rkt_webview_valid(rktwebview_t wv);
|
|
|
|
(define-rktwebview rkt_webview_valid
|
|
|
|
(define-rktwebview rkt_webview_valid
|
|
|
@@ -202,7 +277,11 @@
|
|
|
|
(rkt_webview_run_js (rkt-wv-win wv) js))
|
|
|
|
(rkt_webview_run_js (rkt-wv-win wv) js))
|
|
|
|
|
|
|
|
|
|
|
|
(define (rkt-webview-call-js wv js)
|
|
|
|
(define (rkt-webview-call-js wv js)
|
|
|
|
(rkt_webview_call_js (rkt-wv-win wv) js))
|
|
|
|
(let* ((r (rkt_webview_call_js (rkt-wv-win) js))
|
|
|
|
|
|
|
|
(value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8))
|
|
|
|
|
|
|
|
(result (rkt_js_result_t-result r)))
|
|
|
|
|
|
|
|
(rkt_webview_destroy_js_result r)
|
|
|
|
|
|
|
|
(list result value)))
|
|
|
|
|
|
|
|
|
|
|
|
(define (rkt-webview-resize wv w h)
|
|
|
|
(define (rkt-webview-resize wv w h)
|
|
|
|
(rkt_webview_resize (rkt-wv-win wv) w h))
|
|
|
|
(rkt_webview_resize (rkt-wv-win wv) w h))
|
|
|
|