public bloFont setFont(bloFont font) { bloFont oldFont = mFont; mFont = font; return(oldFont); }
protected override void loadBlo1(aBinaryReader reader) { base.loadBlo1(reader); var finder = bloResourceFinder.getFinder(); int numparams = reader.Read8(); mFont = finder.find <bloResFont>(reader, "font"); mTopColor = new bloColor(reader.Read32()); mBottomColor = new bloColor(reader.Read32()); int binding = reader.Read8(); mHBinding = (bloTextboxHBinding)((binding >> 2) & 3); mVBinding = (bloTextboxVBinding)((binding >> 0) & 3); mFontSpacing = reader.ReadS16(); mFontLeading = reader.ReadS16(); mFontWidth = reader.Read16(); mFontHeight = reader.Read16(); int strlen = reader.Read16(); setString(reader.Read8s(strlen)); numparams -= 10; if (numparams > 0) { if (reader.Read8() != 0) { setConnectParent(true); } --numparams; } if (numparams > 0) { mFromColor = new bloColor(reader.Read32()); --numparams; } else { mFromColor = new bloColor(bloColor.cZero); } if (numparams > 0) { mToColor = new bloColor(reader.Read32()); --numparams; } else { mToColor = new bloColor(bloColor.cOne); } reader.Skip(4); }
public static ushort[] loadTextBuffer(xElement element, bloFont font) { if (element == null || font == null) { return(new ushort[0]); } return(font.encode(element.Value)); }
public bloTextbox(uint name, bloRectangle rectangle, bloFont font, string text, bloTextboxHBinding hbind, bloTextboxVBinding vbind) { mName = name; mRect = rectangle; mFont = font; mHBinding = hbind; mVBinding = vbind; setString(text); }
internal bloTextbox() { mFont = null; mText = new ushort[0]; mFromColor = new bloColor(bloColor.cZero); mToColor = new bloColor(bloColor.cOne); mTopColor = new bloColor(bloColor.cWhite); mBottomColor = new bloColor(bloColor.cWhite); }
protected override void loadCompact(aBinaryReader reader) { base.loadCompact(reader); var finder = bloResourceFinder.getFinder(); mFont = finder.find <bloResFont>(reader, "font"); mTopColor = new bloColor(reader.Read32()); mBottomColor = new bloColor(reader.Read32()); int hbinding = reader.Read8(); mHBinding = (bloTextboxHBinding)(hbinding & 127); mVBinding = (bloTextboxVBinding)reader.Read8(); if ((hbinding & 0x80) != 0) { mFontSpacing = reader.ReadS16(); mFontLeading = reader.ReadS16(); mFontWidth = reader.Read16(); mFontHeight = reader.Read16(); } else if (mFont != null) { mFontSpacing = 0; mFontLeading = mFont.getLeading(); mFontWidth = mFont.getWidth(); mFontHeight = mFont.getHeight(); } else { mFontSpacing = 0; mFontLeading = 0; mFontWidth = 0; mFontHeight = 0; } int strlen = reader.Read16(); setString(reader.Read8s(strlen)); mFromColor = new bloColor(bloColor.cZero); mToColor = new bloColor(bloColor.cOne); reader.Skip(4); }
public static void saveTextBuffer(XmlWriter writer, ushort[] buffer, bloFont font, string name) { if (font == null) { return; } writer.WriteStartElement(name); var text = font.decodeToUtf16(buffer); var sbuffer = new StringBuilder(text.Length); for (int i = 0; i < text.Length; ++i) { if (Char.IsHighSurrogate(text[i])) { if (i < (text.Length - 1) && Char.IsLowSurrogate(text[++i])) { if (sbuffer.Length > 0) { writer.WriteString(sbuffer.ToString()); sbuffer.Clear(); } writer.WriteSurrogateCharEntity(text[i], text[i - 1]); } continue; } else if (Char.IsControl(text[i])) { if (sbuffer.Length > 0) { writer.WriteString(sbuffer.ToString()); sbuffer.Clear(); } writer.WriteCharEntity(text[i]); } else { sbuffer.Append(text[i]); } } if (sbuffer.Length > 0) { writer.WriteString(sbuffer.ToString()); sbuffer.Clear(); } writer.WriteEndElement(); }
protected override void loadXml(xElement element) { base.loadXml(element); var finder = bloResourceFinder.getFinder(); mFont = finder.find <bloResFont>(element.Element("font"), "font"); mText = bloXml.loadTextBuffer(element.Element("text"), mFont); var white = new bloColor(bloColor.cWhite); var colors = element.Element("colors"); mTopColor = bloXml.loadColor(colors.Element("top"), white); mBottomColor = bloXml.loadColor(colors.Element("bottom"), white); var binding = element.Element("binding"); if (!Enum.TryParse <bloTextboxHBinding>(binding.Element("horizontal"), true, out mHBinding)) { mHBinding = bloTextboxHBinding.Left; } if (!Enum.TryParse <bloTextboxVBinding>(binding.Element("vertical"), true, out mVBinding)) { mVBinding = bloTextboxVBinding.Top; } var typesetting = element.Element("typesetting"); int leading = (mFont != null ? mFont.getLeading() : 20); int width = (mFont != null ? mFont.getWidth() : 20); int height = (mFont != null ? mFont.getHeight() : 20); mFontSpacing = (typesetting.Element("spacing") | 0); mFontLeading = (typesetting.Element("leading") | leading); mFontWidth = (typesetting.Element("width") | width); mFontHeight = (typesetting.Element("height") | height); bloXml.loadGradient(element.Element("gradient"), out mFromColor, out mToColor); }
void initialize(bloFont font, int spacing, int leading, bloColor topColor, bloColor bottomColor) { mFont = font; mState.spacing = spacing; if (mFont != null) { mState.leading = (leading != Int32.MinValue ? leading : mFont.getLeading()); } else { mState.leading = 32; } mState.gradientMode = true; mState.topColor = topColor; mState.bottomColor = bottomColor; mFromColor = new bloColor(bloColor.cZero); mToColor = new bloColor(bloColor.cOne); if (mFont != null) { mState.tabWidth = (short)(mFont.getWidth() * 4); } else { mState.tabWidth = 80; } if (mFont != null) { setFontSize(); mFont.setGL(mFromColor, mToColor); } else { mState.fontWidth = Int32.MinValue; mState.fontHeight = Int32.MinValue; } locate(0, 0); initchar(); }
public bloPrint(bloFont font, int spacing, int leading, bloColor topColor, bloColor bottomColor) { initialize(font, spacing, leading, topColor, bottomColor); }
public bloPrint(bloFont font, int spacing, bloColor topColor, bloColor bottomColor) { initialize(font, spacing, Int32.MinValue, topColor, bottomColor); }
public bloPrint(bloFont font, int spacing, int leading) { var white = new bloColor(bloColor.cWhite); initialize(font, spacing, leading, white, white); }
public bloPrint(bloFont font, int spacing) { var white = new bloColor(bloColor.cWhite); initialize(font, spacing, Int32.MinValue, white, white); }