Beispiel #1
0
        /// <summary>
        /// Render cursor at the specified position
        /// </summary>
        internal void Render(Graphics render, int x, int y, Theme theme)
        {
            render.SetColor(white);

            if (null == this.textures[0])
            {
                String themeFolder = theme.ThemeFolder + "/images/cursor_";

                this.textures[(int)MousePointers.PointerStandard] = this.engine.CreateImage(themeFolder + "default");
                this.textures[(int)MousePointers.PointerWait] = this.engine.CreateImage(themeFolder + "clock");
                this.textures[(int)MousePointers.PointerMove] = this.engine.CreateImage(themeFolder + "move");
                this.textures[(int)MousePointers.PointerHResize] = this.engine.CreateImage(themeFolder + "hsize");
                this.textures[(int)MousePointers.PointerVResize] = this.engine.CreateImage(themeFolder + "vsize");
                this.textures[(int)MousePointers.PointerResize1] = this.engine.CreateImage(themeFolder + "resize1");
                this.textures[(int)MousePointers.PointerResize2] = this.engine.CreateImage(themeFolder + "resize2");
                this.textures[(int)MousePointers.PointerText] = this.engine.CreateImage(themeFolder + "text");
                this.textures[(int)MousePointers.PointerHand] = this.engine.CreateImage(themeFolder + "hand");
            }

            if (null != this.textures[(int)this.activeCursor])
            {
                if (MousePointers.PointerStandard == this.activeCursor)
                {
                    render.DrawImage(x, y, 32, 32, this.textures[(int)this.activeCursor]);
                }
                else
                {
                    render.DrawImage(x - 16, y - 16, this.textures[(int)this.activeCursor].Width, this.textures[(int)this.activeCursor].Height, this.textures[(int)this.activeCursor]);
                }
            }
        }
Beispiel #2
0
 public void GetFonts(List<String> availableFonts, UIEngine engine, Theme theme)
 {
     foreach (String font in this.availableFonts.Keys)
     {
         availableFonts.Add(font);
     }
 }
Beispiel #3
0
        public IImage GetIcon(int id, bool large, UIEngine engine, Theme theme)
        {
            if (4 == id)
            {
                return GetIcon(large, "vfs", engine, theme);
            }

            return GetIcon(large, "generic", engine, theme);
        }
Beispiel #4
0
        /// <summary>
        /// Supported fonts list
        /// </summary>
        public List<String> GetAvailableFonts(UIEngine engine, Theme theme)
        {
            if (null == this.fontsNames)
            {
                this.fontsNames = new List<String>();

                foreach (IFontCreator fontCreator in this.fontCreators)
                {
                    fontCreator.GetFonts(this.fontsNames, engine, theme);
                }
            }

            return this.fontsNames;
        }
