Browse Source

Working on fleshing out some web view stuff

Josh Engebretson 10 years ago
parent
commit
fb5daaf11f

+ 0 - 1
Source/AtomicWebView/WebBrowserHost.h

@@ -6,7 +6,6 @@
 namespace Atomic
 {
 
-/// Javascript subsystem.
 class ATOMIC_API WebBrowserHost : public Object
 {
     OBJECT(WebBrowserHost);

+ 19 - 0
Source/AtomicWebView/WebClient.cpp

@@ -0,0 +1,19 @@
+
+#include "WebClient.h"
+
+namespace Atomic
+{
+
+
+WebClient::WebClient(Context* context) : Object(context)
+{
+
+}
+
+WebClient::~WebClient()
+{
+
+}
+
+
+}

+ 24 - 0
Source/AtomicWebView/WebClient.h

@@ -0,0 +1,24 @@
+
+#include <ThirdParty/CEF/include/cef_client.h>
+#include <Atomic/Core/Object.h>
+
+#pragma once
+
+namespace Atomic
+{
+
+class ATOMIC_API WebClient : public Object, public CefClient
+{
+    OBJECT(WebClient);
+
+public:
+    /// Construct.
+    WebClient(Context* context);
+    /// Destruct.
+    ~WebClient();
+
+private:
+
+};
+
+}

+ 22 - 0
Source/AtomicWebView/WebRenderer.cpp

@@ -0,0 +1,22 @@
+
+#include <Atomic/Resource/ResourceCache.h>
+#include <Atomic/Graphics/Graphics.h>
+#include <Atomic/Graphics/Technique.h>
+
+#include "WebRenderer.h"
+
+namespace Atomic
+{
+
+
+WebRenderer::WebRenderer(Context* context) : Object (context)
+{
+}
+
+WebRenderer::~WebRenderer()
+{
+
+}
+
+
+}

+ 28 - 0
Source/AtomicWebView/WebRenderer.h

@@ -0,0 +1,28 @@
+
+#include <Atomic/Graphics/Texture2D.h>
+#include <Atomic/Graphics/Material.h>
+
+#include "WebClient.h"
+
+#pragma once
+
+namespace Atomic
+{
+
+class ATOMIC_API WebRenderer : public Object, public CefRenderHandler
+{
+    OBJECT(WebRenderer);
+
+public:
+
+    /// Construct.
+    WebRenderer(Context* context);
+    /// Destruct.
+    ~WebRenderer();
+
+private:
+
+
+};
+
+}

+ 32 - 0
Source/AtomicWebView/WebTexture2D.cpp

@@ -0,0 +1,32 @@
+
+#include <Atomic/Resource/ResourceCache.h>
+#include <Atomic/Graphics/Graphics.h>
+#include <Atomic/Graphics/Technique.h>
+
+#include "WebTexture2D.h"
+
+namespace Atomic
+{
+
+
+WebTexture2D::WebTexture2D(Context* context, int width, int height) : WebRenderer(context)
+{
+    ResourceCache* cache = GetSubsystem<ResourceCache>();
+
+    texture_ = new Texture2D(context_);
+    texture_->SetSize(width, height, Graphics::GetRGBAFormat(), TEXTURE_DYNAMIC);
+    texture_->SetFilterMode(FILTER_NEAREST);
+
+    material_ = new Material(context_);
+
+    material_->SetTechnique(0, cache->GetResource<Technique>("Techniques/DiffUnlit.xml"));
+    material_->SetTexture(TU_DIFFUSE, texture_);
+}
+
+WebTexture2D::~WebTexture2D()
+{
+
+}
+
+
+}

+ 30 - 0
Source/AtomicWebView/WebTexture2D.h

@@ -0,0 +1,30 @@
+
+#include <Atomic/Graphics/Texture2D.h>
+#include <Atomic/Graphics/Material.h>
+
+#include "WebRenderer.h"
+
+#pragma once
+
+namespace Atomic
+{
+
+class ATOMIC_API WebTexture2D : public WebRenderer
+{
+    OBJECT(WebTexture2D);
+
+public:
+
+    /// Construct.
+    WebTexture2D(Context* context, int width = 1024, int height = 1024);
+    /// Destruct.
+    ~WebTexture2D();
+
+private:
+
+    SharedPtr<Texture2D> texture_;
+    SharedPtr<Material> material_;
+
+};
+
+}