ultralight-ux / appcore Goto Github PK
View Code? Open in Web Editor NEWCross-platform app runtime module for Ultralight
Home Page: https://ultralig.ht
License: GNU Lesser General Public License v2.1
Cross-platform app runtime module for Ultralight
Home Page: https://ultralig.ht
License: GNU Lesser General Public License v2.1
There is a huge list of boilerplate to fill. Do I really need to implement file deletion and getting free volume space if I only want to display a page? Why is even OpenTemporaryFile separate from OpenFile? Do I need to write my own String16Vector implementation?
I've tested it on live of AntiX base x64
.
Output doesn't show up, but logic works as expected.
[GetFileMimeType] Bin/launcher-ui/js/app.js = text/plain
[GetFileMimeType] Bin/launcher-ui/css/main.css = text/css
[Ultralight] [Console]: [JS] [Error] TypeError: 'text/plain' is not a valid JavaScript MIME type. (@1:11)
I see the default platform filesystem implementation on Windows uses registry to check for MIME type. However...
Turns out on some systems it's actually set to text/plain
for .js files in the registry! I'd propose adding some hardcoded mapping for the most common web extensions, especially that WebCore will refuse to load a .js file with wrong MIME type, apparently, unlike Firefox and Chromium. I guess either that or make a patch to ignore wrong MIME type for JS files?
Ref Create() comments say that one should "set your Config before creating App".
Line 51 in 0dfc793
However, as AppWin::AppWin() constructor overrides with Platform::instance().set_config, it has no effect.
Line 23 in 0dfc793
For example, if I load https://google.co.kr like below,
auto& platform = ultralight::Platform::instance();
Config config;
config.font_family_standard = "Malgun Gothic";
config.font_family_fixed = "Malgun Gothic";
config.font_family_serif = "Malgun Gothic";
config.font_family_sans_serif = "Malgun Gothic";
config.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36";
platform.set_config(config);
app_ = App::Create();
The CORRECT way to setup config is,
app_ = App::Create();
auto& platform = ultralight::Platform::instance();
Config config;
config.font_family_standard = "Malgun Gothic";
config.font_family_fixed = "Malgun Gothic";
config.font_family_serif = "Malgun Gothic";
config.font_family_sans_serif = "Malgun Gothic";
config.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36";
platform.set_config(config);
app_->renderer() = Renderer::Create(); //this overides default config with 'my' config
Hi,
I have the taskbar icon with a .rc file. No problem for this.
But, How I can use my .rc Icon ID for the Window? I don't find any way to access HWND (for Windows).
Thanks!
In order to create a VST plugin, the host creates a window and passes the reference to the plugin to render on. I'd like to be able to use Ultralight for this, but it does not seem that it's possible to pass a previously created window like this.
Could this either a) be documented or b) be implemented?
Thanks much!
You're stating that Ultralight is designed to integrate well into existing game engines. However, looking at the GPUContextD3D12, you can only create a new device by passing a hwnd. I would love to see a constructor that allows you to pass an existing device - thats mostly the case when integrating into a game and would make things way easier. Also for me it'd be a hurdle to get into ultralig.ht.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.