aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2017-04-12 12:39:09 +0200
committerGerd Hoffmann <kraxel@redhat.com>2017-04-12 12:39:09 +0200
commit8e4aa8e602b7400c9a9edafbfc9c966bd85ec92c (patch)
treee69a28d0e7baece34413e7feb0b2319be44184c4
parentf4622608baf58fed2d7d2b6cf2326b595c906d0d (diff)
downloaddrminfo-8e4aa8e602b7400c9a9edafbfc9c966bd85ec92c.tar.gz
info tweaks
-rw-r--r--Makefile2
-rw-r--r--drmtest.c7
-rw-r--r--gtktest.c5
-rw-r--r--render.c23
-rw-r--r--render.h2
5 files changed, 26 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 2d2f01a..7ac827d 100644
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@ all: $(TARGETS)
clean:
rm -f $(TARGETS)
- rm -f *~
+ rm -f *~ *.o
drminfo: drminfo.o drmtools.o
drmtest: drmtest.o drmtools.o render.o
diff --git a/drmtest.c b/drmtest.c
index cc602fb..b014ed2 100644
--- a/drmtest.c
+++ b/drmtest.c
@@ -211,10 +211,15 @@ static void drm_init_dumb_fb(void)
static void drm_draw_dumb_fb(void)
{
+ char name[64];
+ char info[80];
cairo_t *cr;
+ drm_conn_name(conn, name, sizeof(name));
+ snprintf(info, sizeof(info), "%s: %dx%d",
+ name, mode->hdisplay, mode->vdisplay);
cr = cairo_create(cs);
- render_test(cr, mode->hdisplay, mode->vdisplay);
+ render_test(cr, mode->hdisplay, mode->vdisplay, info);
cairo_destroy(cr);
drmModeDirtyFB(fd, fb_id, 0, 0);
}
diff --git a/gtktest.c b/gtktest.c
index 0726bbe..9a5d2a1 100644
--- a/gtktest.c
+++ b/gtktest.c
@@ -6,11 +6,14 @@
static gboolean on_draw_event(GtkWidget *widget, cairo_t *cr,
gpointer user_data)
{
+ char info[80];
int width, height;
width = gtk_widget_get_allocated_width(widget);
height = gtk_widget_get_allocated_height(widget);
- render_test(cr, width, height);
+ snprintf(info, sizeof(info), "gtktest: %dx%d",
+ width, height);
+ render_test(cr, width, height, info);
return FALSE;
}
diff --git a/render.c b/render.c
index 5c650f2..9b7f2d8 100644
--- a/render.c
+++ b/render.c
@@ -1,5 +1,7 @@
#include <cairo.h>
+#include "render.h"
+
static int pad = 10;
static void render_color_bar(cairo_t *cr, int x, int y, int w, int h,
@@ -26,11 +28,11 @@ static void render_color_bar(cairo_t *cr, int x, int y, int w, int h,
cairo_show_text(cr, name);
}
-void render_test(cairo_t *cr, int width, int height)
+void render_test(cairo_t *cr, int width, int height, const char *info)
{
int bar = 100;
- while (6 * bar + 2 * pad > height &&
+ while (7 * bar + 2 * pad > height &&
bar > 4 * pad)
bar -= 10;
@@ -40,15 +42,18 @@ void render_test(cairo_t *cr, int width, int height)
cairo_set_line_width (cr, 1);
cairo_set_source_rgb (cr, 1, 1, 1);
- cairo_rectangle (cr, pad - 0.5, pad - 0.5, width - 2*pad + 1, 6*bar + 1);
+ cairo_rectangle (cr, pad - 0.5, pad - 0.5, width - 2*pad + 1, 7*bar + 1);
cairo_stroke (cr);
- render_color_bar(cr, pad, bar * 0 + pad, width - 2*pad, bar, 1, 0, 0, "red");
- render_color_bar(cr, pad, bar * 1 + pad, width - 2*pad, bar, 1, 1, 0, "yellow");
- render_color_bar(cr, pad, bar * 2 + pad, width - 2*pad, bar, 0, 1, 0, "green");
- render_color_bar(cr, pad, bar * 3 + pad, width - 2*pad, bar, 0, 1, 1, "cyan");
- render_color_bar(cr, pad, bar * 4 + pad, width - 2*pad, bar, 0, 0, 1, "blue");
- render_color_bar(cr, pad, bar * 5 + pad, width - 2*pad, bar, 1, 0, 1, "magenta");
+ render_color_bar(cr, pad, bar * 0 + pad, width - 2*pad, bar,
+ 0.8, 0.8, 0.8, info);
+
+ render_color_bar(cr, pad, bar * 1 + pad, width - 2*pad, bar, 1, 0, 0, "red");
+ render_color_bar(cr, pad, bar * 2 + pad, width - 2*pad, bar, 1, 1, 0, "yellow");
+ render_color_bar(cr, pad, bar * 3 + pad, width - 2*pad, bar, 0, 1, 0, "green");
+ render_color_bar(cr, pad, bar * 4 + pad, width - 2*pad, bar, 0, 1, 1, "cyan");
+ render_color_bar(cr, pad, bar * 5 + pad, width - 2*pad, bar, 0, 0, 1, "blue");
+ render_color_bar(cr, pad, bar * 6 + pad, width - 2*pad, bar, 1, 0, 1, "magenta");
}
diff --git a/render.h b/render.h
index 93a53c5..d6aa9ba 100644
--- a/render.h
+++ b/render.h
@@ -1 +1 @@
-void render_test(cairo_t *cr, int width, int height);
+void render_test(cairo_t *cr, int width, int height, const char *info);