257 references to DirectionClass
PresentationCore (257)
MS\Internal\TextFormatting\Bidi.cs (225)
74CharProperty = new byte[6, (int) DirectionClass.ClassMax - 1] 85ClassToState = new StateMachineState[(int) DirectionClass.ClassMax] 116FastPathClass = new byte[(int) DirectionClass.ClassMax] 493ref DirectionClass strongClass, 494ref DirectionClass numberClass) 497DirectionClass currentClass; 515if (currentClass == DirectionClass.ParagraphSeparator) 522if (numberClass == DirectionClass.ClassInvalid ) 527if (currentClass != DirectionClass.EuropeanNumber) 551NumberClass = DirectionClass.Left; 552StrongCharClass = DirectionClass.Left; 561public virtual DirectionClass LastStrongClass 570public virtual DirectionClass LastNumberClass 610protected DirectionClass NumberClass; 614protected DirectionClass StrongCharClass; 640ref DirectionClass strongClass) 642DirectionClass currentClass = DirectionClass.ClassInvalid; 658if (CharProperty[0, (int) currentClass]==1 || currentClass == DirectionClass.ParagraphSeparator) 674IList<DirectionClass> characterClass, // [IN / OUT] 677DirectionClass startClass, // [IN] 678DirectionClass endClass, // [IN] 682DirectionClass startType; 683DirectionClass endType; 684DirectionClass resolutionType; 693Debug.Assert(CharProperty[1, (int) startClass]==1 || (startClass == DirectionClass.ArabicLetter), 698startType = ((startClass == DirectionClass.EuropeanNumber) || 699(startClass == DirectionClass.ArabicNumber) || 700(startClass == DirectionClass.ArabicLetter)) ? DirectionClass.Right : startClass; 702endType = ((endClass == DirectionClass.EuropeanNumber) || 703(endClass == DirectionClass.ArabicNumber) || 704(endClass == DirectionClass.ArabicLetter)) ? DirectionClass.Right : endClass; 712resolutionType = Helper.IsOdd(runLevel) ? DirectionClass.Right : DirectionClass.Left; 729IList<DirectionClass> characterClass, // [IN / OUT] 732DirectionClass newClass // [IN] 751IList<DirectionClass> characterClass, // [IN / OUT] 754DirectionClass sor, // [IN] 755DirectionClass eor, // [IN] 765DirectionClass lastClass = DirectionClass.ClassInvalid; 766DirectionClass lastStrongClass = DirectionClass.ClassInvalid; 767DirectionClass lastNumericClass = DirectionClass.ClassInvalid; 768DirectionClass startingClass = DirectionClass.ClassInvalid; 769DirectionClass currentClass = DirectionClass.ClassInvalid; 784if (stateIn.LastNumberClass != DirectionClass.ClassInvalid) 797startingClass = DirectionClass.ArabicLetter; 860if (currentClass == DirectionClass.ArabicLetter) 862characterClass[counter + classIndex] = DirectionClass.Right; 872ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 879if ((currentClass != DirectionClass.ArabicNumber) || 880((currentClass == DirectionClass.ArabicNumber) && 881(lastStrongClass == DirectionClass.Right))) 886if ((currentClass == DirectionClass.ArabicNumber) && 887(lastStrongClass == DirectionClass.Left)) 910if (currentClass == DirectionClass.ArabicLetter) 912characterClass[counter + classIndex] = DirectionClass.Right; 918ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 924if ((currentClass != DirectionClass.ArabicNumber) || 925((currentClass == DirectionClass.ArabicNumber) && 926(lastStrongClass == DirectionClass.Right))) 931if ((currentClass == DirectionClass.ArabicNumber) && 932(lastStrongClass == DirectionClass.Left)) 956if (currentClass == DirectionClass.ArabicLetter) 959characterClass[counter + classIndex] = DirectionClass.Right; 962if (((lastStrongClass == DirectionClass.ArabicLetter) || previousClassIsArabic) && 963((currentClass == DirectionClass.EuropeanNumber && (flags & Flags.OverrideEuropeanNumberResolution) == 0) || 964(currentClass == DirectionClass.ArabicNumber))) 967characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 973if (characterClass[i + classIndex] != DirectionClass.CommonSeparator && 974characterClass[i + classIndex] != DirectionClass.BoundaryNeutral) 980if (characterClass[i + classIndex] == DirectionClass.CommonSeparator ) 997else if ((lastStrongClass == DirectionClass.Left) && 998(currentClass == DirectionClass.EuropeanNumber)) 1001characterClass[counter + classIndex] = DirectionClass.Left; 1011ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1018if ((currentClass != DirectionClass.ArabicNumber) || 1019((currentClass == DirectionClass.ArabicNumber) && 1020(lastStrongClass == DirectionClass.Right))) 1022if (!(((lastStrongClass == DirectionClass.Left) || 1023(lastStrongClass == DirectionClass.ArabicLetter)) && 1024(currentClass == DirectionClass.EuropeanNumber))) 1030if ((currentClass == DirectionClass.ArabicNumber) && 1031(lastStrongClass == DirectionClass.Left)) 1042if (characterClass[counter + classIndex] == DirectionClass.ArabicNumber) 1044currentClass = DirectionClass.ArabicNumber; 1055if (currentClass == DirectionClass.ArabicLetter) 1057characterClass[counter + classIndex] = DirectionClass.Right; 1063ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1069if ((currentClass != DirectionClass.ArabicNumber) || 1070((currentClass == DirectionClass.ArabicNumber) && 1071(lastStrongClass == DirectionClass.Right))) 1076if ((currentClass == DirectionClass.ArabicNumber) && 1077(lastStrongClass == DirectionClass.Left)) 1095((lastStrongClass == DirectionClass.ArabicLetter) || 1100characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1101currentClass = DirectionClass.ArabicNumber; 1103else if (lastStrongClass == DirectionClass.Left) 1106characterClass[counter + classIndex] = DirectionClass.Left; 1112ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1163lastClass = DirectionClass.GenericNeutral; 1179lastClass = DirectionClass.GenericNeutral; 1206lastClass = DirectionClass.GenericNeutral; 1214Debug.Assert(lastClass == DirectionClass.EuropeanTerminator, 1242if (!((lastStrongClass == DirectionClass.ArabicLetter) || previousClassIsArabic)) 1244if (lastStrongClass == DirectionClass.Left) 1246characterClass[counter + classIndex] = DirectionClass.Left; 1250characterClass[counter + classIndex] = DirectionClass.EuropeanNumber; 1260lastClass = DirectionClass.EuropeanNumber; 1266(characterClass[counter + 1 + classIndex] == DirectionClass.EuropeanSeparator|| 1267characterClass[counter + 1 + classIndex] == DirectionClass.CommonSeparator)) 1269characterClass[counter + 1 + classIndex] = DirectionClass.GenericNeutral; 1299if ((lastStrongClass == DirectionClass.ArabicLetter) || 1304characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1307else if (lastStrongClass == DirectionClass.Left) 1309characterClass[counter + classIndex] = DirectionClass.Left; 1331if (lastStrongClass == DirectionClass.Left) 1333characterClass[counter + classIndex] = DirectionClass.Left; 1343ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1359(lastStrongClass == DirectionClass.ArabicLetter || previousClassIsArabic) 1363characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1364currentClass = DirectionClass.ArabicNumber; 1366else if (lastStrongClass == DirectionClass.Left) 1368characterClass[counter + classIndex] = DirectionClass.Left; 1378ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1385if ( (currentClass == DirectionClass.ArabicNumber) && 1386(lastStrongClass == DirectionClass.Left)) 1407characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1424ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1439if ((lastStrongClass == DirectionClass.ArabicLetter) || 1445characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1446currentClass = DirectionClass.ArabicNumber; 1454ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1463ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1468else if (lastStrongClass == DirectionClass.Left) 1470characterClass[counter + classIndex] = DirectionClass.Left; 1482ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1493DirectionClass.EuropeanNumber); 1500ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1519if ((lastStrongClass == DirectionClass.ArabicLetter)) 1521if (lastClass == DirectionClass.EuropeanNumber) 1528characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1533characterClass[counter + classIndex] = DirectionClass.EuropeanNumber; 1536else if (lastClass != DirectionClass.ArabicNumber) 1539characterClass[counter + classIndex] = DirectionClass.Right; 1544characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1550|| lastClass == DirectionClass.ArabicNumber ? 1551DirectionClass.ArabicNumber : 1552lastClass==DirectionClass.EuropeanNumber && 1553lastStrongClass != DirectionClass.Left 1554? DirectionClass.EuropeanNumber : lastStrongClass; 1642ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1651IList<DirectionClass> characterClass, // [IN / OUT] 1683DirectionClass directionClass; 1686if (directionClass == DirectionClass.ParagraphSeparator || 1687directionClass == DirectionClass.SegmentSeparator) 1723DirectionClass[] characterClass = new DirectionClass[cchText]; 1735new PartialArray<DirectionClass>(characterClass), 1748IList<DirectionClass> characterClass, // [IN/OUT] direction class of each char 1752DirectionClass tempClass; 1864if (DirectionClass.ParagraphSeparator != Classification.CharAttributeOf((int) Classification.GetUnicodeClass(codePoint)).BiDi) 1889case DirectionClass.Left: 1890case DirectionClass.Right: 1891case DirectionClass.ArabicNumber: 1892case DirectionClass.ArabicLetter: 1897case DirectionClass.EuropeanNumber: 1934DirectionClass firstStrong = DirectionClass.ClassInvalid; 1938if (firstStrong != DirectionClass.Left) 1967DirectionClass lastStrongClass; 1977lastStrongClass = DirectionClass.Right; 1987lastStrongClass = DirectionClass.Left; 2004DirectionClass hiddenCharClass = DirectionClass.GenericNeutral; 2022if ( hiddenCharClass == DirectionClass.EuropeanNumber 2054if (tempClass != DirectionClass.EuropeanSeparator && tempClass != DirectionClass.CommonSeparator) 2055characterClass[counter] = DirectionClass.GenericNeutral; 2162DirectionClass currentClass; 2175case DirectionClass.ParagraphSeparator: 2190goto case DirectionClass.OtherNeutral; 2196case DirectionClass.SegmentSeparator: 2197case DirectionClass.WhiteSpace: 2198case DirectionClass.OtherNeutral: 2199characterClass[counter] = DirectionClass.GenericNeutral; 2201if (counter>0 && characterClass[counter-1] == DirectionClass.BoundaryNeutral) 2212case DirectionClass.LeftToRightEmbedding: 2213case DirectionClass.RightToLeftEmbedding: 2214characterClass[counter] = DirectionClass.BoundaryNeutral; 2222if(!levelsStack.Push(currentClass == DirectionClass.LeftToRightEmbedding ? true : false)) 2241case DirectionClass.LeftToRightOverride: 2242case DirectionClass.RightToLeftOverride: 2243characterClass[counter] = DirectionClass.BoundaryNeutral; 2248if(!levelsStack.Push(currentClass == DirectionClass.LeftToRightOverride ? true : false)) 2258overrideClass = (currentClass == DirectionClass.LeftToRightOverride) ? 2271case DirectionClass.PopDirectionalFormat: 2272characterClass[counter] = DirectionClass.BoundaryNeutral; 2316if ( currentClass == DirectionClass.EuropeanNumber 2322Invariant.Assert(characterClass[counter] == DirectionClass.ArabicNumber || characterClass[counter] == DirectionClass.EuropeanNumber); 2333DirectionClass.Left : DirectionClass.Right; 2336if (counter>0 && characterClass[counter-1]==DirectionClass.BoundaryNeutral) 2383DirectionClass sor; 2384DirectionClass eor; 2414DirectionClass.Right : DirectionClass.Left; 2419DirectionClass.Right : DirectionClass.Left; 2429DirectionClass.Right : DirectionClass.Left; 2438characterClass[runLimits[runNumber]] == DirectionClass.BoundaryNeutral) 2444DirectionClass.Right : DirectionClass.Left; 2501state.LastStrongClass = DirectionClass.Right; 2502state.LastNumberClass = DirectionClass.Right; 2507state.LastStrongClass = DirectionClass.Left; 2508state.LastNumberClass = DirectionClass.Left;
MS\Internal\TextFormatting\SimpleTextLine.cs (1)
1955return Classification.CharAttributeOf(charClass).BiDi == DirectionClass.WhiteSpace;
MS\Internal\TextFormatting\TextStore.cs (30)
905DirectionClass[] directionClasses = new DirectionClass[stringLength]; 932DirectionClass europeanNumberOverride = _bidiState.GetEuropeanNumberClassOverride(culture); 979new PartialArray<DirectionClass>(directionClasses, resolvedLength, ich - resolvedLength), 2525NumberClass = DirectionClass.ClassInvalid; 2526StrongCharClass = DirectionClass.ClassInvalid; 2561LastStrongClass = DirectionClass.Left; 2562LastNumberClass = DirectionClass.Left; 2566LastStrongClass = DirectionClass.ArabicLetter; 2567LastNumberClass = DirectionClass.ArabicNumber; 2580public override DirectionClass LastNumberClass 2584if (this.NumberClass == DirectionClass.ClassInvalid ) 2599public override DirectionClass LastStrongClass 2603if (this.StrongCharClass == DirectionClass.ClassInvalid) 2623DirectionClass strongClass = DirectionClass.ClassInvalid; 2624DirectionClass numberClass = DirectionClass.ClassInvalid; 2650if (strongClass != DirectionClass.ClassInvalid) 2654if (this.NumberClass == DirectionClass.ClassInvalid) 2656if (numberClass == DirectionClass.EuropeanNumber) 2681if(strongClass == DirectionClass.ClassInvalid) 2683this.StrongCharClass = ((CurrentLevel & 1) == 0) ? DirectionClass.Left : DirectionClass.ArabicLetter; 2686if(numberClass == DirectionClass.ClassInvalid) 2688this.NumberClass = ((CurrentLevel & 1) == 0) ? DirectionClass.Left : DirectionClass.ArabicNumber; 2734internal DirectionClass GetEuropeanNumberClassOverride(CultureInfo cultureInfo) 2743return DirectionClass.ArabicNumber; 2746return DirectionClass.EuropeanNumber;
MS\Internal\UnicodeClasses.cs (1)
183internal DirectionClass BiDi;