Awesomium - Chromium based Framework
Posted: Sun Nov 20, 2011 8:39 pm
Awesomium is based on chromium, the free open source project from
Google, base of the browser Google Chrome. Render engine is WebKit.
http://www.awesomium.com
Awesomium is a library that writes the rendered image into a pixel-buffer.
This pixel-buffer can be easily copied into everything like file, image,
gadget, window, sprite, or texture. And this is what my include already
can. The Awesomium SDK can be installed on Windows, Mac and Linux.
But the include is just tested with the windows version and needs to be
reworked for Mac OS and Linux. Additional it is still beta and not documented.
Please feel free to check out Awesomium yourself.
Everything needed is now in this ZIP-file:
http://dl.dropbox.com/u/5498515/Awesomium_Include.zip
Please not, that you can still download and install the
Awesomium SDK at your own. It is still only tested on windows
and contains only needed files for windows.
update: (26.06.2012)
+ fixed: for ResourceRequestCallback(ID.i, *AweRequest.Awesomium_Request), now *AweRequest\Url returns full URL
+ fixed: Display issue for special width/ height values when using Awesomium-Gadget
+ fixed: Alpha-channel was lost for sprites because of DX9-bug. Now, as a workaround, when using mode #PB_Sprite_AlphaBlending, the whole sprite is repainted always!
+ added: Awesomium_JS_Execute(), Awesomium_JS_Execute_Return_XXX()
+ added: parameter "ChildProcessPath" for InitAwesomium() and an OSVersion()-check for windows, feature deactivated for linux because of missing code
+ added: parameter "PowerOf2" for CreateAwesomiumTexture() to always get a 2^X width and hight for texture. Attention: Will result in free space, right and bottom of texture, when width/ height is not 2^X! You will need to scale the texture with a material-script. There is currently no function in PB to scale the texture at runtime.
+ updated: Awesomium to version 1.6.6
+ updated: include works with PB4.61, too.
update: (17.02.2012)
+ fixed: message of missing avutil-50.dll
+ fixed: some small bugs
+ update: Browser example displays now state of request
+ update: Browser example have buttons for back and forward
+ update: every function needs now a Awesomium-ID instead of GadgetNr or WindowNr
+ update: now all public functions have the prefix "Awesomium_" except to create new objects
-> this are OpenAwesomiumWindow(), CreateAwesomiumTexture(), AwesomiumGadget(), CreateAwesomiumSprite(), CreateAwesomiumSprite3D()
+ update: now all internal functions have the prefix "Awe_"
+ update: now an awesomium-window can display tooltips
+ new: example with awesomium as a borderless window
+ new: CreateAwesomiumTexture() + example with Mouseinput (thanks Comtois)
+ new: CreateAwesomiumSprite/3D() + example
+ new: Awesomium_ResourceRequestCallback()
-> get formdata and identifies "multipart/form-data" to get selected filepath, too!
+ new: Awesomium_JS_innerHTML(), Awesomium_JS_InnerText()
+ new: Awesomium_InjectMousePos(), Awesomium_InjectMouseButton/DX()
+ new: everything packed into a zip-file with SDK 1.6.4 for windows and jQuery 1.7.1
update: (20.12.2011)
can't stop on this one and still many tests to do
+ fixed: var-types for function definition
+ updated: optimized redraw function again
+ updated: prepared for new output-buffers like borderless window, texture or sprite
+ updated: events for gadget-output now cross-platform
+ new: callback-function-wrapper to nativ PB
+ new: favicon callback (uses JS inside of Awesomium and PB-HTTP-Lib)
+ new: browser example
+ new: (Windows only) example for borderless window with alpha-support, do you know a website with transparent background?
update: (04.12.2011)
now it is the result of one weekend and one night
+ optional config on initialization (UserAgent, disable JS, CustomCSS, ...)
+ title callback
+ keyboard events (windows only)
+ buffer update optimized
+ childprocess named like mainprocess
+ filerequester
(Image from Browser Example)

(image from Engine3D Example)

