Ejemplo n.º 1
0
static void gtk_cpu_realize(GtkWidget *widget)
{
    GdkWindowAttr attributes;
    guint attributes_mask;

    g_return_if_fail(widget != NULL);
    g_return_if_fail(GTK_IS_CPU(widget));

    GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED);

    attributes.window_type = GDK_WINDOW_CHILD;
    attributes.x = widget->allocation.x;
    attributes.y = widget->allocation.y;
    attributes.width = 80;
    attributes.height = 100;

    attributes.wclass = GDK_INPUT_OUTPUT;
    attributes.event_mask = gtk_widget_get_events(widget) | GDK_EXPOSURE_MASK;

    attributes_mask = GDK_WA_X | GDK_WA_Y;

    widget->window = gdk_window_new(
        gtk_widget_get_parent_window(widget),
        &attributes, attributes_mask
    );

    gdk_window_set_user_data(widget->window, widget);

    widget->style = gtk_style_attach(widget->style, widget->window);
    gtk_style_set_background(widget->style, widget->window, GTK_STATE_NORMAL);
}
Ejemplo n.º 2
0
static void gtk_cpu_size_request(GtkWidget *widget,
    GtkRequisition *requisition)
{
    g_return_if_fail(widget != NULL);
    g_return_if_fail(GTK_IS_CPU(widget));
    g_return_if_fail(requisition != NULL);

    requisition->width = 80;
    requisition->height = 100;
}
Ejemplo n.º 3
0
static gboolean gtk_cpu_expose(GtkWidget * widget, GdkEventExpose * event)
{
	g_return_val_if_fail(widget != NULL, FALSE);
	g_return_val_if_fail(GTK_IS_CPU(widget), FALSE);
	g_return_val_if_fail(event != NULL, FALSE);

	gtk_cpu_paint(widget);

	return FALSE;
}
Ejemplo n.º 4
0
static void
gtk_cpu_size_allocate(GtkWidget * widget, GtkAllocation * allocation)
{
	g_return_if_fail(widget != NULL);
	g_return_if_fail(GTK_IS_CPU(widget));
	g_return_if_fail(allocation != NULL);

	widget->allocation = *allocation;

	if (GTK_WIDGET_REALIZED(widget)) {
		gdk_window_move_resize(widget->window,
				       allocation->x, allocation->y,
				       allocation->width, allocation->height);
	}
}
Ejemplo n.º 5
0
static void gtk_cpu_destroy(GtkObject *object)
{
    GtkCpu *cpu;
    GtkCpuClass *klass;

    g_return_if_fail(object != NULL);
    g_return_if_fail(GTK_IS_CPU(object));

    cpu = GTK_CPU(object);

    klass = gtk_type_class(gtk_widget_get_type());

    if (GTK_OBJECT_CLASS(klass)->destroy) {
        (*GTK_OBJECT_CLASS(klass)->destroy) (object);
    }
}