您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GTK_WIDGET_DRAWABLE函数代码示例

51自学网 2021-06-01 20:59:28
  C++
这篇教程C++ GTK_WIDGET_DRAWABLE函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GTK_WIDGET_DRAWABLE函数的典型用法代码示例。如果您正苦于以下问题:C++ GTK_WIDGET_DRAWABLE函数的具体用法?C++ GTK_WIDGET_DRAWABLE怎么用?C++ GTK_WIDGET_DRAWABLE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GTK_WIDGET_DRAWABLE函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: panels_expose

static gint panels_expose(GtkWidget *widget, GdkEventExpose *event){    Panels *panels;    GtkWidget *child;    GList *children;    GdkEventExpose child_event;    g_return_val_if_fail(widget != NULL, FALSE);    g_return_val_if_fail(IS_PANELS(widget), FALSE);    g_return_val_if_fail(event != NULL, FALSE);    if (GTK_WIDGET_DRAWABLE(widget)) {        panels = PANELS(widget);        child_event = *event;        for (children = panels->children;             children && (child = children->data);             children = children->next) {            if (child &&		GTK_WIDGET_DRAWABLE(child) &&                GTK_WIDGET_NO_WINDOW(child) &&                gtk_widget_intersect(child, &event->area,                                     &child_event.area))                gtk_widget_event(child, (GdkEvent *)&child_event);        }    }    return FALSE;}
开发者ID:acml,项目名称:cvsnt,代码行数:28,


示例2: columns_expose

static gint columns_expose(GtkWidget *widget, GdkEventExpose *event){  Columns *cols;  ColumnsChild *child;  GList *children;  GdkEventExpose child_event;  g_return_val_if_fail(widget != NULL, FALSE);  g_return_val_if_fail(IS_COLUMNS(widget), FALSE);  g_return_val_if_fail(event != NULL, FALSE);  if (GTK_WIDGET_DRAWABLE(widget)) {    cols = COLUMNS(widget);    child_event = *event;    for (children = cols->children; children && (child = children->data);         children = children->next) {      if (child->widget && GTK_WIDGET_DRAWABLE(child->widget) &&          GTK_WIDGET_NO_WINDOW(child->widget) &&          gtk_widget_intersect(child->widget, &event->area, &child_event.area))        gtk_widget_event(child->widget, (GdkEvent *)&child_event);    }  }  return FALSE;}
开发者ID:FauxFaux,项目名称:PuTTYTray,代码行数:25,


示例3: gtk_form_draw

    static voidgtk_form_draw(GtkWidget *widget, GdkRectangle *area){    GtkForm		*form;    GList		*children;    GtkFormChild	*child;    GdkRectangle	child_area;    g_return_if_fail(GTK_IS_FORM(widget));    if (GTK_WIDGET_DRAWABLE(widget))    {	form = GTK_FORM(widget);	children = form->children;	while (children)	{	    child = children->data;	    if (GTK_WIDGET_DRAWABLE(child->widget)		    && gtk_widget_intersect(child->widget, area, &child_area))		gtk_widget_draw(child->widget, &child_area);	    children = children->next;	}    }}
开发者ID:c9s,项目名称:vim72-js,代码行数:28,


示例4: columns_focus

/* * Override GtkContainer's focus movement so the user can * explicitly specify the tab order. */static gint columns_focus(GtkContainer *container, GtkDirectionType dir){    Columns *cols;    GList *pos;    GtkWidget *focuschild;    g_return_val_if_fail(container != NULL, FALSE);    g_return_val_if_fail(IS_COLUMNS(container), FALSE);    cols = COLUMNS(container);    if (!GTK_WIDGET_DRAWABLE(cols) ||	!GTK_WIDGET_IS_SENSITIVE(cols))	return FALSE;    if (!GTK_WIDGET_CAN_FOCUS(container) &&	(dir == GTK_DIR_TAB_FORWARD || dir == GTK_DIR_TAB_BACKWARD)) {	focuschild = container->focus_child;	gtk_container_set_focus_child(container, NULL);	if (dir == GTK_DIR_TAB_FORWARD)	    pos = cols->taborder;	else	    pos = g_list_last(cols->taborder);	while (pos) {	    GtkWidget *child = pos->data;	    if (focuschild) {		if (focuschild == child) {		    focuschild = NULL; /* now we can start looking in here */		    if (GTK_WIDGET_DRAWABLE(child) &&			GTK_IS_CONTAINER(child) &&			!GTK_WIDGET_HAS_FOCUS(child)) {			if (gtk_container_focus(GTK_CONTAINER(child), dir))			    return TRUE;		    }		}	    } else if (GTK_WIDGET_DRAWABLE(child)) {		if (GTK_IS_CONTAINER(child)) {		    if (gtk_container_focus(GTK_CONTAINER(child), dir))			return TRUE;		} else if (GTK_WIDGET_CAN_FOCUS(child)) {		    gtk_widget_grab_focus(child);		    return TRUE;		}	    }	    if (dir == GTK_DIR_TAB_FORWARD)		pos = pos->next;	    else		pos = pos->prev;	}	return FALSE;    } else	return columns_inherited_focus(container, dir);}
开发者ID:AshKash,项目名称:kit-sink,代码行数:63,


