override protected void Reset() { base.Reset(); Color = Color.black; Type = OutlineType.Outer; Size = 1; }
/************************ * public static methods */ /// <summary>Return a new OTFont by reading a single font from an /// OTFile starting at a given file position. /// <p/> /// The type of the font is set by determining whether there is /// a 'glyf' table or a 'CFF ' table. /// </summary> public static OTFont ReadFont(OTFile file, uint FontFileNumber, uint filepos) { OTFont f = null; OffsetTable ot = ReadOffsetTable(file, filepos); if (ot != null) { if (ot.numTables == ot.DirectoryEntries.Count) { OutlineType olt = OutlineType.OUTLINE_INVALID; for (int i = 0; i < ot.DirectoryEntries.Count; i++) { DirectoryEntry temp = (DirectoryEntry)ot.DirectoryEntries[i]; string sTable = (string)temp.tag; if (sTable == "CFF ") { olt = OutlineType.OUTLINE_POSTSCRIPT; break; } else if (sTable == "glyf") { olt = OutlineType.OUTLINE_TRUETYPE; break; } } f = new OTFont(file, FontFileNumber, ot, olt); } } return(f); }
private void func(string s, bool b) { OutlineType oc = this.getEntry(s); if (oc != null) { oc.visible = b; } }
public static OutlineEffect FadeInOutline(Transform transform, OutlineType type, Color color) { OutlineEffect outline = instance.pools.Get(type).Get(); outline.transform.SetParent(transform, false); outline.UpdateUI(); outline.FadeIn(color); return(outline); }
public OTFont(OTFile f, uint FontFileNumber, OffsetTable ot, OutlineType outlineType) { m_File = f; m_FontFileNumber = FontFileNumber; m_OffsetTable = ot; m_OutlineType = outlineType; m_maxpNumGlyphs = 0; m_arrUnicodeToGlyph_3_0 = null; m_arrUnicodeToGlyph_3_1 = null; m_arrUnicodeToGlyph_3_10 = null; m_bContainsMsSymbolEncodedCmap = false; }
public OTFont(OTFile f, uint FontFileNumber, OffsetTable ot, OutlineType outlineType) { m_File = f; m_FontFileNumber = FontFileNumber; m_OffsetTable = ot; m_OutlineType = outlineType; m_maxpNumGlyphs = 0; m_arrUnicodeToGlyph_3_0 = null; m_arrUnicodeToGlyph_3_1 = null; m_arrUnicodeToGlyph_3_10 = null; m_bContainsMsSymbolEncodedCmap = false; }
/// <summary> /// Returns true if an outline with the passed name is visible. /// If no outline exists with the passed name, false is returned. /// </summary> public bool isVisible(string name) { OutlineType oc = this.getEntry(name); if (oc != null) { return(true); } else { return(false); } }
public static string FormatHeader(string input, int headerWidth, OutlineType outlineType, int leftMargin = 0) { if (leftMargin < 0) { throw new ArgumentException("Left margin cannot be less than zero."); } if (input.Length > headerWidth) { throw new ArgumentException("Header cannot be wider than the line."); } StringBuilder sb = new StringBuilder(); sb.Append(' ', leftMargin); var length = headerWidth / 2 - input.Length / 2 - 1; var c = (outlineType == OutlineType.Line)? '-' : (outlineType == OutlineType.Equals) ? '=' : ' '; for (int i = 0; i < length; i++) { sb.Append(c); } sb.Append(' '); sb.Append(input); sb.Append(' '); for (int i = 0; i < length; i++) { sb.Append(c); } if (outlineType == OutlineType.Underline) { sb.Append('\n'); sb.Append(' ', leftMargin); for (int i = 0; i < length + 1; i++) { sb.Append(' '); } for (int i = 0; i < input.Length; i++) { sb.Append('-'); } } return(sb.ToString()); }
public Geometry QueryDrawingOutline(long oid, OutlineType outlineType) { DrawingOutlineType drawingOutlineType; switch (outlineType) { case OutlineType.Exact: drawingOutlineType = DrawingOutlineType.Exact; break; case OutlineType.BoundingBox: drawingOutlineType = DrawingOutlineType.BoundingEnvelope; break; default: throw new ArgumentOutOfRangeException(nameof(outlineType), outlineType, null); } return(_layer.QueryDrawingOutline(oid, _mapView, drawingOutlineType)); }
public Geometry QueryDrawingOutline(long oid, OutlineType outlineType) { #if PRO27 DrawingOutlineType drawingOutlineType; switch (outlineType) { case OutlineType.Exact: drawingOutlineType = DrawingOutlineType.Exact; break; case OutlineType.BoundingBox: drawingOutlineType = DrawingOutlineType.BoundingEnvelope; break; default: throw new ArgumentOutOfRangeException(nameof(outlineType), outlineType, null); } return(_layer.QueryDrawingOutline(oid, _mapView, drawingOutlineType)); #else throw new NotImplementedException("Requires ArcGIS Pro 2.7 or newer"); #endif }
public Geometry QueryDrawingOutline(long oid, OutlineType outlineType) { throw new NotImplementedException(); }
public OTFontVal(OTFile f, uint FontFileNumber, OffsetTable ot, OutlineType outlineType) : base(f, FontFileNumber, ot, outlineType) { }
public static void AddEllipseOutline(List <UIVertex> verts, Rect rect, Color color, int size, OutlineType outlineType, int offset, int length) { if (IsEmpty(rect) || outlineType == OutlineType.None || length == 0) { return; } int count = length / 6; float degrees = offset; int increment = length / count; Vector2 innerRadius = Vector2.zero; Vector2 outerRadius = Vector2.zero; switch (outlineType) { case OutlineType.Inner: innerRadius = rect.size * 0.5f - Vector2.one * size; outerRadius = rect.size * 0.5f; break; case OutlineType.Outer: innerRadius = rect.size * 0.5f; outerRadius = rect.size * 0.5f + Vector2.one * size; break; } UIVertex[] triangles = new UIVertex[6]; for (int index = 0; index < triangles.Length; index++) { triangles[index] = UIVertex.simpleVert; triangles[index].color = color; } for (int index = 0; index <= count; index++, degrees += increment) { float cos = Mathf.Cos(degrees * Mathf.Deg2Rad); float sin = Mathf.Sin(degrees * Mathf.Deg2Rad); triangles[0].position = triangles[4].position; triangles[1].position = triangles[3].position; triangles[5].position = triangles[4].position; triangles[2].position = rect.center + (Vector2.right * cos * outerRadius.x) + (Vector2.up * sin * outerRadius.y); triangles[3].position = triangles[2].position; triangles[4].position = rect.center + (Vector2.right * cos * innerRadius.x) + (Vector2.up * sin * innerRadius.y); if (index > 0) { verts.AddRange(triangles); } } }
public static void AddRectOutline(List <UIVertex> verts, Rect rect, Color color, int size, OutlineType outlineType, EdgeType edgeType) { if (IsEmpty(rect) || outlineType == OutlineType.None) { return; } UIVertex[] triangles = new UIVertex[6]; for (int index = 0; index < triangles.Length; index++) { triangles[index] = UIVertex.simpleVert; triangles[index].color = color; } float innerRadius = 0; float outerRadius = 0; switch (outlineType) { case OutlineType.Inner: innerRadius = -size; outerRadius = 0; break; case OutlineType.Outer: innerRadius = 0; outerRadius = size; break; } switch (edgeType) { case EdgeType.Top: // top triangles[0].position = new Vector2(rect.xMin, rect.yMax + innerRadius); triangles[1].position = new Vector2(rect.xMin, rect.yMax + outerRadius); triangles[2].position = new Vector2(rect.xMax, rect.yMax + outerRadius); triangles[3].position = triangles[2].position; triangles[4].position = new Vector2(rect.xMax, rect.yMax + innerRadius); triangles[5].position = triangles[0].position; break; case EdgeType.Left: // left triangles[0].position = new Vector2(rect.xMin - outerRadius, rect.yMin); triangles[1].position = new Vector2(rect.xMin - outerRadius, rect.yMax); triangles[2].position = new Vector2(rect.xMin - innerRadius, rect.yMax); triangles[3].position = triangles[2].position; triangles[4].position = new Vector2(rect.xMin - innerRadius, rect.yMin); triangles[5].position = triangles[0].position; break; case EdgeType.Bottom: // bottom triangles[0].position = new Vector2(rect.xMin, rect.yMin - innerRadius); triangles[1].position = new Vector2(rect.xMin, rect.yMin - outerRadius); triangles[2].position = new Vector2(rect.xMax, rect.yMin - outerRadius); triangles[3].position = triangles[2].position; triangles[4].position = new Vector2(rect.xMax, rect.yMin - innerRadius); triangles[5].position = triangles[0].position; break; case EdgeType.Right: // right triangles[0].position = new Vector2(rect.xMax + outerRadius, rect.yMin); triangles[1].position = new Vector2(rect.xMax + outerRadius, rect.yMax); triangles[2].position = new Vector2(rect.xMax + innerRadius, rect.yMax); triangles[3].position = triangles[2].position; triangles[4].position = new Vector2(rect.xMax + innerRadius, rect.yMin); triangles[5].position = triangles[0].position; break; } verts.AddRange(triangles); }
public OTFontVal(OTFile f, uint FontFileNumber, OffsetTable ot, OutlineType outlineType) : base(f, FontFileNumber, ot, outlineType) { }
private OutlineEffect InstantiateOutline(OutlineType type) { return(Instantiate(prefabs.Get(type))); }