-
- diff --git a/mycpu.c b/mycpu.c
- index 6f19d6a..c46f700 100644
- --- a/mycpu.c
- +++ b/mycpu.c
- @@ -24,13 +24,17 @@ static void my_cpu_set_property(GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec);
- static void my_cpu_get_property(GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec);
- -static void my_cpu_size_request(GtkWidget *widget,
- - GtkRequisition *requisition);
- +static void my_cpu_get_preferred_width(GtkWidget *widget,
- + gint *minimal_w,
- + gint *natural_w);
- +static void my_cpu_get_preferred_height(GtkWidget *widget,
- + gint *minimal_h,
- + gint *natural_h);
- static void my_cpu_size_allocate(GtkWidget *widget,
- GtkAllocation *allocation);
- static void my_cpu_realize(GtkWidget *widget);
- -static gboolean my_cpu_expose(GtkWidget *widget,
- - GdkEventExpose *event);
- +static gboolean my_cpu_draw(GtkWidget *widget,
- + cairo_t *cr);
-
- /* Define type */
- G_DEFINE_TYPE(MyCpu, my_cpu, GTK_TYPE_WIDGET)
- @@ -50,9 +54,10 @@ static void my_cpu_class_init(MyCpuClass *klass) {
- g_class->get_property = my_cpu_get_property;
-
- w_class->realize = my_cpu_realize;
- - w_class->size_request = my_cpu_size_request;
- + w_class->get_preferred_width = my_cpu_get_preferred_width;
- + w_class->get_preferred_height = my_cpu_get_preferred_height;
- w_class->size_allocate = my_cpu_size_allocate;
- - w_class->expose_event = my_cpu_expose;
- + w_class->draw = my_cpu_draw;
-
- /* Install property */
- pspec = g_param_spec_double("percent", "Percent",
- @@ -143,16 +148,21 @@ static void my_cpu_realize(GtkWidget *widget) {
- gdk_window_set_user_data(priv->window, widget);
- gtk_widget_set_window(widget, priv->window);
-
- - widget->style = gtk_style_attach(gtk_widget_get_style( widget ),
- - priv->window);
- - gtk_style_set_background(widget->style, priv->window, GTK_STATE_NORMAL);
- +// widget->style = gtk_style_attach(gtk_widget_get_style( widget ),
- +// priv->window);
- +// gtk_style_set_background(widget->style, priv->window, GTK_STATE_NORMAL);
- }
-
- -static void my_cpu_size_request(GtkWidget *widget,
- - GtkRequisition *requisition) {
- -
- - requisition->width = WIDTH;
- - requisition->height = HEIGHT;
- +static void my_cpu_get_preferred_width(GtkWidget *widget,
- + gint *minimal_w,
- + gint *natural_w){
- + *minimal_w = *natural_w = WIDTH;
- +}
- +
- +static void my_cpu_get_preferred_height(GtkWidget *widget,
- + gint *minimal_h,
- + gint *natural_h){
- + *minimal_h = *natural_h = HEIGHT;
- }
-
- static void my_cpu_size_allocate(GtkWidget *widget,
- @@ -171,16 +181,13 @@ static void my_cpu_size_allocate(GtkWidget *widget,
- }
- }
-
- -static gboolean my_cpu_expose(GtkWidget *widget,
- - GdkEventExpose *event) {
- +static gboolean my_cpu_draw (GtkWidget *widget,
- + cairo_t *cr) {
-
- MyCpuPrivate *priv = MY_CPU(widget)->priv;
- - cairo_t *cr;
- gint limit;
- gint i;
-
- - cr = gdk_cairo_create(event->window);
- -
- cairo_translate(cr, 0, 7);
-
- cairo_set_source_rgb(cr, 0, 0, 0);
- @@ -201,8 +208,6 @@ static gboolean my_cpu_expose(GtkWidget *widget,
- cairo_fill(cr);
- }
-
- - cairo_destroy(cr);
- -
- return TRUE;
- }
-
-