예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Texture"/> class.
 /// </summary>
 /// <param name="renderer">Renderer to use.</param>
 public Texture(Renderer.RendererBase renderer)
 {
     m_Renderer = renderer;
     Width = 4;
     Height = 4;
     Failed = false;
 }
예제 #2
0
        /// <summary>
        /// Renders the currently visible tooltip.
        /// </summary>
        /// <param name="skin"></param>
        public static void RenderToolTip(Skin.SkinBase skin)
        {
            if (null == g_ToolTip)
            {
                return;
            }

            Renderer.RendererBase render = skin.Renderer;

            Point     oldRenderOffset = render.RenderOffset;
            Point     mousePos        = Input.InputHandler.MousePosition;
            Rectangle bounds          = g_ToolTip.ToolTip.Bounds;

            Rectangle offset = Util.FloatRect(mousePos.X - bounds.Width / 2, mousePos.Y - bounds.Height - 10, bounds.Width, bounds.Height);

            offset = Util.ClampRectToRect(offset, g_ToolTip.GetCanvas().Bounds);

            //Calculate offset on screen bounds
            render.AddRenderOffset(offset);
            render.EndClip();

            skin.DrawToolTip(g_ToolTip.ToolTip);
            g_ToolTip.ToolTip.DoRender(skin);

            render.RenderOffset = oldRenderOffset;
        }
예제 #3
0
        private Font InternalGetFont(Renderer.RendererBase renderer, string faceName, int size, FontStyle style)
        {
            string id = String.Format("{0};{1};{2}", faceName, size, (int)style);
            Font   font;

            if (!m_FontCache.TryGetValue(id, out font))
            {
                font = new Font(renderer, faceName, size);

                if ((style & FontStyle.Bold) != 0)
                {
                    font.Bold = true;
                }
                if ((style & FontStyle.Italic) != 0)
                {
                    font.Italic = true;
                }
                if ((style & FontStyle.Underline) != 0)
                {
                    font.Underline = true;
                }
                if ((style & FontStyle.Strikeout) != 0)
                {
                    font.Strikeout = true;
                }

                m_FontCache[id] = font;
            }

            return(font);
        }
예제 #4
0
        public void DrawCenter(RendererBase render, Rectangle r)
        {
            if (m_Texture == null)
                return;

            DrawCenter(render, r, Color.White);
        }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Texture"/> class.
 /// </summary>
 /// <param name="renderer">Renderer to use.</param>
 public Texture(Renderer.RendererBase renderer)
 {
     m_Renderer = renderer;
     Width      = 4;
     Height     = 4;
     Failed     = false;
 }
예제 #6
0
 public BitmapFont(RendererBase renderer, string bmfont, Texture tx)
     : base(renderer)
 {
     fontdata      = new BMFont(bmfont);
     this.FaceName = fontdata.Face;
     this.Size     = fontdata.FontSize;
     this.texture  = tx;
 }
예제 #7
0
        public void Draw(RendererBase render, Rectangle r, Color col)
        {
            if (m_Texture == null)
                return;

            render.DrawColor = col;
            render.DrawTexturedRect(m_Texture, r, m_uv[0], m_uv[1], m_uv[2], m_uv[3]);
        }
예제 #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Font"/> class.
 /// </summary>
 /// <param name="renderer">Renderer to use.</param>
 /// <param name="faceName">Face name.</param>
 /// <param name="size">Font size.</param>
 public Font(Renderer.RendererBase renderer, string faceName, int size = 10, FontStyle style = FontStyle.Regular)
 {
     m_Renderer = renderer ?? Defaults.Renderer;
     FaceName   = faceName;
     Size       = size;
     Smooth     = false;
     FontStyle  = style;
 }
예제 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Font"/> class.
 /// </summary>
 /// <param name="renderer">Renderer to use.</param>
 /// <param name="faceName">Face name.</param>
 /// <param name="size">Font size.</param>
 public Font(Renderer.RendererBase renderer, String faceName, int size) //10
 {
     m_Renderer = renderer;
     FaceName = faceName;
     Size = size;
     Smooth = false;
     //Bold = false;
     //DropShadow = false;
 }
