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); }
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(); }
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); }
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); }