当前位置: 首页>>代码示例>>C#>>正文


C# CssValue.SetNormalValue方法代码示例

本文整理汇总了C#中CssValue.SetNormalValue方法的典型用法代码示例。如果您正苦于以下问题:C# CssValue.SetNormalValue方法的具体用法?C# CssValue.SetNormalValue怎么用?C# CssValue.SetNormalValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CssValue的用法示例。


在下文中一共展示了CssValue.SetNormalValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ParseVariant

        // Assigns to aValue iff it returns true.
        internal bool ParseVariant(ref nsCSSValue aValue,
                                    int32_t aVariantMask,
                                    int32_t[] aKeywordTable)
        {
            Debug.Assert(!(mHashlessColorQuirk && ((aVariantMask & VARIANT_COLOR) != 0)) ||
                       !((aVariantMask & VARIANT_NUMBER) != 0),
                       "can't distinguish colors from numbers");
              Debug.Assert(!(mHashlessColorQuirk && ((aVariantMask & VARIANT_COLOR) != 0)) ||
                       !(mUnitlessLengthQuirk && ((aVariantMask & VARIANT_LENGTH) != 0)),
                       "can't distinguish colors from lengths");
              Debug.Assert(!(mUnitlessLengthQuirk && ((aVariantMask & VARIANT_LENGTH) != 0)) ||
                       !((aVariantMask & VARIANT_NUMBER) != 0),
                       "can't distinguish lengths from numbers");
              Debug.Assert(!((aVariantMask & VARIANT_IDENTIFIER) != 0) ||
                            !((aVariantMask & VARIANT_IDENTIFIER_NO_INHERIT) != 0),
                            "must not set both VARIANT_IDENTIFIER and VARIANT_IDENTIFIER_NO_INHERIT");

              if (!GetToken(true)) {
            return false;
              }
              nsCSSToken tk = mToken;
              if (((aVariantMask & (VARIANT_AHK | VARIANT_NORMAL | VARIANT_NONE | VARIANT_ALL)) != 0) &&
              (nsCSSTokenType.Ident == tk.mType)) {
            nsCSSKeyword keyword = nsCSSKeywords.LookupKeyword(tk.mIdentStr);
            if (nsCSSKeyword.UNKNOWN < keyword) { // known keyword
              if ((aVariantMask & VARIANT_AUTO) != 0) {
                if (nsCSSKeyword.auto == keyword) {
                  aValue.SetAutoValue();
                  return true;
                }
              }
              if ((aVariantMask & VARIANT_INHERIT) != 0) {
                // XXX Should we check IsParsingCompoundProperty, or do all
                // callers handle it?  (Not all callers set it, though, since
                // they want the quirks that are disabled by setting it.)
                if (nsCSSKeyword.inherit == keyword) {
                  aValue.SetInheritValue();
                  return true;
                }
                else if (nsCSSKeyword._moz_initial == keyword ||
                         nsCSSKeyword.initial == keyword) { // anything that can inherit can also take an initial val.
                  aValue.SetInitialValue();
                  return true;
                }
              }
              if ((aVariantMask & VARIANT_NONE) != 0) {
                if (nsCSSKeyword.none == keyword) {
                  aValue.SetNoneValue();
                  return true;
                }
              }
              if ((aVariantMask & VARIANT_ALL) != 0) {
                if (nsCSSKeyword.all == keyword) {
                  aValue.SetAllValue();
                  return true;
                }
              }
              if ((aVariantMask & VARIANT_NORMAL) != 0) {
                if (nsCSSKeyword.normal == keyword) {
                  aValue.SetNormalValue();
                  return true;
                }
              }
              if ((aVariantMask & VARIANT_SYSFONT) != 0) {
                if (nsCSSKeyword._moz_use_system_font == keyword &&
                    !IsParsingCompoundProperty()) {
                  aValue.SetSystemFontValue();
                  return true;
                }
              }
              if ((aVariantMask & VARIANT_KEYWORD) != 0) {
                int32_t value = 0;
                if (nsCSSProps.FindKeyword(keyword, aKeywordTable, ref value)) {
                  aValue.SetIntValue(value, nsCSSUnit.Enumerated);
                  return true;
                }
              }
            }
              }
              // Check VARIANT_NUMBER and VARIANT_INTEGER before VARIANT_LENGTH or
              // VARIANT_ZERO_ANGLE.
              if (((aVariantMask & VARIANT_NUMBER) != 0) &&
              (nsCSSTokenType.Number == tk.mType)) {
            aValue.SetFloatValue(tk.mNumber, nsCSSUnit.Number);
            return true;
              }
              if (((aVariantMask & VARIANT_INTEGER) != 0) &&
              (nsCSSTokenType.Number == tk.mType) && tk.mIntegerValid) {
            aValue.SetIntValue(tk.mInteger, nsCSSUnit.Integer);
            return true;
              }
              if (((aVariantMask & (VARIANT_LENGTH | VARIANT_ANGLE |
                                VARIANT_FREQUENCY | VARIANT_TIME)) != 0 &&
               nsCSSTokenType.Dimension == tk.mType) ||
              ((aVariantMask & (VARIANT_LENGTH | VARIANT_ZERO_ANGLE)) != 0 &&
               nsCSSTokenType.Number == tk.mType &&
               tk.mNumber == 0.0f)) {
            if (((aVariantMask & VARIANT_POSITIVE_DIMENSION) != 0 &&
                 tk.mNumber <= 0.0) ||
//.........这里部分代码省略.........
开发者ID:jorik041,项目名称:CsCss,代码行数:101,代码来源:nsCSSParser.conv.cs

示例2: ParseFont

        internal bool ParseFont()
        {
            /*TODO: static*/ nsCSSProperty[] fontIDs = {
            nsCSSProperty.FontStyle,
            nsCSSProperty.FontVariant,
            nsCSSProperty.FontWeight
              };

              var family = new nsCSSValue();
              if (ParseVariant(ref family, VARIANT_HK, nsCSSProps.kFontKTable)) {
            if (ExpectEndProperty()) {
              if (nsCSSUnit.Inherit == family.GetUnit() ||
                  nsCSSUnit.Initial == family.GetUnit()) {
                AppendValue(nsCSSProperty.XSystemFont, new nsCSSValue(nsCSSUnit.None));
                AppendValue(nsCSSProperty.FontFamily, family);
                AppendValue(nsCSSProperty.FontStyle, family);
                AppendValue(nsCSSProperty.FontVariant, family);
                AppendValue(nsCSSProperty.FontWeight, family);
                AppendValue(nsCSSProperty.FontSize, family);
                AppendValue(nsCSSProperty.LineHeight, family);
                AppendValue(nsCSSProperty.FontStretch, family);
                AppendValue(nsCSSProperty.FontSizeAdjust, family);
                AppendValue(nsCSSProperty.FontFeatureSettings, family);
                AppendValue(nsCSSProperty.FontLanguageOverride, family);
              }
              else {
                AppendValue(nsCSSProperty.XSystemFont, family);
                var systemFont = new nsCSSValue(nsCSSUnit.SystemFont);
                AppendValue(nsCSSProperty.FontFamily, systemFont);
                AppendValue(nsCSSProperty.FontStyle, systemFont);
                AppendValue(nsCSSProperty.FontVariant, systemFont);
                AppendValue(nsCSSProperty.FontWeight, systemFont);
                AppendValue(nsCSSProperty.FontSize, systemFont);
                AppendValue(nsCSSProperty.LineHeight, systemFont);
                AppendValue(nsCSSProperty.FontStretch, systemFont);
                AppendValue(nsCSSProperty.FontSizeAdjust, systemFont);
                AppendValue(nsCSSProperty.FontFeatureSettings, systemFont);
                AppendValue(nsCSSProperty.FontLanguageOverride, systemFont);
              }
              return true;
            }
            return false;
              }

              // Get optional font-style, font-variant and font-weight (in any order)
              uint32_t numProps = 3;
              var values = new nsCSSValue[numProps];
              int32_t found = ParseChoice(ref values, fontIDs, numProps);
              if ((found < 0) || (nsCSSUnit.Inherit == values[0].GetUnit()) ||
              (nsCSSUnit.Initial == values[0].GetUnit())) { // illegal data
            return false;
              }
              if ((found & 1) == 0) {
            // Provide default font-style
            values[0].SetIntValue(nsFont.STYLE_NORMAL, nsCSSUnit.Enumerated);
              }
              if ((found & 2) == 0) {
            // Provide default font-variant
            values[1].SetIntValue(nsFont.VARIANT_NORMAL, nsCSSUnit.Enumerated);
              }
              if ((found & 4) == 0) {
            // Provide default font-weight
            values[2].SetIntValue(nsFont.WEIGHT_NORMAL, nsCSSUnit.Enumerated);
              }

              // Get mandatory font-size
              var size = new nsCSSValue();
              if (! ParseVariant(ref size, VARIANT_KEYWORD | VARIANT_LP, nsCSSProps.kFontSizeKTable)) {
            return false;
              }

              // Get optional "/" line-height
              var lineHeight = new nsCSSValue();
              if (ExpectSymbol('/', true)) {
            if (! ParseNonNegativeVariant(ref lineHeight,
                                          VARIANT_NUMBER | VARIANT_LP | VARIANT_NORMAL,
                                          null)) {
              return false;
            }
              }
              else {
            lineHeight.SetNormalValue();
              }

              // Get final mandatory font-family
              using (/*var compound = */new nsAutoParseCompoundProperty(this)) {
            if (ParseFamily(ref family)) {
              if ((nsCSSUnit.Inherit != family.GetUnit()) && (nsCSSUnit.Initial != family.GetUnit()) &&
                  ExpectEndProperty()) {
                AppendValue(nsCSSProperty.XSystemFont, new nsCSSValue(nsCSSUnit.None));
                AppendValue(nsCSSProperty.FontFamily, family);
                AppendValue(nsCSSProperty.FontStyle, values[0]);
                AppendValue(nsCSSProperty.FontVariant, values[1]);
                AppendValue(nsCSSProperty.FontWeight, values[2]);
                AppendValue(nsCSSProperty.FontSize, size);
                AppendValue(nsCSSProperty.LineHeight, lineHeight);
                AppendValue(nsCSSProperty.FontStretch,
                            new nsCSSValue(nsFont.STRETCH_NORMAL, nsCSSUnit.Enumerated));
                AppendValue(nsCSSProperty.FontSizeAdjust, new nsCSSValue(nsCSSUnit.None));
                AppendValue(nsCSSProperty.FontFeatureSettings, new nsCSSValue(nsCSSUnit.Normal));
//.........这里部分代码省略.........
开发者ID:jorik041,项目名称:CsCss,代码行数:101,代码来源:nsCSSParser.conv.cs


注:本文中的CssValue.SetNormalValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。