예제 #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Font"/> class.
 /// </summary>
 /// <param name="renderer">Renderer to use.</param>
 /// <param name="faceName">Face name.</param>
 /// <param name="size">Font size.</param>
 public Font(Renderer.RendererBase renderer, string faceName, int size = 10)
 {
     m_Renderer = renderer;
     FaceName   = faceName;
     Size       = size;
     Smooth     = false;
     //Bold = false;
     //DropShadow = false;
 }
예제 #11
0
        public static Font GetFont(Renderer.RendererBase renderer, string faceName, int size = 10, FontStyle style = 0)
        {
            if (m_Instance == null)
            {
                m_Instance = new FontCache();
            }

            return(m_Instance.InternalGetFont(renderer, faceName, size, style));
        }
예제 #12
0
        public void DrawCenter(RendererBase render, Rectangle r, Color col)
        {
            r.X += (int)((r.Width - m_Width) * 0.5);
            r.Y += (int)((r.Height - m_Height) * 0.5);
            r.Width = m_Width;
            r.Height = m_Height;

            Draw(render, r, col);
        }
예제 #13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Font"/> class.
 /// </summary>
 /// <param name="renderer">Renderer to use.</param>
 /// <param name="faceName">Face name.</param>
 /// <param name="size">Font size.</param>
 public Font(Renderer.RendererBase renderer, string faceName, int size = 10)
 {
     m_Renderer    = renderer;
     m_FontMetrics = null;
     FaceName      = faceName;
     Size          = size;
     Smooth        = false;
     Bold          = false;
     Italic        = false;
     Underline     = false;
     Strikeout     = false;
     //DropShadow = false;
 }
예제 #14
0
        public SimpleSkin(RendererBase renderer) : base(renderer)
        {
            m_colBorderColor = Color.FromArgb(255, 80, 80, 80);
            //m_colBG = Color.FromArgb(255, 248, 248, 248);
            m_colBGDark = Color.FromArgb(255, 235, 235, 235);

            m_colControl = Color.FromArgb(255, 240, 240, 240);
            m_colControlBright = Color.FromArgb(255, 255, 255, 255);
            m_colControlDark = Color.FromArgb(255, 214, 214, 214);
            m_colControlDarker = Color.FromArgb(255, 180, 180, 180);

            m_colControlOutlineNormal = Color.FromArgb(255, 112, 112, 112);
            m_colControlOutlineLight = Color.FromArgb(255, 144, 144, 144);
            m_colControlOutlineLighter = Color.FromArgb(255, 210, 210, 210);

            m_colHighlightBG = Color.FromArgb(255, 192, 221, 252);
            m_colHighlightBorder = Color.FromArgb(255, 51, 153, 255);

            m_colToolTipBackground = Color.FromArgb(255, 255, 255, 225);
            m_colToolTipBorder = Color.FromArgb(255, 0, 0, 0);

            m_colModal = Color.FromArgb(150, 25, 25, 25);
        }
예제 #15
0
 internal static void CreateCache(Renderer.RendererBase renderer)
 {
     m_Instance = new FontCache(renderer);
 }
예제 #16
0
 private FontCache(Renderer.RendererBase renderer)
 {
     m_Renderer = renderer;
 }
예제 #17
0
        public TexturedSkin(RendererBase renderer, Stream textureData)
            : base(renderer)
        {
            m_Texture = new Texture(Renderer);
            m_Texture.LoadStream(textureData);

            InitializeColors();
            InitializeTextures();
        }
예제 #18
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TexturedBase"/> class.
        /// </summary>
        /// <param name="renderer">Renderer to use.</param>
        /// <param name="textureName">Name of the skin texture map.</param>
        public TexturedSkin(RendererBase renderer, String textureName)
            : base(renderer)
        {
            m_Texture = new Texture(Renderer);
            m_Texture.Load(textureName);

            InitializeColors();
            InitializeTextures();
        }
