qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Anthony Liguori <aliguori@us.ibm.com>, Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] [PATCH 11/15] console: zap g_width + g_height
Date: Mon, 18 Mar 2013 13:09:38 +0100	[thread overview]
Message-ID: <1363608582-26571-12-git-send-email-kraxel@redhat.com> (raw)
In-Reply-To: <1363608582-26571-1-git-send-email-kraxel@redhat.com>

We have a surface per QemuConsole now, so there is no need to keep
track of the QemuConsole size any more as we can query the surface
size directly at any time.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/console.c |   32 +++++++++-----------------------
 1 file changed, 9 insertions(+), 23 deletions(-)

diff --git a/ui/console.c b/ui/console.c
index 241720b..771f155 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -123,7 +123,6 @@ struct QemuConsole {
     graphic_hw_invalidate_ptr hw_invalidate;
     graphic_hw_text_update_ptr hw_text_update;
     void *hw;
-    int g_width, g_height;
 
     /* Text console state */
     int width;
@@ -384,8 +383,8 @@ static void text_console_resize(QemuConsole *s)
     int w1, x, y, last_width;
 
     last_width = s->width;
-    s->width = s->g_width / FONT_WIDTH;
-    s->height = s->g_height / FONT_HEIGHT;
+    s->width = surface_width(s->surface) / FONT_WIDTH;
+    s->height = surface_height(s->surface) / FONT_HEIGHT;
 
     w1 = last_width;
     if (s->width < w1)
@@ -946,18 +945,12 @@ static void console_putchar(QemuConsole *s, int ch)
 
 void console_select(unsigned int index)
 {
-    DisplaySurface *surface;
     QemuConsole *s;
 
     if (index >= MAX_CONSOLES)
         return;
 
     trace_console_select(index);
-    if (active_console) {
-        surface = qemu_console_surface(active_console);
-        active_console->g_width = surface_width(surface);
-        active_console->g_height = surface_height(surface);
-    }
     s = consoles[index];
     if (s) {
         DisplayState *ds = s->ds;
@@ -1084,11 +1077,8 @@ void kbd_put_keysym(int keysym)
 static void text_console_invalidate(void *opaque)
 {
     QemuConsole *s = (QemuConsole *) opaque;
-    DisplaySurface *surface = qemu_console_surface(s);
 
     if (s->ds->have_text && s->console_type == TEXT_CONSOLE) {
-        s->g_width = surface_width(surface);
-        s->g_height = surface_height(surface);
         text_console_resize(s);
     }
     console_refresh(s);
@@ -1492,6 +1482,8 @@ static void text_console_update_cursor(void *opaque)
 static void text_console_do_init(CharDriverState *chr, DisplayState *ds)
 {
     QemuConsole *s;
+    int g_width = 80 * FONT_WIDTH;
+    int g_height = 24 * FONT_HEIGHT;
 
     s = chr->opaque;
 
@@ -1507,16 +1499,13 @@ static void text_console_do_init(CharDriverState *chr, DisplayState *ds)
     s->total_height = DEFAULT_BACKSCROLL;
     s->x = 0;
     s->y = 0;
-    if (s->console_type == TEXT_CONSOLE) {
+    if (!s->surface) {
         if (active_console && active_console->surface) {
-            s->g_width = surface_width(active_console->surface);
-            s->g_height = surface_height(active_console->surface);
-        } else {
-            s->g_width = 80 * FONT_WIDTH;
-            s->g_height = 24 * FONT_HEIGHT;
+            g_width = surface_width(active_console->surface);
+            g_height = surface_height(active_console->surface);
         }
+        s->surface = qemu_create_displaysurface(g_width, g_height);
     }
-    s->surface = qemu_create_displaysurface(s->g_width, s->g_height);
 
     s->cursor_timer =
         qemu_new_timer_ms(rt_clock, text_console_update_cursor, s);
@@ -1578,6 +1567,7 @@ static CharDriverState *text_console_init(ChardevVC *vc)
         s = new_console(NULL, TEXT_CONSOLE);
     } else {
         s = new_console(NULL, TEXT_CONSOLE_FIXED_SIZE);
+        s->surface = qemu_create_displaysurface(width, height);
     }
 
     if (!s) {
@@ -1586,8 +1576,6 @@ static CharDriverState *text_console_init(ChardevVC *vc)
     }
 
     s->chr = chr;
-    s->g_width = width;
-    s->g_height = height;
     chr->opaque = s;
     chr->chr_set_echo = text_console_set_echo;
 
@@ -1614,8 +1602,6 @@ void qemu_console_resize(QemuConsole *s, int width, int height)
     DisplaySurface *surface;
 
     assert(s->console_type == GRAPHIC_CONSOLE);
-    s->g_width = width;
-    s->g_height = height;
     surface = qemu_create_displaysurface(width, height);
     dpy_gfx_replace_surface(s, surface);
 }
-- 
1.7.9.7

  parent reply	other threads:[~2013-03-18 12:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-18 12:09 [Qemu-devel] [PATCH 00/15] console: overhaul continued Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 01/15] pixman: add qemu_pixman_color() Gerd Hoffmann
2013-03-18 21:13   ` Søren Sandmann
2013-03-19  7:21     ` Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 02/15] pixman: render vgafont glyphs into pixman images Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 03/15] console: use pixman for fill+blit Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 04/15] console: use pixman for font rendering Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 05/15] console: switch color_table_rgb to pixman_color_t Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 06/15] console: add trace events Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 07/15] console: displaystate init revamp Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 08/15] console: rename vga_hw_*, add QemuConsole param Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 09/15] console: give each QemuConsole its own DisplaySurface Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 10/15] console: simplify screendump Gerd Hoffmann
2013-03-18 12:09 ` Gerd Hoffmann [this message]
2013-03-18 12:09 ` [Qemu-devel] [PATCH 12/15] console: move gui_update+gui_setup_refresh from vl.c into console.c Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 13/15] console: make DisplayState private to console.c Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 14/15] console: add GraphicHwOps Gerd Hoffmann
2013-03-18 12:09 ` [Qemu-devel] [PATCH 15/15] console: gui timer fixes Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1363608582-26571-12-git-send-email-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).