public FormFontElement() { InitializeComponent(); //if (CameraDictionary.Instance.ContainsKey(this.GetType().Name)) //{ // this.camera = CameraDictionary.Instance[this.GetType().Name]; //} //else { this.camera = new ScientificCamera(CameraTypes.Perspecitive, this.glCanvas1.Width, this.glCanvas1.Height); //CameraDictionary.Instance.Add(this.GetType().Name, this.camera); } IPerspectiveCamera perspectiveCamera = this.camera; perspectiveCamera.FieldOfView = 60f; perspectiveCamera.AspectRatio = (double)this.glCanvas1.Width / (double)this.glCanvas1.Height; perspectiveCamera.Near = 0.01; perspectiveCamera.Far = 10000; IOrthoCamera orthoCamera = this.camera; orthoCamera.Left = -this.glCanvas1.Width / 2; orthoCamera.Right = this.glCanvas1.Width / 2; orthoCamera.Bottom = -this.glCanvas1.Height / 2; orthoCamera.Top = this.glCanvas1.Height / 2; orthoCamera.Near = -10000; orthoCamera.Far = 10000; this.camera.Position = new vec3(0, 0, 9.23f); satelliteRoration = new SatelliteRotator(camera); //element = new ModernSingleTextureFont("simsun.ttf", 48, '祝', '神');//char.MinValue, char.MaxValue); //element = new FontElement("simsun.ttf", 48, '一', '龟');//包含了几乎所有汉字字符 element = new FontElement("simsun.ttf", 48, (char)0, '~'); element.Initialize(); //element.SetText("祝神"); //element.SetText("一龟"); element.SetText("The quick brown fox jumps over the lazy dog!"); element.BeforeRendering += element_BeforeRendering; element.AfterRendering += element_AfterRendering; uiAxisElement = new SimpleUIAxis( new IUILayoutParam(AnchorStyles.Left | AnchorStyles.Bottom, new Padding(0, 0, 0, 0), new System.Drawing.Size(100, 100))); uiAxisElement.Initialize(); this.glCanvas1.MouseWheel += glCanvas1_MouseWheel; this.glCanvas1.KeyPress += glCanvas1_KeyPress; this.glCanvas1.MouseDown += glCanvas1_MouseDown; this.glCanvas1.MouseMove += glCanvas1_MouseMove; this.glCanvas1.MouseUp += glCanvas1_MouseUp; this.glCanvas1.OpenGLDraw += glCanvas1_OpenGLDraw; this.glCanvas1.Resize += glCanvas1_Resize; }
public void Apply(IThemeItem themeItem, MediaCenterLibraryCache readCache, MediaCenterLibraryCache writeCache) { FontsThemeItem fontsThemeItem = (FontsThemeItem)themeItem; IResourceLibrary resourceLibrary1 = readCache["Microsoft.MediaCenter.Shell.dll"]; IResourceLibrary resourceLibrary2 = writeCache["Microsoft.MediaCenter.Shell.dll"]; McmlDocument mcml1 = MediaCenterUtil.GetMcml(resourceLibrary1.GetResource("FONTNAMES.MCML", (object)this.DocumentResourceType)); McmlDocument mcml2 = MediaCenterUtil.GetMcml(resourceLibrary1.GetResource("FONTS.MCML", (object)this.DocumentResourceType)); foreach (FontClass fontClass in Enumerable.Where <FontClass>((IEnumerable <FontClass>)fontsThemeItem.FontClasses, (Func <FontClass, bool>)(o => o.FontFace != null))) { string typefaceName = FontUtilities.GetTypefaceName(themeItem.Theme, fontClass.FontFace); PropertyElement property = mcml1.Properties().GetProperty(fontClass.Name); if (property == null) { XElement xelement = new XElement(McmlDocument.SystemCoreNamespace + "String", new object[2] { (object)new XAttribute((XName)"Name", (object)fontClass.Name), (object)new XAttribute((XName)"String", (object)typefaceName) }); mcml1.Xml.Root.Add((object)xelement); } else { property.Value = typefaceName; } } foreach (XElement xelement in mcml1.Xml.Root.Elements()) { mcml2.Xml.Root.AddFirst((object)xelement); } MediaCenterUtil.UpdateMcml(resourceLibrary2.GetResource("FONTNAMES.MCML", (object)this.DocumentResourceType), mcml1); foreach (FontOverride fontOverride in Enumerable.Where <FontOverride>((IEnumerable <FontOverride>)fontsThemeItem.FontOverrides, (Func <FontOverride, bool>)(o => { if (o.FontFace == null) { return(o.FontClass != null); } else { return(true); } }))) { FontElement fontElement = mcml2.Properties().GetProperty(fontOverride.Name) as FontElement; if (fontElement == null) { XElement xelement = new XElement(mcml2.DefaultNamespace + "Font", (object)new XAttribute((XName)"Name", (object)fontOverride.Name)); mcml2.Xml.Root.Add((object)xelement); fontElement = (FontElement)mcml2.Properties().GetProperty(fontOverride.Name); } McmlUtilities.UpdateFontElement(fontOverride, fontElement, themeItem.Theme); } foreach (XNode xnode in mcml2.Xml.Root.Elements(mcml2.DefaultNamespace + "Aggregate")) { xnode.Remove(); } MediaCenterUtil.UpdateMcml(resourceLibrary2.GetResource("FONTS.MCML", (object)this.DocumentResourceType), mcml2); }
public static void UpdateFontElement(this FontOverride fontOverride, FontElement fontElement, MediaCenterTheme theme) { if (fontOverride == null) { return; } if (fontElement == null) { throw new ThemeApplicationException("Font element not found."); } FontFace typeface = (FontFace)null; if (fontOverride.FontFace != null) { typeface = fontOverride.FontFace; } else if (fontOverride.FontClass != null) { FontClass fontClass = Enumerable.FirstOrDefault <FontClass>((IEnumerable <FontClass>)theme.FontsItem.FontClasses, (Func <FontClass, bool>)(o => o.Name == fontOverride.FontClass)); if (fontClass != null) { typeface = fontClass.FontFace; } else { Trace.TraceWarning("Could not find font class " + fontOverride.FontClass + "."); } } if (typeface == null) { return; } string typefaceName = FontUtilities.GetTypefaceName(theme, typeface); fontElement.Value = typefaceName; if (fontOverride.Size > 0) { fontElement.Size = fontOverride.Size.ToString(); } string str = (string)null; if (fontOverride.IsBold) { str = "Bold"; } if (fontOverride.IsItalic) { if (str != null) { str = str + ", "; } str = str + "Italic"; } fontElement.Style = str; }
public void ExpandParent(FontElement item) { if (item == null) { return; } var collitem = box.ItemContainerGenerator.Items.OfType <CollectionViewGroup>() .FirstOrDefault(elem => elem.Name.Equals(item.Group)); if (collitem == null) { return; } var gi = box.ItemContainerGenerator.ContainerFromItem(collitem) as GroupItem; if (gi == null) { return; } var elemem = gi.GetVisualChild <UIElement>() as Expander; if (elemem != null) { elemem.IsExpanded = true; } var t = new Timer(100); t.Elapsed += (e, s) => Dispatcher.Invoke(() => { ((Timer)e).Enabled = false; var gi2 = box.ItemContainerGenerator.ContainerFromItem(item) as ListBoxItem; if (gi2 != null) { gi2.BringIntoView(); } }); t.Enabled = true; }
private void SetStandardAsFont(object sender, RoutedEventArgs e) { SelectedFamily = DefaultFamily; }
private void SetArialAsFont(object sender, RoutedEventArgs e) { SelectedFamily = MainWindow.Global.FontFamilies.FirstOrDefault( elem => elem.Family.FamilyNames.Any(el => el.Value == "Arial Unicode MS")); }
public override void ParseBinary(BinaryReader reader) { int chunkSize = BinaryStreamOperator.ReadSize(reader); if (chunkSize == 0) { return; } int chunkStartingPosition = (int)reader.BaseStream.Position; int elementCount = BinaryStreamOperator.ReadSize(reader); int[] elementPositions = new int[elementCount]; for (int i = 0; i < elementCount; i++) { elementPositions[i] = BinaryStreamOperator.ReadPosition(reader); } for (int i = 0; i < elementCount; i++) { int elementPosition = elementPositions[i]; reader.BaseStream.Seek(elementPosition, SeekOrigin.Begin); var fontElement = new FontElement(); fontElement.ReadBinary(reader); _data.fontIndexList.Add(i); _fontElementList.Add(fontElement); } _data.unknown = BinaryStreamOperator.ReadBinary(reader, chunkStartingPosition + chunkSize - (int)reader.BaseStream.Position); }
public static new Element FromObj(object instance) { if (instance == null) { return(null); } try{ string tagUrn = (string)GetProperty(instance, "tagUrn"); string tagName = (string)GetProperty(instance, "tagName"); if (tagUrn == null || tagUrn == "") { switch (tagName.ToLower()) { case "!": return(CommentElement.FromObj(instance)); case "a": return(AElement.FromObj(instance)); case "area": return(AreaElement.FromObj(instance)); case "base": return(BaseElement.FromObj(instance)); case "basefont": return(BaseFontElement.FromObj(instance)); case "bgsound": return(BgsoundElement.FromObj(instance)); case "address": case "pre": case "center": case "listing": case "xmp": case "plaintext": case "blockquote": return(BlockElement.FromObj(instance)); case "body": return(BodyElement.FromObj(instance)); case "br": return(BrElement.FromObj(instance)); case "button": return(ButtonElement.FromObj(instance)); case "dd": return(DdElement.FromObj(instance)); case "div": return(DivElement.FromObj(instance)); case "dl": return(DlElement.FromObj(instance)); case "dt": return(DtElement.FromObj(instance)); case "embed": return(EmbedElement.FromObj(instance)); case "fieldset": return(FieldsetElement.FromObj(instance)); case "font": return(FontElement.FromObj(instance)); case "form": return(FormElement.FromObj(instance)); case "frame": return(FrameElement.FromObj(instance)); case "frameset": return(FramesetElement.FromObj(instance)); case "head": return(HeadElement.FromObj(instance)); case "h1": case "h2": case "h3": case "h4": case "h5": case "h6": return(HnElement.FromObj(instance)); case "hr": return(HrElement.FromObj(instance)); case "html": return(HtmlElement.FromObj(instance)); case "iframe": return(IframeElement.FromObj(instance)); case "img": return(ImgElement.FromObj(instance)); case "input": return(InputElement.FromObj(instance)); case "isindex": return(IsindexElement.FromObj(instance)); case "legend": return(LegendElement.FromObj(instance)); case "label": return(LabelElement.FromObj(instance)); case "li": return(LiElement.FromObj(instance)); case "link": return(LinkElement.FromObj(instance)); case "map": return(MapElement.FromObj(instance)); case "marquee": return(MarqueeElement.FromObj(instance)); case "meta": return(MetaElement.FromObj(instance)); case "nextid": return(NextidElement.FromObj(instance)); case "noembed": case "noframes": case "nolayer": case "noscript": return(NoshowElement.FromObj(instance)); case "applet": case "object": return(ObjectElement.FromObj(instance)); case "ol": return(OlElement.FromObj(instance)); case "optgroup": case "option": return(OptionElement.FromObj(instance)); case "p": return(PElement.FromObj(instance)); case "param": return(ParamElement.FromObj(instance)); case "i": case "u": case "b": case "q": case "s": case "strong": case "del": case "strike": case "em": case "small": case "big": case "ruby": case "rp": case "sub": case "sup": case "acronym": case "bdo": case "cite": case "dfn": case "ins": case "code": case "kbd": case "samp": case "var": case "nobr": return(PhraseElement.FromObj(instance)); case "script": return(ScriptElement.FromObj(instance)); case "select": return(SelectElement.FromObj(instance)); case "span": return(SpanElement.FromObj(instance)); case "style": return(StyleElement.FromObj(instance)); case "caption": return(CaptionElement.FromObj(instance)); case "td": case "th": return(TableCellElement.FromObj(instance)); case "table": return(TableElement.FromObj(instance)); case "colgroup": case "col": return(ColElement.FromObj(instance)); case "tr": return(TrElement.FromObj(instance)); case "thead": case "tbody": case "tfoot": return(TableSectionElement.FromObj(instance)); case "textarea": return(TextAreaElement.FromObj(instance)); case "wbr": return(TextElement.FromObj(instance)); case "title": return(TitleElement.FromObj(instance)); case "dir": case "menu": case "ul": return(UlElement.FromObj(instance)); // optionbutton ? // spanflow ? // default: return UnknownElement.FromObj(instance); } } }catch { // IHTMLElement でない可能性 } return(new Element(instance)); }