skiasharp/binding/HarfBuzzSharp/Script.cs

42 lines
952 B
C#
Raw Normal View History

#nullable disable
using System;
namespace HarfBuzzSharp
{
2019-07-21 21:15:59 +02:00
public partial struct Script : IEquatable<Script>
{
private readonly Tag tag;
2019-02-05 16:32:49 +01:00
private Script (Tag tag)
{
this.tag = tag;
}
public Direction HorizontalDirection =>
HarfBuzzApi.hb_script_get_horizontal_direction (tag);
2019-03-14 10:55:03 +01:00
public static Script Parse (string str) =>
2019-07-21 21:15:59 +02:00
HarfBuzzApi.hb_script_from_string (str, -1);
public static bool TryParse (string str, out Script script)
{
script = Parse (str);
return script != Unknown;
}
public override string ToString () => tag.ToString ();
public static implicit operator uint (Script script) => script.tag;
public static implicit operator Script (uint tag) => new Script (tag);
2019-03-14 10:55:03 +01:00
public override bool Equals (object obj) =>
obj is Script script && tag.Equals (script.tag);
2019-03-14 10:55:03 +01:00
public bool Equals (Script other) => tag.Equals (other.tag);
2019-03-14 10:55:03 +01:00
public override int GetHashCode () => tag.GetHashCode ();
}
}