public MHText(MHText reference) : base(reference) { m_OrigFont.Copy(reference.m_OrigFont); m_OriginalFontAttrs.Copy(reference.m_OriginalFontAttrs); m_OriginalTextColour.Copy(reference.m_OriginalTextColour); m_OriginalBgColour.Copy(reference.m_OriginalBgColour); m_nCharSet = reference.m_nCharSet; m_HorizJ = reference.m_HorizJ; m_VertJ = reference.m_VertJ; m_LineOrientation = reference.m_LineOrientation; m_StartCorner = reference.m_StartCorner; m_fTextWrap = reference.m_fTextWrap; m_pDisplay = null; }
public MHText() { m_nCharSet = -1; m_HorizJ = m_VertJ = Start; m_LineOrientation = Horizontal; m_StartCorner = UpperLeft; m_fTextWrap = false; m_pDisplay = null; m_OrigFont = new MHFontBody(); m_OriginalFontAttrs = new MHOctetString(); m_OriginalTextColour = new MHColour(); m_OriginalBgColour = new MHColour(); m_textColour = new MHColour(); m_bgColour = new MHColour(); m_fontAttrs = new MHOctetString(); m_Content = new MHOctetString(); }
public override void Initialise(MHParseNode p, MHEngine engine) { base.Initialise(p, engine); // Font and attributes. MHParseNode pFontBody = p.GetNamedArg(ASN1Codes.C_ORIGINAL_FONT); if (pFontBody != null) { m_OrigFont.Initialise(pFontBody.GetArgN(0), engine); } MHParseNode pFontAttrs = p.GetNamedArg(ASN1Codes.C_FONT_ATTRIBUTES); if (pFontAttrs != null) { pFontAttrs.GetArgN(0).GetStringValue(m_OriginalFontAttrs); } // Colours MHParseNode pTextColour = p.GetNamedArg(ASN1Codes.C_TEXT_COLOUR); if (pTextColour != null) { m_OriginalTextColour.Initialise(pTextColour.GetArgN(0), engine); } MHParseNode pBGColour = p.GetNamedArg(ASN1Codes.C_BACKGROUND_COLOUR); if (pBGColour != null) { m_OriginalBgColour.Initialise(pBGColour.GetArgN(0), engine); } // Character set MHParseNode pChset = p.GetNamedArg(ASN1Codes.C_CHARACTER_SET); if (pChset != null) { m_nCharSet = pChset.GetArgN(0).GetIntValue(); } // Justification MHParseNode pHJust = p.GetNamedArg(ASN1Codes.C_HORIZONTAL_JUSTIFICATION); if (pHJust != null) { m_HorizJ = pHJust.GetArgN(0).GetEnumValue(); } MHParseNode pVJust = p.GetNamedArg(ASN1Codes.C_VERTICAL_JUSTIFICATION); if (pVJust != null) { m_VertJ = pVJust.GetArgN(0).GetEnumValue(); } // Line orientation MHParseNode pLineO = p.GetNamedArg(ASN1Codes.C_LINE_ORIENTATION); if (pLineO != null) { m_LineOrientation = pLineO.GetArgN(0).GetEnumValue(); } // Start corner MHParseNode pStartC = p.GetNamedArg(ASN1Codes.C_START_CORNER); if (pStartC != null) { m_StartCorner = pStartC.GetArgN(0).GetEnumValue(); } // Text wrapping MHParseNode pTextWrap = p.GetNamedArg(ASN1Codes.C_TEXT_WRAPPING); if (pTextWrap != null) { m_fTextWrap = pTextWrap.GetArgN(0).GetBoolValue(); } m_pDisplay = engine.GetContext().CreateText(); m_NeedsRedraw = true; }