Skip to content

momo5502/html-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HTML-UI

Internet Explorer 11 based HTML UI component for C++.

Due to employing Internet Explorer 11, html-ui offers a flexible and lightweight HTML user interface. It is ideal for small, yet elegant user interfaces.

No external dependencies are required resulting in minuscule binary sizes.

Preview

 

Usage

You can start by creating a window with native testFunction handler:

#include <momo/html_ui.hpp>

int main()
{
    momo::html_ui window("Test", 500, 300);

    window.register_handler("testFunction", [](const std::string& text) -> int
    {
		// ...
		return 15;
    });

    window.load_html("<!DOCTYPE html><html> ... </html>");

    momo::html_ui::show_windows();
}

Native handlers can be called from JavaScript:

window.external.testFunction("Hello World");

Javascript execution from C++ is also possible:

const auto result = window.evaluate("alert('test')");

The JavaScript values are automatically translated to match the C++ function signature. If the arguments mismatch, an exception is thrown.

Alternatively, a raw handler can be registered, which receives all arguments as vector:

window.register_raw_handler("rawFunction", [&window](const std::vector<momo::html_value>& arguments)
	-> momo::html_value
{
	// ...
	return {};
});

About

Extremely lightweight, yet flexible HTML UI

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project