You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by al...@apache.org on 2010/12/25 01:16:43 UTC

svn commit: r1052731 - in /myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5: component/effect/AbstractEffectShake.java component/properties/effect/RotationProperty.java renderkit/effect/EffectShakeRenderer.java

Author: aliok
Date: Sat Dec 25 00:16:43 2010
New Revision: 1052731

URL: http://svn.apache.org/viewvc?rev=1052731&view=rev
Log:
Html5
Shake effect

Added:
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java
    myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java
      - copied, changed from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java&r1=1052728&r2=1052731&rev=1052731&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectPulse.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/effect/AbstractEffectShake.java Sat Dec 25 00:16:43 2010
@@ -20,17 +20,17 @@
 package org.apache.myfaces.html5.component.effect;
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
-import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
-import org.apache.myfaces.html5.component.properties.effect.*;
+import org.apache.myfaces.html5.component.properties.effect.OpacityProperties;
+import org.apache.myfaces.html5.component.properties.effect.RotationProperty;
 
 @JSFComponent(
-        name = "fx:effectPulse",
-        clazz = "org.apache.myfaces.html5.component.effect.EffectPulse",
-        tagClass = "org.apache.myfaces.html5.tag.effect.EffectPulseTag",
-        defaultRendererType = "org.apache.myfaces.html5.EffectPulse",
-        family = "org.apache.myfaces.EffectPulse",
-        type = "org.apache.myfaces.html5.EffectPulse"
+        name = "fx:effectShake",
+        clazz = "org.apache.myfaces.html5.component.effect.EffectShake",
+        tagClass = "org.apache.myfaces.html5.tag.effect.EffectShakeTag",
+        defaultRendererType = "org.apache.myfaces.html5.EffectShake",
+        family = "org.apache.myfaces.EffectShake",
+        type = "org.apache.myfaces.html5.EffectShake"
 )
-public abstract class AbstractEffectPulse extends org.apache.myfaces.html5.component.effect.Effect implements OpacityProperties{
+public abstract class AbstractEffectShake extends org.apache.myfaces.html5.component.effect.Effect implements RotationProperty{
 
 }
\ No newline at end of file

Added: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java?rev=1052731&view=auto
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java (added)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/component/properties/effect/RotationProperty.java Sat Dec 25 00:16:43 2010
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+
+package org.apache.myfaces.html5.component.properties.effect;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+
+/**
+ * User: Ali Ok (ali.ok@innflow.com)
+ * Date: 2010-12-25
+ * Time: 01:54:14
+ */
+public interface RotationProperty {
+    static final double DEFAULT_ROTATION = 20;
+
+    @JSFProperty(deferredValueType = "java.lang.Double", defaultValue = "DEFAULT_ROTATION")
+    public abstract double getRotation();
+}

Copied: myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java (from r1052728, myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java)
URL: http://svn.apache.org/viewvc/myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java?p2=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java&p1=myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java&r1=1052728&r2=1052731&rev=1052731&view=diff
==============================================================================
--- myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectPulseRenderer.java (original)
+++ myfaces/gsoc/html5-comp-lib/trunk/html5-comp-lib-core/src/main/java/org/apache/myfaces/html5/renderkit/effect/EffectShakeRenderer.java Sat Dec 25 00:16:43 2010
@@ -21,12 +21,14 @@ package org.apache.myfaces.html5.renderk
 
 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
 import org.apache.myfaces.html5.component.effect.AbstractEffect;
-import org.apache.myfaces.html5.component.effect.AbstractEffectPulse;
+import org.apache.myfaces.html5.component.effect.AbstractEffectShake;
 import org.apache.myfaces.shared_html5.renderkit.RendererUtils;
 import org.apache.myfaces.view.facelets.PostBuildComponentTreeOnRestoreViewEvent;
 
 import javax.faces.context.FacesContext;
-import javax.faces.event.*;
+import javax.faces.event.ListenerFor;
+import javax.faces.event.ListenersFor;
+import javax.faces.event.PostAddToViewEvent;
 import java.text.NumberFormat;
 import java.util.Locale;
 
@@ -34,8 +36,8 @@ import java.util.Locale;
         @ListenerFor(systemEventClass = PostAddToViewEvent.class),
         @ListenerFor(systemEventClass = PostBuildComponentTreeOnRestoreViewEvent.class)
 })
-@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.EffectPulse", type = "org.apache.myfaces.html5.EffectPulse")
-public class EffectPulseRenderer extends BaseEffectRenderer {
+@JSFRenderer(renderKitId = "HTML_BASIC", family = "org.apache.myfaces.EffectShake", type = "org.apache.myfaces.html5.EffectShake")
+public class EffectShakeRenderer extends BaseEffectRenderer {
 
     @Override
     protected void checkKeyFrameProperties(FacesContext facesContext, AbstractEffect uiComponent) {
@@ -44,20 +46,18 @@ public class EffectPulseRenderer extends
 
     @Override
     protected String getKeyFrameBodyDefinition(FacesContext facesContext, AbstractEffect uiComponent) {
-        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractEffectPulse.class);
+        RendererUtils.checkParamValidity(facesContext, uiComponent, AbstractEffectShake.class);
 
-        AbstractEffectPulse component = (AbstractEffectPulse) uiComponent;
+        AbstractEffectShake component = (AbstractEffectShake) uiComponent;
 
-        final double minOpacity = component.getMinOpacity();        //default value set, if not defined
-        final double maxOpacity = component.getMaxOpacity();        //default value set, if not defined
+        final double rotation = component.getRotation();        //default value set, if not defined
 
-        String format = "0%%   {opacity: %s;} 50%%  {opacity: %s;} 100%% {opacity: %s;}";
+        String format = "0%% { -webkit-transform: rotate(0deg)} 25%% { -webkit-transform: rotate(%sdeg)} 75%%  { -webkit-transform: rotate(-%sdeg)} 100%% { -webkit-transform: rotate(0deg)}";
 
         final NumberFormat numberFormat = NumberFormat.getInstance(Locale.ENGLISH);
 
-        final String strMaxOpacity = numberFormat.format(maxOpacity);
-        final String strMinOpacity = numberFormat.format(minOpacity);
+        final String strRotation = numberFormat.format(rotation);
 
-        return String.format(format, strMaxOpacity, strMinOpacity, strMaxOpacity);
+        return String.format(format, strRotation, strRotation);
     }
 }
\ No newline at end of file