浏览代码

added rgba color

ncannasse 12 年之前
父节点
当前提交
a1b904c8f8
共有 1 个文件被更改,包括 14 次插入0 次删除
  1. 14 0
      h2d/css/Parser.hx

+ 14 - 0
h2d/css/Parser.hx

@@ -439,6 +439,20 @@ class Parser {
 			case "gray", "grey": 0x808080;
 			default: null;
 			}
+		case VCall("rgba", [r, g, b, a]):
+			var r = getVal(r), g = getVal(g), b = getVal(b), a = getVal(a);
+			inline function conv(k:Float) {
+				var v = Std.int(k * 255);
+				if( v < 0 ) v = 0;
+				if( v > 255 ) v = 255;
+				return v;
+			}
+			if( r != null && g != null && b != null && a != null ) {
+				var a = conv(a); if( a == 0 ) a = 1; // prevent setting alpha to FF afterwards
+				(a << 24) | (conv(r) << 16) | (conv(g) << 8) | conv(b);
+			}
+			else
+				null;
 		default:
 			null;
 		};