diff --git a/index.android.js b/index.android.js index 101d3174fe2b6fcd98645a4548c6305e6318634a..d7900e11dfff9acca7d3bfc19a8cfa4408833e19 100644 --- a/index.android.js +++ b/index.android.js @@ -1,13 +1 @@ -const Shaders = require("./src/Shaders"); -const View = require("./src/View"); -const Uniform = require("./src/Uniform"); -const Component = require("./src/ComponentDeprecated"); -const createComponent = require("./src/createComponent"); - -module.exports = { - Shaders, - View, - Uniform, - Component, - createComponent -}; +module.exports = require("./src"); diff --git a/index.ios.js b/index.ios.js index 101d3174fe2b6fcd98645a4548c6305e6318634a..d7900e11dfff9acca7d3bfc19a8cfa4408833e19 100644 --- a/index.ios.js +++ b/index.ios.js @@ -1,13 +1 @@ -const Shaders = require("./src/Shaders"); -const View = require("./src/View"); -const Uniform = require("./src/Uniform"); -const Component = require("./src/ComponentDeprecated"); -const createComponent = require("./src/createComponent"); - -module.exports = { - Shaders, - View, - Uniform, - Component, - createComponent -}; +module.exports = require("./src"); diff --git a/package.json b/package.json index 4f5ba812d815c30259217244498787cd4b06febf..29591d3aeb53e3ba8421aa9453e2ee73a5c21900 100644 --- a/package.json +++ b/package.json @@ -19,11 +19,11 @@ "author": "Project September ", "license": "MIT", "peerDependencies": { - "react-native": ">=0.9.0" + "react-native": ">=0.13.0", + "gl-react-core": "*" }, "dependencies": { - "invariant": "2.2.0", - "gl-react-core": "1.2.x" + "invariant": "2.2.0" }, "devDependencies": { "eslint": "^1.9.0", diff --git a/src/ComponentDeprecated.js b/src/ComponentDeprecated.js deleted file mode 100644 index 55810f3185b9a786f0899d8086f736b074bb800b..0000000000000000000000000000000000000000 --- a/src/ComponentDeprecated.js +++ /dev/null @@ -1,3 +0,0 @@ -const React = require("react-native"); -const {createComponentDeprecated} = require("gl-react-core"); -module.exports = createComponentDeprecated(React); diff --git a/src/View.js b/src/Surface.js similarity index 55% rename from src/View.js rename to src/Surface.js index 975ed9c68bf2b418d4952671f641473733cf18d9..0fa17f63fd6942c6707203b0d2dc20f1f46fecc8 100644 --- a/src/View.js +++ b/src/Surface.js @@ -1,14 +1,12 @@ -const {createView} = require("gl-react-core"); +const {createSurface} = require("gl-react-core"); const React = require("react-native"); -const Shaders = require("./Shaders"); -const Uniform = require("./Uniform"); const GLCanvas = require("./GLCanvas"); const { View, } = React; -const renderVcontent = function (width, height, id, children, { visibleContent }) { +function renderVcontent (width, height, id, children, { visibleContent }) { const childrenStyle = { position: "absolute", top: visibleContent ? 0 : height, // as a workaround for RN, we offset the content so it is not visible but still can be rasterized @@ -18,13 +16,13 @@ const renderVcontent = function (width, height, id, children, { visibleContent } overflow: "hidden" }; return {children}; -}; +} -const renderVGL = function (props) { +function renderVGL (props) { return ; -}; +} -const renderVcontainer = function ({ style, width, height }, contents, renderer) { +function renderVcontainer ({ style, width, height }, contents, renderer) { const parentStyle = { position: "relative", ...style, @@ -36,12 +34,6 @@ const renderVcontainer = function ({ style, width, height }, contents, renderer) {contents} {renderer} ; -}; +} -const GLView = createView(React, Shaders, Uniform, renderVcontainer, renderVcontent, renderVGL); - -GLView.prototype.setNativeProps = function (props) { - this.refs.native.setNativeProps(props); -}; - -module.exports = GLView; +module.exports = createSurface(renderVcontainer, renderVcontent, renderVGL); diff --git a/src/Uniform.js b/src/Uniform.js deleted file mode 100644 index b5bc1c2c08e88591bd49f2edf5afad9f470dab6d..0000000000000000000000000000000000000000 --- a/src/Uniform.js +++ /dev/null @@ -1,3 +0,0 @@ -const {createUniform} = require("gl-react-core"); -const React = require("react-native"); -module.exports = createUniform(React); diff --git a/src/createComponent.js b/src/createComponent.js deleted file mode 100644 index 71f83410df11173e13c8b2b085410b988e2165ad..0000000000000000000000000000000000000000 --- a/src/createComponent.js +++ /dev/null @@ -1,4 +0,0 @@ -const React = require("react-native"); -const View = require("./View"); -const {createComponent} = require("gl-react-core"); -module.exports = createComponent(React, View); diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000000000000000000000000000000000000..5f622112c1cfaf4b1eecd78e2932430a28e1b5d1 --- /dev/null +++ b/src/index.js @@ -0,0 +1,11 @@ +const { Shaders } = require("gl-react-core"); +const Surface = require("./Surface"); +const { NativeModules: { RNGLContext } } = require("react-native"); + +// Hook Shaders to RNGLContext +Shaders.list().map(id => RNGLContext.addShader(id, Shaders.get(id))); +Shaders.on("add", (id, shader) => RNGLContext.addShader(id, shader)); + +module.exports = { + Surface +};