Beispiel #5
0
        /// <summary>
        /// Constructs desktop object.
        /// </summary>
        /// <param name="engine">ui engine</param>
        /// <param name="theme">desktop theme</param>
        /// <param name="fileName">filename to load dekstop from, or empty for default desktop.</param>
        internal Desktop(UIEngine engine, Theme theme, String fileName)
            : base("desktop")
        {
            this.engine = engine;
            this.theme = theme;
            this.mousePointer = new MousePointer(this.engine);

            if (null != fileName)
            {
                using (IXmlReader reader = this.engine.OpenXmlFile(fileName))
                {
                    if (null != reader)
                    {
                        Load(reader);
                    }
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// Get acceptable fonts lists.
        /// </summary>
        public override List<String> GetAcceptableValues(Theme theme)
        {
            if ((acceptableValues.Count <= 0) && (null != engine))
            {
                List<String> fonts = engine.GetFontsFactory(null).GetAvailableFonts(this.engine, theme);

                if (fonts.Count > 0)
                {
                    this.ControlType = ComboBox.TypeName;

                    foreach (String it in fonts)
                    {
                        acceptableValues.Add(it);
                    }
                }
            }

            return acceptableValues;
        }
Beispiel #7
0
        public IFont GetFont(string name, int size, bool bold, bool italic, UIEngine engine, Theme theme)
        {
            String fileName = null;

            if (true == this.availableFonts.TryGetValue(name.ToLower(), out fileName))
            {
                BitmapFont font = new BitmapFont(this.engine, fontsFolder + fileName, name, size, bold, italic);

                if (false == font.Loaded)
                {
                    return null;
                }
                else
                {
                    return font;
                }
            }
            else
            {
                return null;
            }
        }
Beispiel #8
0
        /// <summary>
        /// Creates font. Does not cache fonts - allwats creates new font object.
        /// </summary>
        /// <param name="fontName">font name.</param>
        /// <param name="size">font size.</param>
        /// <param name="bold">is font bold.</param>
        /// <param name="italic">is font italic.</param>
        /// <param name="engine">ui engine.</param>
        /// <param name="theme">theme.</param>
        /// <returns></returns>
        public IFont GetFont(String fontName, int size, bool bold, bool italic, UIEngine engine, Theme theme)
        {
            Init(engine, theme);

            //engine.Logger.WriteLine(LogLevel.Info, "Requesting font: " + fontName);

            WinFontCached cachedFont = new WinFontCached(engine, fontName, size, bold, italic);

            if (true == cachedFont.Loaded)
            {
                return cachedFont;
            }

            WinFont font = new WinFont(engine, fontName, size, bold, italic);

            if (false == font.Loaded)
            {
                return null;
            }
            else
            {
                return font;
            }
        }
Beispiel #9
0
 public IImage GetIcon(int id, bool large, UIEngine engine, Theme theme)
 {
     return null;
 }
Beispiel #10
0
 public IImage GetFileIcon(string fileName, bool large, UIEngine engine, Theme theme)
 {
     throw new NotImplementedException();
 }
Beispiel #11
0
 public IImage GetIcon(int id, bool large, UIEngine engine, Theme theme)
 {
     throw new NotImplementedException();
 }
Beispiel #12
0
 public IImage GetShareIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetShell32IconWindows(28, large, engine);
 }
Beispiel #13
0
 public IImage GetIcon(int id, bool large, UIEngine engine, Theme theme)
 {
     return GetShell32IconWindows(id, large, engine);
 }
Beispiel #14
0
 public override void FromString(String strValue, Theme theme)
 {
     this.keyName = strValue;
 }
Beispiel #15
0
 public IImage GetShareIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetIcon(large, "share", engine, theme);
 }
Beispiel #16
0
 public IImage GetShareIcon(String shareName, bool large, UIEngine engine, Theme theme)
 {
     throw new NotImplementedException();
 }
Beispiel #17
0
 public IImage GetDesktopIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetShell32IconWindows(34, large, engine);
 }
Beispiel #18
0
 public IImage GetFileIcon(String fileName, bool large, UIEngine engine, Theme theme)
 {
     return GetIcon(large, fileName.EndsWith("/") ? "folder" : "file", engine, theme);
 }
Beispiel #19
0
 public IImage GetMyComputerIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetShell32IconWindows(15, large, engine);
 }
Beispiel #20
0
 public IImage GetDomainIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetIcon(large, "domain", engine, theme);
 }
Beispiel #21
0
 public IImage GetDesktopIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetIcon(large, "desktop", engine, theme);
 }
Beispiel #22
0
        private IImage GetIcon(bool large, String name, UIEngine engine, Theme theme)
        {
            String iconsPath = theme.ThemeFolder + "/icons/fsys/";

            if (true == large)
            {
                return engine.CreateImage(iconsPath + name + "_32x32");
            }
            else
            {
                return engine.CreateImage(iconsPath + name + "_16x16");
            }
        }
Beispiel #23
0
 public IImage GetMyComputerIcon(bool large, UIEngine engine, Theme theme)
 {
     throw new NotImplementedException();
 }
Beispiel #24
0
 public IImage GetNetworkIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetShell32IconWindows(17, large, engine);
 }
Beispiel #25
0
 public IImage GetNetworkIcon(bool large, UIEngine engine, Theme theme)
 {
     throw new NotImplementedException();
 }
Beispiel #26
0
 public IImage GetShareIcon(string shareName, bool large, UIEngine engine, Theme theme)
 {
     return GetFileIconWindows(shareName, (uint)FILE_ATTRIBUTE_NORMAL, (uint)(SHGFI_ICON | (large ? SHGFI_LARGEICON : SHGFI_SMALLICON)), engine, large);
 }
Beispiel #27
0
 public IImage GetMyDocumentsIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetIcon(large, "mydoc", engine, theme);
 }
Beispiel #28
0
 public IImage GetNetworkIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetIcon(large, "network", engine, theme);
 }
Beispiel #29
0
 public IImage GetMyComputerIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetIcon(large, "mypc", engine, theme);
 }
Beispiel #30
0
 public IImage GetMyDocumentsIcon(bool large, UIEngine engine, Theme theme)
 {
     return GetShell32IconWindows(126, large, engine);
 }