Allegro.cc - Online Community

Allegro.cc Forums » Game Design & Concepts » Using HTML+CSS for GUIs part 4: Feature Requests

This thread is locked; no one can reply to it. rss feed Print
Using HTML+CSS for GUIs part 4: Feature Requests
relpatseht
Member #5,034
September 2004
avatar

It's been about six weeks since I last updated all of you on my Chromium integration library and, as promised, I am approaching an official release. I've updated to Chromium v8 (a stable, rather than beta channel, but still further along the development chain after so many months of work), fixed up the bugs I knew about then and the ones discovered since then, for the most part.

I have about three weeks left until I go back to school, at which point all my time will be siphoned off toward making video games, rather than cool little GUI libraries.

The current feature list is as follows:

  • Working HTML5 web browser with CSS3 support (as far as it is in development)

  • Dirty rectangle system for minimal update time

  • Retrieval of rendered webpage as BGRA pixel data

  • Turn global scroll bars on and off

  • Force the page background to be wholly transparent

  • Execute javascript within a page

  • Full clipboard accessible through javascript

  • Bind c++ code to javascript objects, global functions, and global variables

  • Retrieve all javascript errors on a page

  • Probably other stuff...

Planned for addition before release (in order of importance):

  • Stores browser history so javascript back/forward works

  • Callback system for alerts, prompts, and other modal dialogs

  • Callback system for HTML events

  • Resource (broken image, expand text area, media player, etc) customization

  • Download callback

  • Cursor support

  • Requests

Anyway, that would be current progress. Are there any requests before the release for things I should add? I will probably have time for one or two other things (depending on feasibility).

I should be releasing before mid-January. I go back to school sometime around then, so the release will have to be before no matter what.

Billybob
Member #3,136
January 2003

Huzzah! Yay! Merry Christmas! ;D

Keep up the awesome work 8-)

Retrieval of rendered webpage as BGRA pixel data

If I had to suggest anything, I guess it would be a built-in function to return any pixel format, instead of just BGRA. That amounts to simply writing the conversion functions yourself, unless Chromium already supports returning different pixel formats.

bamccaig
Member #7,536
July 2006
avatar

It's hard to really think of feature requests without trying it ourselves. :P It would be nice if you could streamline the build process so that we wouldn't have to spend a month learning about how get Mozilla or Chromium building, etc. If you could set it up so that we could get working with your library in a matter of minutes then I think that you will get a lot of attention that could keep it in development through a community effort.

relpatseht
Member #5,034
September 2004
avatar

Honestly, I wasn't even really considering doing much documentation on how to build. On my machine, it takes about fifty hours and ten gigabytes (I only have a forty gigabyte hard drive, so this was actually a big deal) to go from nothing to a complete build of chromium and my dll, then an additional twenty-three minutes of link time every time my library changes (iteration is a real bitch).

However, I could certainly take some time to write down all I know about chromium, the build process, and the general steps I take to update the chromium backend for any people out there a bit touched in the head.

As far as working with my library, however, that does take a matter of minutes. You'll see when it is released, but, at the minimum, it is just an initialization function and pumping in input events. I'll be sure to have examples, rather than just comments.

Building in pixel conversion routines would be a rather simple task, I suppose (no, chromium doesn't support it natively), but I have some doubts about the utility of such a thing. I usually just push the pixel data out to a texture and let the graphics card handle the conversion for me, but we'll see.

Anyway, at present I'm improving the JavaScript binding library. Adding in more support and fixing a few minor bugs. The chromium binding part of this library is really cool and took quite a bit of research, but I must say, this binding library is probably the most technically challenging thing I've ever done. I won't go to far into the details, but it actually requires dual binding to have both script execution support and the ability to bind functions and objects to chromium itself.

I could talk about this project for hours, but I had better get back to work.

[edit]
Oh yes, as far as feature requests go, I mostly meant just things you'd expect from a GUI library which isn't handled implicitly by the ability to render HTML, if that helps any. Although, turns out I go back to school four days earlier than I had thought, so my time will be slightly more constrained.

Billybob
Member #3,136
January 2003

The chromium binding part of this library is really cool and took quite a bit of research, but I must say, this binding library is probably the most technically challenging thing I've ever done.

I love me a good binding library 8-) It's nice to write just 3 or 4 lines of binding code and then go crazy in JavaScript ;D

Go to: