#ifndef RKTWEBVIEW_H #define RKTWEBVIEW_H #include "rktwebview_qt_global.h" extern "C" { typedef int rktwebview_t; typedef struct { rktwebview_t wv; char *event; } rkt_event_t; typedef void (*event_cb_t)(rkt_event_t *); typedef 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, webview_missing_dependency = 6, webview_canceled = 7, webview_invalid_state = 8, webview_invalid_argument = 9, webview_unspecified = 10, webview_dispatch_failed = 11, move_failed = 12, resize_failed = 13, choose_dir_failed = 14, open_file_failed = 15, save_file_failed = 16 } result_t; typedef struct { result_t result; char *value; } rkt_js_result_t; typedef enum { invalid = -1, normal = 0, minimized = 1, maximized = 2, hidden = 3, normal_active = 16, maximized_active = 18 } window_state_t; RKTWEBVIEW_QT_EXPORT void rkt_webview_init(); RKTWEBVIEW_QT_EXPORT void rkt_webview_process_events(int for_ms); RKTWEBVIEW_QT_EXPORT int rkt_webview_create(rktwebview_t parent, event_cb_t js_event_cb); RKTWEBVIEW_QT_EXPORT void rkt_webview_close(rktwebview_t wv); RKTWEBVIEW_QT_EXPORT bool rkt_webview_valid(rktwebview_t wv); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_set_title(rktwebview_t wv, const char *title); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_set_url(rktwebview_t wv, const char *url); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_set_html(rktwebview_t wv, const char *html); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_run_js(rktwebview_t wv, const char *js); RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_call_js(rktwebview_t wv, const char *js); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_destroy_js_result(rkt_js_result_t *r); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_open_devtools(rktwebview_t wv); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_destroy_event(rkt_event_t *e); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_move(rktwebview_t w, int x, int y); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_resize(rktwebview_t w, int width, int height); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_hide(rktwebview_t w); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_show(rktwebview_t w); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_show_normal(rktwebview_t w); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_present(rktwebview_t w); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_maximize(rktwebview_t w); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_minimize(rktwebview_t w); RKTWEBVIEW_QT_EXPORT window_state_t rkt_webview_window_state(rktwebview_t w); RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir); } #endif // RKTWEBVIEW_H