예제 #19
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Font"/> class.
        /// </summary>
        public Font(RendererBase renderer)
            : this(renderer, "Arial", 10)
        {

        }
예제 #20
0
파일: Font.cs 프로젝트: slagusev/Gwen.CS
 /// <summary>
 /// Create a new font instance. This function uses a font cache to load the font.
 /// This is preferable method to create a font. User don't need to worry about
 /// disposing the font.
 /// </summary>
 /// <param name="renderer">Renderer to use.</param>
 /// <param name="faceName">Face name.</param>
 /// <param name="size">Font size.</param>
 /// <param name="style">Font style.</param>
 /// <returns>Font.</returns>
 public static Font Create(Renderer.RendererBase renderer, string faceName, int size = 10, FontStyle style = 0)
 {
     return(FontCache.GetFont(renderer, faceName, size, style));
 }
예제 #21
0
 // can't have this as default param
 public void Draw(RendererBase render, Rectangle r)
 {
     Draw(render, r, Color.White);
 }
예제 #22
0
 void DrawRect(RendererBase render, int i, int x, int y, int w, int h)
 {
     render.DrawTexturedRect(m_Texture,
                             new Rectangle(x, y, w, h),
                             m_Rects[i].uv[0], m_Rects[i].uv[1], m_Rects[i].uv[2], m_Rects[i].uv[3]);
 }
예제 #23
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Base"/> class.
 /// </summary>
 /// <param name="renderer">Renderer to use.</param>
 protected SkinBase(RendererBase renderer)
 {
     m_DefaultFont = new Font(renderer);
     m_Renderer = renderer;
 }
예제 #24
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Font"/> class.
 /// </summary>
 public Font(Renderer.RendererBase renderer)
     : this(renderer, "Arial", 10)
 {
 }
예제 #25
0
        public void Draw(RendererBase render, Rectangle r, Color col)
        {
            if (m_Texture == null)
                return;

            render.DrawColor = col;

            if (r.Width < m_Width && r.Height < m_Height)
            {
                render.DrawTexturedRect(m_Texture, r, m_Rects[0].uv[0], m_Rects[0].uv[1], m_Rects[8].uv[2], m_Rects[8].uv[3]);
                return;
            }

            DrawRect(render, 0, r.X, r.Y, m_Margin.Left, m_Margin.Top);
            DrawRect(render, 1, r.X + m_Margin.Left, r.Y, r.Width - m_Margin.Left - m_Margin.Right, m_Margin.Top);
            DrawRect(render, 2, (r.X + r.Width) - m_Margin.Right, r.Y, m_Margin.Right, m_Margin.Top);

            DrawRect(render, 3, r.X, r.Y + m_Margin.Top, m_Margin.Left, r.Height - m_Margin.Top - m_Margin.Bottom);
            DrawRect(render, 4, r.X + m_Margin.Left, r.Y + m_Margin.Top, r.Width - m_Margin.Left - m_Margin.Right,
                     r.Height - m_Margin.Top - m_Margin.Bottom);
            DrawRect(render, 5, (r.X + r.Width) - m_Margin.Right, r.Y + m_Margin.Top, m_Margin.Right,
                     r.Height - m_Margin.Top - m_Margin.Bottom);

            DrawRect(render, 6, r.X, (r.Y + r.Height) - m_Margin.Bottom, m_Margin.Left, m_Margin.Bottom);
            DrawRect(render, 7, r.X + m_Margin.Left, (r.Y + r.Height) - m_Margin.Bottom,
                     r.Width - m_Margin.Left - m_Margin.Right, m_Margin.Bottom);
            DrawRect(render, 8, (r.X + r.Width) - m_Margin.Right, (r.Y + r.Height) - m_Margin.Bottom, m_Margin.Right,
                     m_Margin.Bottom);
        }