예제 #1
0
        private void DrawCursor(GUIHost host)
        {
            if (!HasFocus)
            {
                return;
            }

            var processedCursorLocation = processed_cursor_location;

            cursor_stopwatch.Stop();
            elasped += cursor_stopwatch.ElapsedMilliseconds;
            cursor_stopwatch.Reset();
            cursor_stopwatch.Start();
            if (elasped < 300L)
            {
                return;
            }

            if (elasped > 600L)
            {
                elasped = 0L;
            }

            Simple2DRenderer simpleRenderer = host.GetSimpleRenderer();

            cursor_quad.x0 = X_Abs + text_window_left_border + processedCursorLocation;
            cursor_quad.y0 = Y_Abs + text_window_top_border - 2;
            cursor_quad.x1 = (int)((double)cursor_quad.x0 + 2.0);
            cursor_quad.y1 = cursor_quad.y0 + Height - (text_window_top_border + text_window_bottom_border);
            Simple2DRenderer.Quad cursorQuad = cursor_quad;
            simpleRenderer.DrawQuad(cursorQuad);
        }
예제 #2
0
        public override void OnRender(GUIHost host)
        {
            if (item_count != Items.Count)
            {
                Refresh();
            }

            base.OnRender(host);
            var y = (float)(topbordersize_pixels + Y_Abs);
            var x = (float)(leftbordersize_pixels + X_Abs);

            host.SetCurFontSize(Size);
            QFont currentFont = host.GetCurrentFont();

            QFont.Begin();
            var num = 0;

            for (var startRow = start_row; startRow < Items.Count && num < max_rows_on_screen; ++startRow)
            {
                if (startRow == mouse_over_row && !NoSelect)
                {
                    QFont.End();
                    Simple2DRenderer      simpleRenderer = host.GetSimpleRenderer();
                    Simple2DRenderer.Quad quad1;
                    quad1.x0    = x;
                    quad1.y0    = y;
                    quad1.x1    = x + text_region_width;
                    quad1.y1    = y + rowheight * 0.75f;
                    quad1.color = color_highlighted;
                    Simple2DRenderer.Quad quad2 = quad1;
                    simpleRenderer.DrawQuad(quad2);
                    QFont.Begin();
                }
                if (startRow == selected && !NoSelect)
                {
                    QFont.End();
                    Simple2DRenderer      simpleRenderer = host.GetSimpleRenderer();
                    Simple2DRenderer.Quad quad1;
                    quad1.x0    = x;
                    quad1.y0    = y;
                    quad1.x1    = x + text_region_width;
                    quad1.y1    = y + rowheight * 0.75f;
                    quad1.color = color_selected;
                    Simple2DRenderer.Quad quad2 = quad1;
                    simpleRenderer.DrawQuad(quad2);
                    QFont.Begin();
                }
                currentFont.Options.Colour = Color;
                currentFont.Print(Items[startRow].ToString(), text_region_width, new Vector2(x, y));
                y += rowheight;
                ++num;
            }
            QFont.End();
        }
예제 #3
0
        private void DrawHighlight(Simple2DRenderer render, QFont font)
        {
            if (highlight_start < 0)
            {
                return;
            }

            var num1 = X_Abs + text_window_left_border;
            var num2 = Y_Abs + text_window_top_border;
            var num3 = Height - text_window_top_border * 2;

            Simple2DRenderer.Quad cursorQuad = cursor_quad;
            cursorQuad.x0    = num1 + highlight_start_offset;
            cursorQuad.x1    = num1 + highlight_end_offset;
            cursorQuad.y0    = num2;
            cursorQuad.y1    = num2 + num3;
            cursorQuad.color = new Color4(0.854902f, 0.945098f, 0.972549f, 1f);
            render.DrawQuad(cursorQuad);
        }
예제 #4
0
        public override void OnRender(GUIHost host)
        {
            var xAbs   = X_Abs;
            var yAbs   = Y_Abs;
            var width  = Width;
            var height = Height;

            drawable_sprite.Render(host, State.Normal, xAbs, yAbs, width, height);
            Simple2DRenderer simpleRenderer = host.GetSimpleRenderer();

            Simple2DRenderer.Quad quad1;
            quad1.x0    = xAbs + left_border;
            quad1.y0    = yAbs + top_border;
            quad1.x1    = xAbs + (width - right_border) * complete;
            quad1.y1    = yAbs + height - bottom_border;
            quad1.color = bar_color;
            Simple2DRenderer.Quad quad2 = quad1;
            simpleRenderer.DrawQuad(quad2);
            base.OnRender(host);
        }