You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.0 KiB
C#
105 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
// Token: 0x0200014D RID: 333
|
|
[Serializable]
|
|
public class BMGlyph
|
|
{
|
|
// Token: 0x06000946 RID: 2374 RVA: 0x000286DC File Offset: 0x000268DC
|
|
public int GetKerning(int previousChar, bool IsKerning = true)
|
|
{
|
|
if (this.kerning != null && IsKerning)
|
|
{
|
|
int i = 0;
|
|
int count = this.kerning.Count;
|
|
while (i < count)
|
|
{
|
|
if (this.kerning[i] == previousChar)
|
|
{
|
|
return this.kerning[i + 1];
|
|
}
|
|
i += 2;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
// Token: 0x06000947 RID: 2375 RVA: 0x0002873C File Offset: 0x0002693C
|
|
public void SetKerning(int previousChar, int amount)
|
|
{
|
|
if (this.kerning == null)
|
|
{
|
|
this.kerning = new List<int>();
|
|
}
|
|
for (int i = 0; i < this.kerning.Count; i += 2)
|
|
{
|
|
if (this.kerning[i] == previousChar)
|
|
{
|
|
this.kerning[i + 1] = amount;
|
|
return;
|
|
}
|
|
}
|
|
this.kerning.Add(previousChar);
|
|
this.kerning.Add(amount);
|
|
}
|
|
|
|
// Token: 0x06000948 RID: 2376 RVA: 0x000287B8 File Offset: 0x000269B8
|
|
public void Trim(int xMin, int yMin, int xMax, int yMax)
|
|
{
|
|
int num = this.x + this.width;
|
|
int num2 = this.y + this.height;
|
|
if (this.x < xMin)
|
|
{
|
|
int num3 = xMin - this.x;
|
|
this.x += num3;
|
|
this.width -= num3;
|
|
this.offsetX += num3;
|
|
}
|
|
if (this.y < yMin)
|
|
{
|
|
int num4 = yMin - this.y;
|
|
this.y += num4;
|
|
this.height -= num4;
|
|
this.offsetY += num4;
|
|
}
|
|
if (num > xMax)
|
|
{
|
|
this.width -= num - xMax;
|
|
}
|
|
if (num2 > yMax)
|
|
{
|
|
this.height -= num2 - yMax;
|
|
}
|
|
}
|
|
|
|
// Token: 0x040007B0 RID: 1968
|
|
public int index;
|
|
|
|
// Token: 0x040007B1 RID: 1969
|
|
public int x;
|
|
|
|
// Token: 0x040007B2 RID: 1970
|
|
public int y;
|
|
|
|
// Token: 0x040007B3 RID: 1971
|
|
public int width;
|
|
|
|
// Token: 0x040007B4 RID: 1972
|
|
public int height;
|
|
|
|
// Token: 0x040007B5 RID: 1973
|
|
public int offsetX;
|
|
|
|
// Token: 0x040007B6 RID: 1974
|
|
public int offsetY;
|
|
|
|
// Token: 0x040007B7 RID: 1975
|
|
public int advance;
|
|
|
|
// Token: 0x040007B8 RID: 1976
|
|
public int channel;
|
|
|
|
// Token: 0x040007B9 RID: 1977
|
|
public List<int> kerning;
|
|
}
|