Awesomium - Chromium based Framework

Share your advanced PureBasic knowledge/code with the community.
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: Awesomium - Chromium based Framework

Post by PMV »

Danilo wrote:Try the flag #PB_Byte for Bin() and
b.b = awe_is_child_process(GetModuleHandle_(0))
Debug b
Debug awe_is_child_process(GetModuleHandle_(0)) & $FF

You already know PB does not check much.
Sure, thats why i ask ... to be sure that it is allright. :wink:
I doesn't have much experience with C/C++ ...
Is C/C++ handling only the first bit on bool-types or is it
interpreting the full byte? As i mean do i need to make
"& $FF" or is "& %1" enough?


... arg, there is another type i can't solve, what is the
type used for enumerations? For example this enum:

Code: Select all

; typedef enum _awe_loglevel
; {
;         AWE_LL_NONE,
;         AWE_LL_NORMAL,
;         AWE_LL_VERBOSE
; } awe_loglevel;
What type is pasted to a function that wants
the type "awe_loglevel"?
Polo wrote:Don't know much about Chromium but it'd be nice to use it with a .lib .a on the 3 platforms instead of a DLL/Dylib etc.
That'd make a very good replacement to the webgadget, especially on windows where it uses IE...
Awesomium, not Chromium :wink:
And as i remember (no guarantee) the license says,
statical linking is forbidden. But as i have written: SDK
available for all 3 platforms. Full cross-platform support. :wink:
No problem with dynamical linking, just try it. :)
I don't need Mac or Linux support yet, so i will only
test on windows for now ... if you want to improve it
for Mac/ Linux, feel free to test it there and update my code
to get it run. :wink:

MFG PMV
Polo
Addict
Addict
Posts: 2422
Joined: Tue May 06, 2003 5:07 pm
Location: UK

Re: Awesomium - Chromium based Framework

Post by Polo »

Oh ok, unfortunately if this requires a DLL I'm not using it, it just makes it easier only to have one .exe/.app :)
User avatar
Danilo
Addict
Addict
Posts: 3037
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Re: Awesomium - Chromium based Framework

Post by Danilo »

PMV wrote:Is C/C++ handling only the first bit on bool-types or is it interpreting the full byte?
I think it could be compiler dependent.
PMV wrote:As i mean do i need to make "& $FF" or is "& %1" enough?
If you work with bytes, take $FF. $1 isn't any faster.
PMV wrote:what is the type used for enumerations?
32bit signed int. In PureBasic .l (for C++.NET the size of enumerations varies)
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: Awesomium - Chromium based Framework

Post by PMV »

it becomes more and more stable :lol:
Now i use it with my JSON-Include as a GUI, works great. 8)

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
+ 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.

Bug in PB4.61:
Don't know if it is a bug, but now the painted texture is displayed
mirrored and normal at the same time, so you see two versions
and it switches rapidly. In this case TextureOutput() is not usable.
bug-report: http://www.purebasic.fr/english/viewtop ... =4&t=50375

MFG PMV
Last edited by PMV on Wed Jun 27, 2012 2:19 pm, edited 1 time in total.
X
Enthusiast
Enthusiast
Posts: 311
Joined: Tue Apr 04, 2006 6:27 am

Re: Awesomium - Chromium based Framework

Post by X »

Wow, combine this with ProGUI (Major Update 2), and you have a complete game gui framework like Eve Online ;)
ricardo
Addict
Addict
Posts: 2402
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Re: Awesomium - Chromium based Framework

Post by ricardo »

Sounds great but does not run here (using 4.60)
ARGENTINA WORLD CHAMPION
ricardo
Addict
Addict
Posts: 2402
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Re: Awesomium - Chromium based Framework

Post by ricardo »

Some other example?
ARGENTINA WORLD CHAMPION
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: Awesomium - Chromium based Framework

Post by PMV »

I will work on this in the near future and provide examples
for new functionality. But after so much time of testing i have just
designed the GUI for my project, no more example yet.

But your previous post says, you can't get the current stuff running?
If so, other examples will not work either. On windows it shouldn't
be to hard. Just download the SDK and change the path inside of the
code. Thats what i have done. For Mac or linux, i don't know what
parts of the code are need to be updated.

MFG PMV
ricardo
Addict
Addict
Posts: 2402
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Re: Awesomium - Chromium based Framework

Post by ricardo »

Hi

It claims the absence of avutil-50.dll
ARGENTINA WORLD CHAMPION
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: Awesomium - Chromium based Framework

Post by PMV »

I have just found this (german): http://www.heise.de/security/meldung/Mi ... 69075.html

It is about this: http://support.microsoft.com/kb/2264107
It says, that if you have set that reg-value to fffffffff then chrome cant find that dll and if so, i think awesomium will have the same problem :)

MFG PMV
ricardo
Addict
Addict
Posts: 2402
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Re: Awesomium - Chromium based Framework

Post by ricardo »

I set to run as runnign dir the awesmoiun one and it finally found the dll.

But then do nothing, no page was rendered. No nothing at all.
ARGENTINA WORLD CHAMPION
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: Awesomium - Chromium based Framework

Post by PMV »

That can't work. But now i have reproduced the bug and fixed it.
It will be fixed in the next version, untill then you need to copy
the missing DLL from the SDK-Folder into the same directory
as your process (*.exe). :)

MFG PMV
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: Awesomium - Chromium based Framework

Post by PMV »

thank you ricardo for bug-report and comtois for help :)

Now i would consider this as a beta-state. 8)
Next step is to implement it into my project. So i will focus on testing.

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


known bugs:
- realtime resize doesn't work properly (browser example)
- sprite3D not updated properly
- include not tested with Linux and Mac

- please report bugs
- missing documentation, checkout examples and documentation of awesomium for help


currently not implemented:
login request:
awe_webview_login(), awe_webview_set_callback_request_login(), awe_webview_cancel_login()

google-translate:
awe_webview_translate_page()

search for text inside of a website:
awe_webview_find(), awe_webview_set_callback_get_find_results(), awe_webview_stop_find()

page dimension and scroll data:
awe_webview_request_scroll_data(), awe_webview_set_callback_get_scroll_data()
printer:
awe_webview_print(), awe_webcore_set_suppress_printer_dialog()

IME:
awe_webview_activate_ime(), we_webview_cancel_ime_composition(), awe_webview_confirm_ime_composition(), awe_webview_set_callback_update_ime(), awe_webview_set_ime_composition()


... and there are a few more methods i have just ignored. :lol:


quote from developer:
The Chromium version in Awesomium (1.6.x) is currently up to
2 years old, but future version 1.7 will contain the latest build. :D
User avatar
ultralazor
Enthusiast
Enthusiast
Posts: 186
Joined: Sun Jun 27, 2010 9:00 am

Re: Awesomium - Chromium based Framework

Post by ultralazor »

I can only see this being useful if it runs scripts and plugins, at the least, DOM access would be a plus. Most sites simply don't function without jscript and flash these days..

Also one curse with ieframe.dll is the cache bugs with plugins and the status bugs, if you need and embedded browser you're pretty much SOL cause those bugs have been there for years and nobody cares, there's no workarounds either..
so many ideas so little time..
Poshu
Enthusiast
Enthusiast
Posts: 459
Joined: Tue Jan 25, 2005 7:01 pm
Location: Canada

Re: Awesomium - Chromium based Framework

Post by Poshu »

This is SO what I needed right now. Are you planning to continue updating it?
Post Reply