| //////////////////////////////////////////////////////////////////////////////// |
| // |
| // 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 comps |
| { |
| import flash.display.DisplayObject; |
| import flash.display.GradientType; |
| import flash.display.Graphics; |
| import flash.geom.Matrix; |
| |
| import mx.utils.ColorUtil; |
| |
| import spark.skins.mobile.ButtonSkin; |
| |
| public class CustomButtonSkin extends ButtonSkin |
| { |
| private static var matrix:Matrix = new Matrix(); |
| private static const CORNER_ELLIPSE_SIZE:uint = 20; |
| |
| private static const BOTTOM_BORDER_SHADOW:uint = 1; |
| |
| public function CustomButtonSkin() |
| { |
| super(); |
| upBorderSkin = CustomButton_up; |
| downBorderSkin = CustomButton_down; |
| } |
| |
| override protected function commitCurrentState():void |
| { |
| super.commitCurrentState(); |
| |
| var downState:Boolean = currentState.indexOf("down") == -1 ? false : true; |
| |
| var iconD:DisplayObject = getIconDisplay(); |
| if (iconD) |
| { |
| if (downState) |
| { |
| setElementSize(iconD, iconD.width - 10, iconD.height - 10); |
| } |
| else { |
| setElementSize(iconD, iconD.width + 10, iconD.height + 10); |
| //iconD.scaleX = iconD.scaleY = 1; |
| } |
| } |
| |
| } |
| |
| /* override protected function drawChromeColor(chromeColorGraphics:Graphics, unscaledWidth:Number, unscaledHeight:Number):void |
| { |
| // bottom line is a shadow |
| chromeColorGraphics.drawRoundRect(1, 1, unscaledWidth, unscaledHeight - BOTTOM_BORDER_SHADOW, CORNER_ELLIPSE_SIZE, CORNER_ELLIPSE_SIZE); |
| } |
| */ |
| |
| |
| |
| } |
| } |