257 references to DirectionClass
PresentationCore (257)
MS\Internal\TextFormatting\Bidi.cs (225)
66CharProperty = new byte[6, (int) DirectionClass.ClassMax - 1] 77ClassToState = new StateMachineState[(int) DirectionClass.ClassMax] 108FastPathClass = new byte[(int) DirectionClass.ClassMax] 485ref DirectionClass strongClass, 486ref DirectionClass numberClass) 489DirectionClass currentClass; 507if (currentClass == DirectionClass.ParagraphSeparator) 514if (numberClass == DirectionClass.ClassInvalid ) 519if (currentClass != DirectionClass.EuropeanNumber) 543NumberClass = DirectionClass.Left; 544StrongCharClass = DirectionClass.Left; 553public virtual DirectionClass LastStrongClass 562public virtual DirectionClass LastNumberClass 602protected DirectionClass NumberClass; 606protected DirectionClass StrongCharClass; 632ref DirectionClass strongClass) 634DirectionClass currentClass = DirectionClass.ClassInvalid; 650if (CharProperty[0, (int) currentClass]==1 || currentClass == DirectionClass.ParagraphSeparator) 666IList<DirectionClass> characterClass, // [IN / OUT] 669DirectionClass startClass, // [IN] 670DirectionClass endClass, // [IN] 674DirectionClass startType; 675DirectionClass endType; 676DirectionClass resolutionType; 685Debug.Assert(CharProperty[1, (int) startClass]==1 || (startClass == DirectionClass.ArabicLetter), 690startType = ((startClass == DirectionClass.EuropeanNumber) || 691(startClass == DirectionClass.ArabicNumber) || 692(startClass == DirectionClass.ArabicLetter)) ? DirectionClass.Right : startClass; 694endType = ((endClass == DirectionClass.EuropeanNumber) || 695(endClass == DirectionClass.ArabicNumber) || 696(endClass == DirectionClass.ArabicLetter)) ? DirectionClass.Right : endClass; 704resolutionType = Helper.IsOdd(runLevel) ? DirectionClass.Right : DirectionClass.Left; 721IList<DirectionClass> characterClass, // [IN / OUT] 724DirectionClass newClass // [IN] 743IList<DirectionClass> characterClass, // [IN / OUT] 746DirectionClass sor, // [IN] 747DirectionClass eor, // [IN] 757DirectionClass lastClass = DirectionClass.ClassInvalid; 758DirectionClass lastStrongClass = DirectionClass.ClassInvalid; 759DirectionClass lastNumericClass = DirectionClass.ClassInvalid; 760DirectionClass startingClass = DirectionClass.ClassInvalid; 761DirectionClass currentClass = DirectionClass.ClassInvalid; 776if (stateIn.LastNumberClass != DirectionClass.ClassInvalid) 789startingClass = DirectionClass.ArabicLetter; 852if (currentClass == DirectionClass.ArabicLetter) 854characterClass[counter + classIndex] = DirectionClass.Right; 864ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 871if ((currentClass != DirectionClass.ArabicNumber) || 872((currentClass == DirectionClass.ArabicNumber) && 873(lastStrongClass == DirectionClass.Right))) 878if ((currentClass == DirectionClass.ArabicNumber) && 879(lastStrongClass == DirectionClass.Left)) 902if (currentClass == DirectionClass.ArabicLetter) 904characterClass[counter + classIndex] = DirectionClass.Right; 910ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 916if ((currentClass != DirectionClass.ArabicNumber) || 917((currentClass == DirectionClass.ArabicNumber) && 918(lastStrongClass == DirectionClass.Right))) 923if ((currentClass == DirectionClass.ArabicNumber) && 924(lastStrongClass == DirectionClass.Left)) 948if (currentClass == DirectionClass.ArabicLetter) 951characterClass[counter + classIndex] = DirectionClass.Right; 954if (((lastStrongClass == DirectionClass.ArabicLetter) || previousClassIsArabic) && 955((currentClass == DirectionClass.EuropeanNumber && (flags & Flags.OverrideEuropeanNumberResolution) == 0) || 956(currentClass == DirectionClass.ArabicNumber))) 959characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 965if (characterClass[i + classIndex] != DirectionClass.CommonSeparator && 966characterClass[i + classIndex] != DirectionClass.BoundaryNeutral) 972if (characterClass[i + classIndex] == DirectionClass.CommonSeparator ) 989else if ((lastStrongClass == DirectionClass.Left) && 990(currentClass == DirectionClass.EuropeanNumber)) 993characterClass[counter + classIndex] = DirectionClass.Left; 1003ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1010if ((currentClass != DirectionClass.ArabicNumber) || 1011((currentClass == DirectionClass.ArabicNumber) && 1012(lastStrongClass == DirectionClass.Right))) 1014if (!(((lastStrongClass == DirectionClass.Left) || 1015(lastStrongClass == DirectionClass.ArabicLetter)) && 1016(currentClass == DirectionClass.EuropeanNumber))) 1022if ((currentClass == DirectionClass.ArabicNumber) && 1023(lastStrongClass == DirectionClass.Left)) 1034if (characterClass[counter + classIndex] == DirectionClass.ArabicNumber) 1036currentClass = DirectionClass.ArabicNumber; 1047if (currentClass == DirectionClass.ArabicLetter) 1049characterClass[counter + classIndex] = DirectionClass.Right; 1055ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1061if ((currentClass != DirectionClass.ArabicNumber) || 1062((currentClass == DirectionClass.ArabicNumber) && 1063(lastStrongClass == DirectionClass.Right))) 1068if ((currentClass == DirectionClass.ArabicNumber) && 1069(lastStrongClass == DirectionClass.Left)) 1087((lastStrongClass == DirectionClass.ArabicLetter) || 1092characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1093currentClass = DirectionClass.ArabicNumber; 1095else if (lastStrongClass == DirectionClass.Left) 1098characterClass[counter + classIndex] = DirectionClass.Left; 1104ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1155lastClass = DirectionClass.GenericNeutral; 1171lastClass = DirectionClass.GenericNeutral; 1198lastClass = DirectionClass.GenericNeutral; 1206Debug.Assert(lastClass == DirectionClass.EuropeanTerminator, 1234if (!((lastStrongClass == DirectionClass.ArabicLetter) || previousClassIsArabic)) 1236if (lastStrongClass == DirectionClass.Left) 1238characterClass[counter + classIndex] = DirectionClass.Left; 1242characterClass[counter + classIndex] = DirectionClass.EuropeanNumber; 1252lastClass = DirectionClass.EuropeanNumber; 1258(characterClass[counter + 1 + classIndex] == DirectionClass.EuropeanSeparator|| 1259characterClass[counter + 1 + classIndex] == DirectionClass.CommonSeparator)) 1261characterClass[counter + 1 + classIndex] = DirectionClass.GenericNeutral; 1291if ((lastStrongClass == DirectionClass.ArabicLetter) || 1296characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1299else if (lastStrongClass == DirectionClass.Left) 1301characterClass[counter + classIndex] = DirectionClass.Left; 1323if (lastStrongClass == DirectionClass.Left) 1325characterClass[counter + classIndex] = DirectionClass.Left; 1335ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1351(lastStrongClass == DirectionClass.ArabicLetter || previousClassIsArabic) 1355characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1356currentClass = DirectionClass.ArabicNumber; 1358else if (lastStrongClass == DirectionClass.Left) 1360characterClass[counter + classIndex] = DirectionClass.Left; 1370ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1377if ( (currentClass == DirectionClass.ArabicNumber) && 1378(lastStrongClass == DirectionClass.Left)) 1399characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1416ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1431if ((lastStrongClass == DirectionClass.ArabicLetter) || 1437characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1438currentClass = DirectionClass.ArabicNumber; 1446ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1455ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1460else if (lastStrongClass == DirectionClass.Left) 1462characterClass[counter + classIndex] = DirectionClass.Left; 1474ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1485DirectionClass.EuropeanNumber); 1492ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1511if ((lastStrongClass == DirectionClass.ArabicLetter)) 1513if (lastClass == DirectionClass.EuropeanNumber) 1520characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1525characterClass[counter + classIndex] = DirectionClass.EuropeanNumber; 1528else if (lastClass != DirectionClass.ArabicNumber) 1531characterClass[counter + classIndex] = DirectionClass.Right; 1536characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1542|| lastClass == DirectionClass.ArabicNumber ? 1543DirectionClass.ArabicNumber : 1544lastClass==DirectionClass.EuropeanNumber && 1545lastStrongClass != DirectionClass.Left 1546? DirectionClass.EuropeanNumber : lastStrongClass; 1634ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1643IList<DirectionClass> characterClass, // [IN / OUT] 1675DirectionClass directionClass; 1678if (directionClass == DirectionClass.ParagraphSeparator || 1679directionClass == DirectionClass.SegmentSeparator) 1715DirectionClass[] characterClass = new DirectionClass[cchText]; 1727new PartialArray<DirectionClass>(characterClass), 1740IList<DirectionClass> characterClass, // [IN/OUT] direction class of each char 1744DirectionClass tempClass; 1856if (DirectionClass.ParagraphSeparator != Classification.CharAttributeOf((int) Classification.GetUnicodeClass(codePoint)).BiDi) 1881case DirectionClass.Left: 1882case DirectionClass.Right: 1883case DirectionClass.ArabicNumber: 1884case DirectionClass.ArabicLetter: 1889case DirectionClass.EuropeanNumber: 1926DirectionClass firstStrong = DirectionClass.ClassInvalid; 1930if (firstStrong != DirectionClass.Left) 1959DirectionClass lastStrongClass; 1969lastStrongClass = DirectionClass.Right; 1979lastStrongClass = DirectionClass.Left; 1996DirectionClass hiddenCharClass = DirectionClass.GenericNeutral; 2014if ( hiddenCharClass == DirectionClass.EuropeanNumber 2046if (tempClass != DirectionClass.EuropeanSeparator && tempClass != DirectionClass.CommonSeparator) 2047characterClass[counter] = DirectionClass.GenericNeutral; 2154DirectionClass currentClass; 2167case DirectionClass.ParagraphSeparator: 2182goto case DirectionClass.OtherNeutral; 2188case DirectionClass.SegmentSeparator: 2189case DirectionClass.WhiteSpace: 2190case DirectionClass.OtherNeutral: 2191characterClass[counter] = DirectionClass.GenericNeutral; 2193if (counter>0 && characterClass[counter-1] == DirectionClass.BoundaryNeutral) 2204case DirectionClass.LeftToRightEmbedding: 2205case DirectionClass.RightToLeftEmbedding: 2206characterClass[counter] = DirectionClass.BoundaryNeutral; 2214if(!levelsStack.Push(currentClass == DirectionClass.LeftToRightEmbedding ? true : false)) 2233case DirectionClass.LeftToRightOverride: 2234case DirectionClass.RightToLeftOverride: 2235characterClass[counter] = DirectionClass.BoundaryNeutral; 2240if(!levelsStack.Push(currentClass == DirectionClass.LeftToRightOverride ? true : false)) 2250overrideClass = (currentClass == DirectionClass.LeftToRightOverride) ? 2263case DirectionClass.PopDirectionalFormat: 2264characterClass[counter] = DirectionClass.BoundaryNeutral; 2308if ( currentClass == DirectionClass.EuropeanNumber 2314Invariant.Assert(characterClass[counter] == DirectionClass.ArabicNumber || characterClass[counter] == DirectionClass.EuropeanNumber); 2325DirectionClass.Left : DirectionClass.Right; 2328if (counter>0 && characterClass[counter-1]==DirectionClass.BoundaryNeutral) 2375DirectionClass sor; 2376DirectionClass eor; 2406DirectionClass.Right : DirectionClass.Left; 2411DirectionClass.Right : DirectionClass.Left; 2421DirectionClass.Right : DirectionClass.Left; 2430characterClass[runLimits[runNumber]] == DirectionClass.BoundaryNeutral) 2436DirectionClass.Right : DirectionClass.Left; 2493state.LastStrongClass = DirectionClass.Right; 2494state.LastNumberClass = DirectionClass.Right; 2499state.LastStrongClass = DirectionClass.Left; 2500state.LastNumberClass = DirectionClass.Left;
MS\Internal\TextFormatting\SimpleTextLine.cs (1)
1946return Classification.CharAttributeOf(charClass).BiDi == DirectionClass.WhiteSpace;
MS\Internal\TextFormatting\TextStore.cs (30)
890DirectionClass[] directionClasses = new DirectionClass[stringLength]; 917DirectionClass europeanNumberOverride = _bidiState.GetEuropeanNumberClassOverride(culture); 964new PartialArray<DirectionClass>(directionClasses, resolvedLength, ich - resolvedLength), 2510NumberClass = DirectionClass.ClassInvalid; 2511StrongCharClass = DirectionClass.ClassInvalid; 2546LastStrongClass = DirectionClass.Left; 2547LastNumberClass = DirectionClass.Left; 2551LastStrongClass = DirectionClass.ArabicLetter; 2552LastNumberClass = DirectionClass.ArabicNumber; 2565public override DirectionClass LastNumberClass 2569if (this.NumberClass == DirectionClass.ClassInvalid ) 2584public override DirectionClass LastStrongClass 2588if (this.StrongCharClass == DirectionClass.ClassInvalid) 2608DirectionClass strongClass = DirectionClass.ClassInvalid; 2609DirectionClass numberClass = DirectionClass.ClassInvalid; 2635if (strongClass != DirectionClass.ClassInvalid) 2639if (this.NumberClass == DirectionClass.ClassInvalid) 2641if (numberClass == DirectionClass.EuropeanNumber) 2666if(strongClass == DirectionClass.ClassInvalid) 2668this.StrongCharClass = ((CurrentLevel & 1) == 0) ? DirectionClass.Left : DirectionClass.ArabicLetter; 2671if(numberClass == DirectionClass.ClassInvalid) 2673this.NumberClass = ((CurrentLevel & 1) == 0) ? DirectionClass.Left : DirectionClass.ArabicNumber; 2719internal DirectionClass GetEuropeanNumberClassOverride(CultureInfo cultureInfo) 2728return DirectionClass.ArabicNumber; 2731return DirectionClass.EuropeanNumber;
MS\Internal\UnicodeClasses.cs (1)
183internal DirectionClass BiDi;