示例5: awt_gtk_panel_expose

static gintawt_gtk_panel_expose (GtkWidget      *widget,		  GdkEventExpose *event){  AWTGtkPanel *panel;  GtkWidget *child;  GdkEventExpose child_event;  GList *children;  g_return_val_if_fail (widget != NULL, FALSE);  g_return_val_if_fail (event != NULL, FALSE);  if (GTK_WIDGET_DRAWABLE (widget))    {      panel = AWT_GTK_PANEL (widget);      child_event = *event;      children = panel->children;      while (children)	{	  child = children->data;	  children = children->next;	  if (GTK_WIDGET_NO_WINDOW (child) &&	      gtk_widget_intersect (child, &event->area,				    &child_event.area))	    gtk_widget_event (child, (GdkEvent*) &child_event);	}    }  return FALSE;}
开发者ID:AllBinary,项目名称:phoneme-components-cdc,代码行数:33,


示例6: awt_gtk_panel_draw

static voidawt_gtk_panel_draw (GtkWidget    *widget,		GdkRectangle *area){  AWTGtkPanel *panel;  GtkWidget *child;  GdkRectangle child_area;  GList *children;  g_return_if_fail (widget != NULL);  if (GTK_WIDGET_DRAWABLE (widget))    {      panel = AWT_GTK_PANEL (widget);      awt_gtk_panel_paint (widget, area);      children = panel->children;      while (children)	{	  child = children->data;	  children = children->next;	  if (gtk_widget_intersect (child, area, &child_area))	    gtk_widget_draw (child, &child_area);	}    }}
开发者ID:AllBinary,项目名称:phoneme-components-cdc,代码行数:27,


示例7: _container_propagate_expose

/* From gtkcontainer.c */void_container_propagate_expose (GtkContainer   *container,                                GtkWidget      *child,                                GdkEventExpose *event){  GdkEvent *child_event;  g_return_if_fail (GTK_IS_CONTAINER (container));  g_return_if_fail (GTK_IS_WIDGET (child));  g_return_if_fail (event != NULL);  g_assert (child->parent == GTK_WIDGET (container));    if (GTK_WIDGET_DRAWABLE (child) &&      GTK_WIDGET_NO_WINDOW (child) &&      (child->window == event->window)&&      AWN_IS_CAIRO_MENU_ITEM(child))    {      child_event = gdk_event_new (GDK_EXPOSE);      child_event->expose = *event;      g_object_ref (child_event->expose.window);      child_event->expose.region = gtk_widget_region_intersect (child, event->region);      if (!gdk_region_empty (child_event->expose.region))        {          gdk_region_get_clipbox (child_event->expose.region, &child_event->expose.area);          gtk_widget_send_expose (child, child_event);        }      gdk_event_free (child_event);    }}
开发者ID:micove,项目名称:awn-extras,代码行数:34,


示例8: gwy_vruler_draw_ticks

static voidgwy_vruler_draw_ticks(GwyRuler *ruler){    GtkWidget *widget;    GdkGC *gc;    gint width, height;    gint xthickness;    gint ythickness;    if (!GTK_WIDGET_DRAWABLE(ruler))        return;    widget = GTK_WIDGET(ruler);    gc = widget->style->fg_gc[GTK_STATE_NORMAL];    xthickness = widget->style->xthickness;    ythickness = widget->style->ythickness;    height = widget->allocation.height;    width = widget->allocation.width - 2*xthickness;    gdk_draw_line(ruler->backing_store, gc,                  height + xthickness,                  ythickness,                  height + xthickness,                  widget->allocation.height - ythickness);    gwy_vruler_real_draw_ticks(ruler, height,                               xthickness + MINIMUM_INCR, MINIMUM_INCR);}
开发者ID:svn2github,项目名称:gwyddion,代码行数:31,


示例9: sp_gradient_image_update

static voidsp_gradient_image_update (SPGradientImage *image){	GtkAllocation *allocation;	if (!image->px) return;	allocation = &((GtkWidget *) image)->allocation;	if (image->gradient) {		nr_render_checkerboard_rgb (image->px, allocation->width, VBLOCK, 3 * allocation->width, 0, 0);		sp_gradient_render_vector_block_rgb (image->gradient,						     image->px, allocation->width, VBLOCK, 3 * allocation->width,						     0, allocation->width, TRUE);	} else {		NRPixBlock pb;		nr_pixblock_setup_extern (&pb, NR_PIXBLOCK_MODE_R8G8B8,					  0, 0, allocation->width, VBLOCK,					  image->px, 3 * allocation->width, TRUE, FALSE);		nr_pixblock_render_gray_noise (&pb, NULL);		nr_pixblock_release (&pb);	}	if (GTK_WIDGET_DRAWABLE (image)) {		gtk_widget_queue_draw (GTK_WIDGET (image));	}}
开发者ID:benjohnson2001,项目名称:base,代码行数:27,