original post from 20.11.2011:
I can't hold myself, so i began this include ... just a first step but
it shows what is possible with Awesomium. And i'm really impressed.
... you can do almost everything. I just can't get the
keyboard injection to work with it.
It wouldn't be bad if some one could help here, because i could
provide this functionality in the include, too
I have just
tested it with PB v4.60 x86 in Unicode on Widnows ... but it should
be working with ASII and on Linux and Mac OSX with the right
SDK (and little changes?), too.
Heavy development with this browser engine is planned not before
Christmas for me, so don't be afraid when the next update will
not come before next year.
Especially i don't know if
i really need so much functionality.
... this is just the
result of one weekend.
Google, base of the browser Google Chrome. Render engine is WebKit.
http://www.awesomium.com
Awesomium is a library that writes the rendered image into a pixel-buffer.
This pixel-buffer can be easily copied into everything like file, image,
gadget, window, sprite, or texture. And this is what my include already
can. The Awesomium SDK can be installed on Windows, Mac and Linux.
But the include is just tested with the windows version and needs to be
reworked for Mac OS and Linux. Additional it is still beta and not documented.
Please feel free to check out Awesomium yourself.

Everything needed is now in this ZIP-file:
http://dl.dropbox.com/u/5498515/Awesomium_Include.zip
Please not, that you can still download and install the
Awesomium SDK at your own. It is still only tested on windows
and contains only needed files for windows.
update: (26.06.2012)
+ fixed: for ResourceRequestCallback(ID.i, *AweRequest.Awesomium_Request), now *AweRequest\Url returns full URL
+ fixed: Display issue for special width/ height values when using Awesomium-Gadget
+ fixed: Alpha-channel was lost for sprites because of DX9-bug. Now, as a workaround, when using mode #PB_Sprite_AlphaBlending, the whole sprite is repainted always!
+ added: Awesomium_JS_Execute(), Awesomium_JS_Execute_Return_XXX()
+ added: parameter "ChildProcessPath" for InitAwesomium() and an OSVersion()-check for windows, feature deactivated for linux because of missing code
+ added: parameter "PowerOf2" for CreateAwesomiumTexture() to always get a 2^X width and hight for texture. Attention: Will result in free space, right and bottom of texture, when width/ height is not 2^X! You will need to scale the texture with a material-script. There is currently no function in PB to scale the texture at runtime.
+ updated: Awesomium to version 1.6.6
+ updated: include works with PB4.61, too.
update: (17.02.2012)
+ fixed: message of missing avutil-50.dll
+ fixed: some small bugs
+ update: Browser example displays now state of request
+ update: Browser example have buttons for back and forward
+ update: every function needs now a Awesomium-ID instead of GadgetNr or WindowNr
+ update: now all public functions have the prefix "Awesomium_" except to create new objects
-> this are OpenAwesomiumWindow(), CreateAwesomiumTexture(), AwesomiumGadget(), CreateAwesomiumSprite(), CreateAwesomiumSprite3D()
+ update: now all internal functions have the prefix "Awe_"
+ update: now an awesomium-window can display tooltips
+ new: example with awesomium as a borderless window
+ new: CreateAwesomiumTexture() + example with Mouseinput (thanks Comtois)
+ new: CreateAwesomiumSprite/3D() + example
+ new: Awesomium_ResourceRequestCallback()
-> get formdata and identifies "multipart/form-data" to get selected filepath, too!
+ new: Awesomium_JS_innerHTML(), Awesomium_JS_InnerText()
+ new: Awesomium_InjectMousePos(), Awesomium_InjectMouseButton/DX()
+ new: everything packed into a zip-file with SDK 1.6.4 for windows and jQuery 1.7.1
update: (20.12.2011)
can't stop on this one and still many tests to do

+ fixed: var-types for function definition
+ updated: optimized redraw function again
+ updated: prepared for new output-buffers like borderless window, texture or sprite
+ updated: events for gadget-output now cross-platform
+ new: callback-function-wrapper to nativ PB
+ new: favicon callback (uses JS inside of Awesomium and PB-HTTP-Lib)
+ new: browser example
+ new: (Windows only) example for borderless window with alpha-support, do you know a website with transparent background?
update: (04.12.2011)
now it is the result of one weekend and one night

+ optional config on initialization (UserAgent, disable JS, CustomCSS, ...)
+ title callback
+ keyboard events (windows only)
+ buffer update optimized
+ childprocess named like mainprocess
+ filerequester
(Image from Browser Example)

(image from Engine3D Example)

original post from 20.11.2011:
I can't hold myself, so i began this include ... just a first step but
it shows what is possible with Awesomium. And i'm really impressed.

keyboard injection to work with it.

It wouldn't be bad if some one could help here, because i could
provide this functionality in the include, too

tested it with PB v4.60 x86 in Unicode on Widnows ... but it should
be working with ASII and on Linux and Mac OSX with the right
SDK (and little changes?), too.
Heavy development with this browser engine is planned not before
Christmas for me, so don't be afraid when the next update will
not come before next year.

i really need so much functionality.

result of one weekend.
