Commit 3f336735 authored by Gaëtan Renaudeau's avatar Gaëtan Renaudeau

dep on rn 0.18.0-rc + fixes #53

parent 8deddda8
......@@ -6,9 +6,11 @@
"start": "react-native start"
},
"dependencies": {
"gl-react": "^2.0.2",
"fbjs": "^0.6.0",
"gl-react": "^2.1.0",
"gl-react-native": "file:../..",
"glsl-transitions": "^2015.11.8",
"react-native": "^0.17.0"
"react": "^0.14.5",
"react-native": "0.18.0-rc"
}
}
require("gl-react/react-native");
const React = require("react-native");
const {
StyleSheet,
......
......@@ -7,9 +7,11 @@
},
"dependencies": {
"crypto": "0.0.3",
"gl-react": "^2.0.6",
"fbjs": "^0.6.0",
"gl-react": "^2.1.0",
"gl-react-native": "file:../..",
"react-native": "^0.17.0",
"react": "^0.14.5",
"react-native": "0.18.0-rc",
"seedrandom": "gre/seedrandom#released"
}
}
import GL from "gl-react";
const {React} = GL;
import React from "react";
const {PropTypes} = React;
const shaders = GL.Shaders.create({
......
require("gl-react/react-native");
const React = require("react-native");
const {
StyleSheet,
......
......@@ -6,10 +6,12 @@
"start": "react-native start"
},
"dependencies": {
"gl-react": "^2.0.8",
"fbjs": "^0.6.0",
"gl-react": "^2.1.0",
"gl-react-native": "file:../..",
"react-native": "^0.17.0",
"react": "^0.14.5",
"react-native": "0.18.0-rc",
"react-native-fs": "^1.1.0",
"react-native-material-kit": "^0.2.4"
"react-native-material-kit": "gre/react-native-material-kit#no-peerDependencies"
}
}
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const Blur1D = require("./Blur1D");
module.exports = GL.createComponent(({ width, height, factor, children }) =>
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
blur1D: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
helloGL: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
hueRotate: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
pieProgress: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
saturation: {
......
require("gl-react/react-native");
const React = require("react-native");
const {
StyleSheet,
......
......@@ -6,8 +6,10 @@
"start": "react-native start"
},
"dependencies": {
"fbjs": "^0.6.0",
"gl-react": "^2.1.0",
"gl-react-native": "file:../..",
"gl-react": "^2.0.2",
"react-native": "^0.17.0"
"react": "^0.14.5",
"react-native": "0.18.0-rc"
}
}
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
add: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const {
PropTypes
} = React;
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const {
PropTypes
} = React;
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
Copy: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
display2: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
helloGL: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
layer: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
multiply: {
......
const GL = require("gl-react");
const React = GL.React;
const React = require("react");
const shaders = GL.Shaders.create({
TransparentNonPremultiplied: {
......
require("gl-react/react-native");
const React = require("react-native");
const {
Text,
......
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":RNGL" external.linked.project.path="$MODULE_DIR$/../../android" external.root.project.path="$MODULE_DIR$/../AdvancedEffects/android" external.system.id="GRADLE" external.system.module.group="AdvancedEffects" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":RNGL" />
</configuration>
</facet>
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
<afterSyncTasks>
<task>generateDebugAndroidTestSources</task>
<task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
<option name="LIBRARY_PROJECT" value="true" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/../../android/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/../../android/build/intermediates/classes/androidTest/debug" />
<exclude-output />
<content url="file://$MODULE_DIR$/../../android">
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/source/r/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/source/rs/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/res/rs/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/res/resValues/debug" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/debug/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/debug/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/debug/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/debug/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/main/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/main/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/../../android/src/androidTest/rs" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/annotations" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/lint" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/../../android/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="okhttp-ws-2.5.0" level="project" />
<orderEntry type="library" exported="" name="library-2.4.0" level="project" />
<orderEntry type="library" exported="" name="okio-1.6.0" level="project" />
<orderEntry type="library" exported="" name="stetho-okhttp-1.2.0" level="project" />
<orderEntry type="library" exported="" name="okhttp-2.5.0" level="project" />
<orderEntry type="library" exported="" name="stetho-1.2.0" level="project" />
<orderEntry type="library" exported="" name="jsr305-3.0.0" level="project" />
<orderEntry type="library" exported="" name="jackson-core-2.2.3" level="project" />
<orderEntry type="library" exported="" name="fbcore-0.8.1" level="project" />
<orderEntry type="library" exported="" name="commons-cli-1.2" level="project" />
<orderEntry type="library" exported="" name="recyclerview-v7-23.0.1" level="project" />
<orderEntry type="library" exported="" name="imagepipeline-0.8.1" level="project" />
<orderEntry type="library" exported="" name="react-native-0.17.1" level="project" />
<orderEntry type="library" exported="" name="android-jsc-r174650" level="project" />
<orderEntry type="library" exported="" name="fresco-0.8.1" level="project" />
<orderEntry type="library" exported="" name="imagepipeline-okhttp-0.8.1" level="project" />
<orderEntry type="library" exported="" name="bolts-android-1.1.4" level="project" />
<orderEntry type="library" exported="" name="support-v4-23.0.1" level="project" />
<orderEntry type="library" exported="" name="drawee-0.8.1" level="project" />
<orderEntry type="library" exported="" name="appcompat-v7-23.0.1" level="project" />
<orderEntry type="library" exported="" name="support-annotations-23.0.1" level="project" />
</component>
</module>
\ No newline at end of file
......@@ -83,6 +83,22 @@ NSArray* diff (NSArray* a, NSArray* b) {
RCT_NOT_IMPLEMENTED(-init)
- (void)dealloc
{
_bridge = nil;
_images = nil;
_preloaded = nil;
_captureConfigs = nil;
_contentData = nil;
_contentTextures = nil;
_data = nil;
_renderData = nil;
if (animationTimer) {
[animationTimer invalidate];
animationTimer = nil;
}
}
//// Props Setters
- (void) requestCaptureFrame: (CaptureConfig *)config
......@@ -375,9 +391,11 @@ RCT_NOT_IMPLEMENTED(-init)
if (_needSync) {
NSError *error;
if(![self syncData:&error] && error==nil) {
// the data is not ready, retry in one tick
[self setNeedsDisplay];
BOOL syncSuccessful = [self syncData:&error];
BOOL errorCanBeRecovered = error==nil || (error.code != GLLinkingFailure && error.code != GLCompileFailure);
if (!syncSuccessful && errorCanBeRecovered) {
// something failed but is recoverable, retry in one tick
[self performSelectorOnMainThread:@selector(setNeedsDisplay) withObject:nil waitUntilDone:NO];
}
else {
_needSync = false;
......
......@@ -18,6 +18,11 @@ RCT_EXPORT_MODULE();
return self;
}
- (dispatch_queue_t)methodQueue
{
return self.bridge.uiManager.methodQueue;
}
RCT_EXPORT_VIEW_PROPERTY(nbContentTextures, NSNumber);
RCT_EXPORT_VIEW_PROPERTY(opaque, BOOL);
RCT_EXPORT_VIEW_PROPERTY(autoRedraw, BOOL);
......
......@@ -4,7 +4,8 @@
NS_ENUM(NSInteger) {
GLContextFailure = 87001,
GLLinkingFailure = 87002,
GLCompileFailure = 87003
GLCompileFailure = 87003,
GLNotAProgram = 87004
};
@interface GLShader: NSObject
......
......@@ -66,11 +66,20 @@ GLuint compileShader (NSString* shaderName, NSString* shaderString, GLenum shade
{
glDeleteProgram(program);
glDeleteBuffers(1, &buffer);
_name = nil;
_context = nil;
_vert = nil;
_frag = nil;
_uniformLocations = nil;
_uniformTypes = nil;
program = 0;
buffer = 0;
pointerLoc = 0;
}
- (bool) ensureContext: (NSError **)error
{
if (![EAGLContext setCurrentContext:_context]) {
if (!_context || ![EAGLContext setCurrentContext:_context]) {
*error = [[NSError alloc] initWithDomain:@"Failed to set current OpenGL context" code:GLContextFailure userInfo:nil];
return false;
}
......@@ -79,15 +88,6 @@ GLuint compileShader (NSString* shaderName, NSString* shaderString, GLenum shade
- (void) bind
{
NSError *error;
if (![self ensureContext:&error]) {
RCTLogError(@"%@", error.domain);
return;
}
if ( glIsProgram(program) != GL_TRUE ){
RCTLogError(@"Shader '%@': not a program!", _name);
return;
}
glUseProgram(program);
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glEnableVertexAttribArray(pointerLoc);
......@@ -341,6 +341,13 @@ GLuint compileShader (NSString* shaderName, NSString* shaderString, GLenum shade
- (bool) ensureCompiles: (NSError **)error
{
if (![self ensureContext:error]) {
return false;
}
if (!glIsProgram(program)) {
*error = [[NSError alloc] initWithDomain:@"not a program" code:GLNotAProgram userInfo:nil];
return false;
}
if (_error == nil) return true;
*error = _error;
return false;
......
......@@ -19,15 +19,10 @@
"author": "Project September <tech@projectseptember.com>",
"license": "MIT",
"peerDependencies": {
"react-native": ">= 0.17.0 <0.18.0",
"gl-react": ">= 2.0.3 <2.1.0"
"react-native": "0.18.0-rc",
"gl-react": "^2.1.0"
},
"dependencies": {
"invariant": "2.2.0"
},
"devDependencies": {
"babel-eslint": "^4.1.6",
"eslint": "^1.9.0",
"eslint-plugin-react": "^3.8.0"
}
}
......@@ -106,7 +106,7 @@ class GLCanvas extends Component {
this._pendingCaptureFrame[key].resolve(result);
}
delete this._pendingCaptureFrame[key];
}
};
render () {
const { width, height, onLoad, onProgress, eventsThrough, ...restProps } = this.props;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment