index.ios.js 4.71 KB
Newer Older
1 2 3 4 5
const React = require("react-native");
const {
  AppRegistry,
  Text,
  View,
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
6 7
  ScrollView,
  Image,
8 9 10 11 12 13
} = React;

const Blur = require("./Blur");
const Add = require("./Add");
const Multiply = require("./Multiply");
const Layer = require("./Layer");
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
14
const NativeLayer = require("./NativeLayer");
15 16
const HelloGL = require("./HelloGL");
const Display2 = require("./Display2");
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
17
const Copy = require("./Copy");
18 19
const { width: viewportW, height: viewportH } = require("Dimensions").get("window");

20 21 22 23 24 25 26 27 28 29 30 31 32 33
class Tests extends React.Component {

  constructor (props) {
    super(props);
    this.onLoad = this.onLoad.bind(this);
    this.onProgress = this.onProgress.bind(this);
  }
  onLoad () {
    console.log("LOADED");
  }
  onProgress ({nativeEvent: { progress, loaded, total }}) {
    console.log("PROGRESS", progress, loaded, total);
  }
  render () {
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
34 35 36

    const debugSize = viewportW / 2;

37 38 39 40
    const helloGL =
      <HelloGL width={64} height={64} />;

    const txt =
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
41
      <View style={{ width: 800, height: 800, position: "relative", backgroundColor: "transparent" }}>
42 43 44 45 46 47 48 49 50 51 52 53 54 55
        {[0,1,2,3].map(i => <Text style={{
          position: "absolute",
          top: 40+200*i,
          left: 0,
          width: 800,
          height: 200,
          textAlign: "center",
          color: ["#f00", "#0f0", "#00f", "#fff"][i],
          fontSize: 80
        }}>
          Hello World {i}
        </Text>)}
      </View>;

56
    const img = "http://i.imgur.com/zJIxPEo.jpg?t="+Date.now();
57 58 59 60 61 62 63 64 65 66 67 68

    const blurredImage =
      <Blur factor={4} passes={6} width={200} height={200}>
        {img}
      </Blur>;

    const blurredImageOverText =
      <Layer>
        {blurredImage}
        {txt}
      </Layer>;

Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
69 70 71 72 73 74 75 76 77 78 79 80 81 82
    return <ScrollView style={{ backgroundColor: "#000" }}>
      <Display2 width={viewportW} height={viewportW} preload onLoad={this.onLoad} onProgress={this.onProgress}>
        <Add width={viewportW/2} height={viewportH/2}>
          {txt}
          {helloGL}
        </Add>
        <Display2 width={viewportW/2} height={viewportH/2} vertical>
          <Blur factor={1} passes={4} width={viewportW/2} height={viewportH/4}>
            <Multiply>
              {blurredImageOverText}
              {helloGL}
            </Multiply>
          </Blur>
          {blurredImage}
83 84
        </Display2>
      </Display2>
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
85 86 87 88 89 90 91 92 93 94


      <View style={{ flexDirection: "row", flexWrap: "wrap" }}>

        <NativeLayer width={debugSize} height={debugSize}>
          <Image source={{ uri: "http://i.imgur.com/S22HNaU.png" }} width={debugSize} height={debugSize} />
          <Image source={{ uri: "http://i.imgur.com/mp79p5T.png" }} width={debugSize} height={debugSize} />
        </NativeLayer>

        <NativeLayer width={debugSize} height={debugSize}>
95 96 97
          <Image source={{ uri: "http://i.imgur.com/S22HNaU.png" }} width={debugSize} height={debugSize} />
          <Copy width={debugSize} height={debugSize} opaque={false}>
            http://i.imgur.com/mp79p5T.png
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
98 99 100 101 102 103
          </Copy>
        </NativeLayer>

        <NativeLayer width={debugSize} height={debugSize}>
          <Image source={{ uri: "http://i.imgur.com/S22HNaU.png" }} width={debugSize} height={debugSize} />
          <Copy width={debugSize} height={debugSize} opaque={false}>
104 105 106
            <Copy>
              http://i.imgur.com/mp79p5T.png
            </Copy>
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
107 108 109 110
          </Copy>
        </NativeLayer>

        <NativeLayer width={debugSize} height={debugSize}>
111 112 113 114 115 116 117
          <Image source={{ uri: "http://i.imgur.com/S22HNaU.png" }} width={debugSize} height={debugSize} />
          <Copy width={debugSize} height={debugSize} opaque={false}>
            <Copy>
              <Copy>
                http://i.imgur.com/mp79p5T.png
              </Copy>
            </Copy>
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
118
          </Copy>
119 120 121 122
        </NativeLayer>

        <NativeLayer width={debugSize} height={debugSize}>
          <Image source={{ uri: "http://i.imgur.com/S22HNaU.png" }} width={debugSize} height={debugSize} />
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
123
          <Copy width={debugSize} height={debugSize} opaque={false}>
124 125 126 127 128 129 130
            <Copy>
              <Copy>
                <Copy>
                  http://i.imgur.com/mp79p5T.png
                </Copy>
              </Copy>
            </Copy>
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
131 132 133
          </Copy>
        </NativeLayer>

134 135 136 137 138 139 140 141 142 143 144 145 146 147
        <NativeLayer width={debugSize} height={debugSize}>
          <Image source={{ uri: "http://i.imgur.com/S22HNaU.png" }} width={debugSize} height={debugSize} />
          <Copy width={debugSize} height={debugSize} opaque={false}>
            <Copy>
              <Copy>
                <Copy>
                  <Copy>
                    http://i.imgur.com/mp79p5T.png
                  </Copy>
                </Copy>
              </Copy>
            </Copy>
          </Copy>
        </NativeLayer>
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
148 149 150
      </View>

    </ScrollView>;
151
  }
152
}
153 154

AppRegistry.registerComponent("Tests", () => Tests);