incubator-nuvem-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jsdelf...@apache.org
Subject svn commit: r1154292 - in /incubator/nuvem/trunk/nuvem-parallel/nuvem: frames.py htinline.py left.py top.py transform.py transition.py
Date Fri, 05 Aug 2011 16:24:00 GMT
Author: jsdelfino
Date: Fri Aug  5 16:24:00 2011
New Revision: 1154292

URL: http://svn.apache.org/viewvc?rev=1154292&view=rev
Log:
Add components that generate CSS transforms and transitions.

Added:
    incubator/nuvem/trunk/nuvem-parallel/nuvem/frames.py
    incubator/nuvem/trunk/nuvem-parallel/nuvem/htinline.py
    incubator/nuvem/trunk/nuvem-parallel/nuvem/left.py
    incubator/nuvem/trunk/nuvem-parallel/nuvem/top.py
    incubator/nuvem/trunk/nuvem-parallel/nuvem/transform.py
    incubator/nuvem/trunk/nuvem-parallel/nuvem/transition.py

Added: incubator/nuvem/trunk/nuvem-parallel/nuvem/frames.py
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-parallel/nuvem/frames.py?rev=1154292&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-parallel/nuvem/frames.py (added)
+++ incubator/nuvem/trunk/nuvem-parallel/nuvem/frames.py Fri Aug  5 16:24:00 2011
@@ -0,0 +1,56 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#    http://www.apache.org/licenses/LICENSE-2.0
+#    
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+def get(r, msec, loop, content):
+    import string
+
+    ms = msec.get(r)
+    if ms is None or ms == 0:
+        return ''
+    l = loop.get(r)
+    lv = 'infinite' if l is True else '1' if l is None or l is False else '{0:g}'.format(l)

+
+    def keyframe(f):
+        t = f[0]
+        v = f[1]
+
+        def isList(v):
+            if getattr(v, '__iter__', False) == False:
+                return False
+            if isinstance(v, basestring) or isinstance(v, dict):
+                return False
+            return True
+
+        def isAssoc(v):
+            if not isList(v):
+                return False
+            if len(v) != 2:
+                return False
+            if isinstance(v[0], basestring) and v[0][0:1] == "'":
+                return True
+            return False
+
+        if isList(v):
+            return '{0:g}% {{ {1} }}'.format(t, string.join(map(lambda x: (x[0][1:] + ':
' + str(x[1]) + ';') if isAssoc(x) else (str(x) + ';'), v), ' '))
+
+        return '{0:g}% {{ {1} }}'.format(t, v)
+
+    kf = ' '.join(map(keyframe, content.get(r)))
+
+    uid = '{id}'
+    return 'position: absolute; -webkit-animation: {0} {1:g}s ease 0 {2} normal; -moz-animation:
{0} {1:g}s ease 0 {2} normal; <style> @-webkit-keyframes {0} {{ {3} }} @-moz-keyframes
{0} {{ {3} }} </style>'.format(uid, ms / 1000.0, lv, kf)
+

Added: incubator/nuvem/trunk/nuvem-parallel/nuvem/htinline.py
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-parallel/nuvem/htinline.py?rev=1154292&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-parallel/nuvem/htinline.py (added)
+++ incubator/nuvem/trunk/nuvem-parallel/nuvem/htinline.py Fri Aug  5 16:24:00 2011
@@ -0,0 +1,26 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#    http://www.apache.org/licenses/LICENSE-2.0
+#    
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+import base64
+import string
+
+def get(r, img):
+    v = img.get(r)
+    if v is None:
+        return ''
+    return 'data:' + v[0] + ';base64,' + base64.encodestring(string.join(v[1], ''))
+

Added: incubator/nuvem/trunk/nuvem-parallel/nuvem/left.py
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-parallel/nuvem/left.py?rev=1154292&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-parallel/nuvem/left.py (added)
+++ incubator/nuvem/trunk/nuvem-parallel/nuvem/left.py Fri Aug  5 16:24:00 2011
@@ -0,0 +1,21 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#    http://www.apache.org/licenses/LICENSE-2.0
+#    
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+def get(r, n):
+    vn = n.get(r)
+    return 'left: {0:g}px'.format(round(0 if vn is None else float(vn), 0))
+

Added: incubator/nuvem/trunk/nuvem-parallel/nuvem/top.py
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-parallel/nuvem/top.py?rev=1154292&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-parallel/nuvem/top.py (added)
+++ incubator/nuvem/trunk/nuvem-parallel/nuvem/top.py Fri Aug  5 16:24:00 2011
@@ -0,0 +1,21 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#    http://www.apache.org/licenses/LICENSE-2.0
+#    
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+def get(r, n):
+    vn = n.get(r)
+    return 'top: {0:g}px'.format(round(0 if vn is None else float(vn), 0))
+

Added: incubator/nuvem/trunk/nuvem-parallel/nuvem/transform.py
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-parallel/nuvem/transform.py?rev=1154292&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-parallel/nuvem/transform.py (added)
+++ incubator/nuvem/trunk/nuvem-parallel/nuvem/transform.py Fri Aug  5 16:24:00 2011
@@ -0,0 +1,26 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#    http://www.apache.org/licenses/LICENSE-2.0
+#    
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+def get(r, x, y, d):
+    vx = x.get(r)
+    vy = y.get(r)
+    vd = d.get(r)
+    rx = round(float(0 if vx is None else vx), 0)
+    ry = round(float(0 if vy is None else vy), 0)
+    rd = round(float(0 if vd is None else vd), 0)
+    return 'position: absolute; -webkit-transform: translate3d({0:g}px,{1:g}px,0px) rotate({2:g}deg);
-moz-transform: translate({0:g}px,{1:g}px) rotate({2:g}deg); -ms-transform: translate({0:g}px,{1:g}px)
rotate({2:g}deg); transform: translate({0:g}px,{1:g}px) rotate({2:g}deg)'.format(rx, ry, rd)
+

Added: incubator/nuvem/trunk/nuvem-parallel/nuvem/transition.py
URL: http://svn.apache.org/viewvc/incubator/nuvem/trunk/nuvem-parallel/nuvem/transition.py?rev=1154292&view=auto
==============================================================================
--- incubator/nuvem/trunk/nuvem-parallel/nuvem/transition.py (added)
+++ incubator/nuvem/trunk/nuvem-parallel/nuvem/transition.py Fri Aug  5 16:24:00 2011
@@ -0,0 +1,21 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#  
+#    http://www.apache.org/licenses/LICENSE-2.0
+#    
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+def get(r, n):
+    vn = n.get(r)
+    return '-webkit-transition: all {0}s'.format(float(0 if vn is None else vn) / 1000.0)
+



Mime
View raw message