Updating the PR

* The original code works. I'm just re-styling it to make the WebUI code look the same.
This commit is contained in:
Hassan DRAGA 2023-05-03 20:18:56 -04:00
parent 7c418a6ed2
commit 41b5ab3bd7
9 changed files with 57 additions and 106 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

View File

@ -1,44 +0,0 @@
# WebUI Library 2.2.0
# C99 Example
# macOS - Clang
LIB=../../../../../build/macOS/Clang
INCLUDE=../../../../../include
SOURCE=../..
all: release
debug:
# Build Lib
@cd "$(LIB)" && $(MAKE) debug
# Static with Debug info
@echo "Build C99 Example (Static Debug)..."
@clang -g -m64 -o main "$(SOURCE)/main.c" -I "$(INCLUDE)" -L "$(LIB)" -lwebui-2-static-x64 -lpthread -lm
# Dynamic with Debug info
@echo "Build C99 Example (Dynamic Debug)..."
@clang -g -m64 -o main-dyn "$(SOURCE)/main.c" -I "$(INCLUDE)" -L "$(LIB)" "$(LIB)/webui-2-x64.dyn" -lpthread -lm
# Clean
@- rm -f *.o
@- rm -rf *.dSYM
@echo "Done."
release:
# Build Lib
@cd "$(LIB)" && $(MAKE)
# Static Release
@echo "Build C99 Example (Static Release)..."
@clang -Os -m64 -o main "$(SOURCE)/main.c" -I "$(INCLUDE)" -L "$(LIB)" -lwebui-2-static-x64 -lpthread -lm
# Dynamic Release
@echo "Build C99 Example (Dynamic Release)..."
@clang -m64 -o main-dyn "$(SOURCE)/main.c" -I "$(INCLUDE)" -L "$(LIB)" "$(LIB)/webui-2-x64.dyn" -lpthread -lm
# Clean
@- rm -f *.o
@- rm -rf *.dSYM
@echo "Done."
clean:
- rm -f *.o
- rm -f *.dyn
- rm -f *.a
- rm -rf *.dSYM

View File

@ -1,17 +0,0 @@
// WebUI C - Minimal Example
#include "webui.h"
int main() {
void* my_window = webui_new_window();
webui_set_kiosk(my_window, true);
webui_show(my_window, "<html>Hello from Kiosk Mode</html>");
webui_wait();
return 0;
}
#if defined(_MSC_VER)
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, PSTR cmdline, int cmdshow) {
return main();
}
#endif

View File