示例10: screensaver_idle_handler

static int screensaver_idle_handler(gpointer user_data) {    ScreenSaver *self = SCREENSAVER(user_data);    iterative_map_calculate_motion(ITERATIVE_MAP(self->frame_renders[self->current_frame]), 100000,				   TRUE, PARAMETER_INTERPOLATOR(parameter_holder_interpolate_linear),				   &self->frame_parameters[self->current_frame]);    if (GTK_WIDGET_DRAWABLE(self->view)) {	histogram_view_set_imager(HISTOGRAM_VIEW(self->view),				  HISTOGRAM_IMAGER(self->frame_renders[self->current_frame]));	histogram_view_update(HISTOGRAM_VIEW(self->view));	self->current_frame += self->direction;	if (self->current_frame >= self->num_frames) {	    self->current_frame = self->num_frames-2;	    self->direction = -1;	}	if (self->current_frame < 0) {	    self->current_frame = 1;	    self->direction = 1;	}    }    return 1;}
开发者ID:ain101,项目名称:Fyre,代码行数:26,


示例11: ppg_ruler_size_allocate

/** * ppg_ruler_size_allocate: * @ruler: (in): A #PpgRuler. * * Handle the "size-allocate" for the #GtkWidget. The pixmap for the * background is created and drawn if necessary. * * Returns: None. * Side effects: None. */static voidppg_ruler_size_allocate (GtkWidget     *widget,                         GtkAllocation *alloc){	PpgRuler *ruler = (PpgRuler *)widget;	PpgRulerPrivate *priv;	GdkColormap *colormap;	GdkVisual *visual;	g_return_if_fail(PPG_IS_RULER(ruler));	priv = ruler->priv;	GTK_WIDGET_CLASS(ppg_ruler_parent_class)->size_allocate(widget, alloc);	if (priv->ruler) {		g_object_unref(priv->ruler);	}	priv->ruler = gdk_pixmap_new(NULL, alloc->width, alloc->height, 32);	visual = gdk_visual_get_best_with_depth(32);	colormap = gdk_colormap_new(visual, FALSE);	gdk_drawable_set_colormap(priv->ruler, colormap);	if (GTK_WIDGET_DRAWABLE(widget)) {		ppg_ruler_draw_ruler(ruler);	}}
开发者ID:stieg,项目名称:perfkit,代码行数:38,


示例12: gtk_vkb_button_expose

static gbooleangtk_vkb_button_expose (GtkWidget *widget, GdkEventExpose *event){	GtkVkbButton *button = GTK_VKB_BUTTON(widget);	GtkWidget *child;	GList *children;	GList *tmplist;	g_return_val_if_fail(widget != NULL, FALSE);	g_return_val_if_fail (GTK_IS_VKB_BUTTON(widget), FALSE);	g_return_val_if_fail (event != NULL, FALSE);	if(GTK_WIDGET_DRAWABLE(widget)){		GtkStateType state = GTK_WIDGET_STATE(widget);		if (!button->bg_pixmap) {			gdk_window_set_background(widget->window, &button->bgcolor[state]);			gdk_window_clear(widget->window);		}		children = gtk_container_get_children(GTK_CONTAINER(widget));		tmplist = children;		while (tmplist) {			child = GTK_WIDGET(tmplist->data);			tmplist = tmplist->next;			gtk_container_propagate_expose(GTK_CONTAINER(widget),							child, event);		}		g_list_free(children);	}	return FALSE;}
开发者ID:stringtang,项目名称:pad-keyboard,代码行数:33,


示例13: immerse_clamp_detail_offset

static gbooleanimmerse_clamp_detail_offset(ImmerseControls *controls,                            gdouble xpos, gdouble ypos){    xpos = CLAMP(xpos, 0.0, controls->xmax);    ypos = CLAMP(ypos, 0.0, controls->ymax);    if (xpos != controls->args->xpos || ypos != controls->args->ypos) {        gchar *s;        controls->args->xpos = xpos;        controls->args->ypos = ypos;        s = g_strdup_printf("(%.*f, %.*f) %s",                            controls->vf->precision + 1,                            xpos/controls->vf->magnitude,                            controls->vf->precision + 1,                            ypos/controls->vf->magnitude,                            controls->vf->units);        gtk_label_set_text(GTK_LABEL(controls->pos), s);        g_free(s);        if (GTK_WIDGET_DRAWABLE(controls->view))            gtk_widget_queue_draw(controls->view);        return TRUE;    }    return FALSE;}
开发者ID:cbuehler,项目名称:gwyddion,代码行数:27,


万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。