| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #include "PolycodeWebView.h"
- PolycodeWebView::PolycodeWebView(unsigned int width, unsigned int height, String url) {
- this->width = width;
- this->height = height;
- char *testData = (char*)malloc(width*height*4);
- renderTexture = CoreServices::getInstance()->getMaterialManager()->createTexture(width, height, (char*)testData, false, Image::IMAGE_RGBA);
- delete testData;
- webCore = new Awesomium::WebCore();
- webView = webCore->createWebView(width, height);
-
- webView->loadURL(url.c_str());
- webView->focus();
- }
- PolycodeWebView::~PolycodeWebView() {
- webView->destroy();
- delete webCore;
- delete renderTexture;
- }
- void PolycodeWebView::Update() {
- webCore->update();
- if(webView->isDirty()) {
- const Awesomium::RenderBuffer* renderBuffer = webView->render();
- if(renderBuffer) {
- char *dest = (char*)malloc(width*height*4);
- renderBuffer->copyTo((unsigned char*)dest, width * 4, 4, true, true);
-
- Image *newImage = new Image(dest, width, height, Image::IMAGE_RGBA);
- renderTexture->setImageData(newImage);
- renderTexture->recreateFromImageData();
- delete newImage;
- delete dest;
- }
- }
- }
- Texture *PolycodeWebView::getRenderTexture() {
- return renderTexture;
- }
|