@ -148,7 +148,7 @@ WEBUI_EXPORT unsigned int webui_bind(void* window, const char* element, void (*f
WEBUI_EXPORT bool webui_show(void* window, const char* content);
// Same as webui_show(). But with a specific web browser.
WEBUI_EXPORT bool webui_show_browser(void* window, const char* content, unsigned int browser);
// Set kiosk mode (default is false)
// Set the window in Kiosk mode (Full screen)
WEBUI_EXPORT void webui_set_kiosk(void* window, bool status);
// Wait until all opened windows get closed.
WEBUI_EXPORT void webui_wait(void);

View File

@ -51,7 +51,7 @@ namespace webui {
webui_close(window);
}
// Enable/Disable Kiosk Mode (Default=False)
// Set the window in Kiosk mode (Full screen)
void set_kiosk(void* window, bool status) {
webui_set_kiosk(window, status);
}

View File

@ -443,8 +443,12 @@ void* webui_new_window(void) {
return (void*)win;
}
void webui_set_kiosk (void* win, bool kiosk){
((_webui_window_t*)win)->kiosk = kiosk;
void webui_set_kiosk(void* window, bool status) {
// Dereference
_webui_window_t* win = (_webui_window_t*)window;
win->kiosk_mode = status;
}
void webui_close(void* window) {
@ -2914,11 +2918,12 @@ bool _webui_browser_start_chrome(_webui_window_t* win, const char* address) {
return false;
char arg[1024];
if(!win->kiosk){
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
} else {
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
}
char kiosk_arg[16] = {0};
if(win->kiosk_mode)
sprintf(kiosk_arg, "--chrome-frame --kiosk");
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
char full[1024];
sprintf(full, "%s%s%s", win->browser_path, arg, address);
@ -2951,11 +2956,12 @@ bool _webui_browser_start_edge(_webui_window_t* win, const char* address) {
return false;
char arg[1024];
if(!win->kiosk){
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
} else {
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
}
char kiosk_arg[16] = {0};
if(win->kiosk_mode)
sprintf(kiosk_arg, "--chrome-frame --kiosk");
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
char full[1024];
sprintf(full, "%s%s%s", win->browser_path, arg, address);
@ -2988,11 +2994,12 @@ bool _webui_browser_start_epic(_webui_window_t* win, const char* address) {
return false;
char arg[1024];
if(!win->kiosk){
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
} else {
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
}
char kiosk_arg[16] = {0};
if(win->kiosk_mode)
sprintf(kiosk_arg, "--chrome-frame --kiosk");
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
char full[1024];
sprintf(full, "%s%s%s", win->browser_path, arg, address);
@ -3025,11 +3032,12 @@ bool _webui_browser_start_vivaldi(_webui_window_t* win, const char* address) {
return false;
char arg[1024];
if(!win->kiosk){
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
} else {
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
}
char kiosk_arg[16] = {0};
if(win->kiosk_mode)
sprintf(kiosk_arg, "--chrome-frame --kiosk");
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
char full[1024];
sprintf(full, "%s%s%s", win->browser_path, arg, address);
@ -3062,11 +3070,12 @@ bool _webui_browser_start_brave(_webui_window_t* win, const char* address) {
return false;
char arg[1024];
if(!win->kiosk){
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
} else {
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
}
char kiosk_arg[16] = {0};
if(win->kiosk_mode)
sprintf(kiosk_arg, "--chrome-frame --kiosk");
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
char full[1024];
sprintf(full, "%s%s%s", win->browser_path, arg, address);
@ -3099,11 +3108,12 @@ bool _webui_browser_start_firefox(_webui_window_t* win, const char* address) {
return false;
char full[1024];
if(!win->kiosk){
sprintf(full, "%s -P WebUI -purgecaches -new-window %s", win->browser_path, address);
} else {
sprintf(full, "%s -P WebUI -purgecaches -new-window -kiosk %s", win->browser_path, address);
}
char kiosk_arg[16] = {0};
if(win->kiosk_mode)
sprintf(kiosk_arg, "-kiosk");
sprintf(full, "%s -P WebUI -purgecaches -new-window %s %s", win->browser_path, address, kiosk_arg);
if(_webui_run_browser(win, full) == 0) {
@ -3133,11 +3143,12 @@ bool _webui_browser_start_yandex(_webui_window_t* win, const char* address) {
return false;
char arg[1024];
if(!win->kiosk){
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
} else {
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
}
char kiosk_arg[16] = {0};
if(win->kiosk_mode)
sprintf(kiosk_arg, "--chrome-frame --kiosk");
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
char full[1024];
sprintf(full, "%s%s%s", win->browser_path, arg, address);
@ -3170,11 +3181,12 @@ bool _webui_browser_start_chromium(_webui_window_t* win, const char* address) {
return false;
char arg[1024];
if(!win->kiosk){
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
} else {
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
}
char kiosk_arg[16] = {0};
if(win->kiosk_mode)
sprintf(kiosk_arg, "--chrome-frame --kiosk");
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
char full[1024];
sprintf(full, "%s%s%s", win->browser_path, arg, address);

View File

@ -57,7 +57,7 @@ typedef struct _webui_window_t {
unsigned int runtime;
bool has_events;
char* server_root_path;
bool kiosk;
bool kiosk_mode;
webui_event_core_t* event_core[WEBUI_MAX_ARRAY];
#ifdef _WIN32
HANDLE server_thread;