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

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

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

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

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

示例1: cd_do_select_last_first_entry_in_listing

void cd_do_select_last_first_entry_in_listing (gboolean bLast){	myData.pListing->fPreviousOffset = myData.pListing->fCurrentOffset;	GList *e = myData.pListing->pCurrentEntry;	int i;	if (bLast)	{		e = g_list_last (myData.pListing->pEntries);		i = myData.pListing->iNbEntries - 1;		while (e->prev != NULL && ((CDEntry *)(e->data))->bHidden)		{			e = e->prev;			i --;		}	}	else	{		e = myData.pListing->pEntries;		i = 0;		while (e->next != NULL && ((CDEntry *)(e->data))->bHidden)		{			e = e->next;			i ++;		}	}	myData.pListing->pCurrentEntry = e;	myData.pListing->fAimedOffset = i * (myDialogs.dialogTextDescription.iSize + 2);		myData.pListing->iCurrentEntryAnimationCount = NB_STEPS_FOR_CURRENT_ENTRY;	myData.pListing->iScrollAnimationCount = NB_STEPS_FOR_SCROLL;	myData.pListing->iTitleOffset = 0;	myData.pListing->sens = 1;	cairo_dock_launch_animation (CAIRO_CONTAINER (myData.pListing));	cairo_dock_redraw_container (CAIRO_CONTAINER (myData.pListing));}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:35,


示例2: on_leave_desklet

static gboolean on_leave_desklet (GtkWidget* pWidget,	GdkEventCrossing* pEvent,	CairoDesklet *pDesklet){	//g_print ("%s (%d, %p, %d;%d)/n", __func__, pDesklet->container.bInside, pEvent, iMouseX, iMouseY);	int iMouseX, iMouseY;	if (pEvent != NULL)	{		iMouseX = pEvent->x;		iMouseY = pEvent->y;	}	else	{		gldi_container_update_mouse_position (CAIRO_CONTAINER (pDesklet));		iMouseX = pDesklet->container.iMouseX;		iMouseY = pDesklet->container.iMouseY;	}	if (gtk_bin_get_child (GTK_BIN (pDesklet->container.pWidget)) != NULL && iMouseX > 0 && iMouseX < pDesklet->container.iWidth && iMouseY > 0 && iMouseY < pDesklet->container.iHeight)  // en fait on est dans un widget fils, donc on ne fait rien.	{		return FALSE;	}		pDesklet->container.bInside = FALSE;	Icon *pPointedIcon = cairo_dock_get_pointed_icon (pDesklet->icons);	if (pPointedIcon != NULL)		pPointedIcon->bPointed = FALSE;	gtk_widget_queue_draw (pWidget);  // redessin des boutons.		gboolean bStartAnimation = FALSE;	gldi_object_notify (pDesklet, NOTIFICATION_LEAVE_DESKLET, pDesklet, &bStartAnimation);	if (bStartAnimation)		cairo_dock_launch_animation (CAIRO_CONTAINER (pDesklet));		return FALSE;}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:35,


示例3: cd_do_select_prev_next_entry_in_listing

void cd_do_select_prev_next_entry_in_listing (gboolean bNext){	CDEntry *pEntry;	myData.pListing->fPreviousOffset = myData.pListing->fCurrentOffset;	GList *e = myData.pListing->pCurrentEntry;	if (bNext)	{		do		{			e = cairo_dock_get_next_element (e, myData.pListing->pEntries);			pEntry = e->data;		} while (e != myData.pListing->pCurrentEntry && pEntry->bHidden);			}	else	{		do		{			e = cairo_dock_get_previous_element (e, myData.pListing->pEntries);			pEntry = e->data;		} while (e != myData.pListing->pCurrentEntry && pEntry->bHidden);	}	myData.pListing->pCurrentEntry = e;	myData.pListing->fAimedOffset += (bNext ? 1:-1) * (myDialogs.dialogTextDescription.iSize + 2);		myData.pListing->iCurrentEntryAnimationCount = NB_STEPS_FOR_CURRENT_ENTRY;	myData.pListing->iScrollAnimationCount = NB_STEPS_FOR_SCROLL;	myData.pListing->iTitleOffset = 0;	myData.pListing->sens = 1;	cairo_dock_launch_animation (CAIRO_CONTAINER (myData.pListing));	cairo_dock_redraw_container (CAIRO_CONTAINER (myData.pListing));}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:32,


示例4: cd_drop_indicator_update_dock

gboolean cd_drop_indicator_update_dock (gpointer pUserData, CairoDock *pDock, gboolean *bContinueAnimation){	CDDropIndicatorData *pData = CD_APPLET_GET_MY_DOCK_DATA (pDock);	if (pData == NULL)		return GLDI_NOTIFICATION_LET_PASS;		pData->iDropIndicatorOffset += myConfig.iSpeed;	if (pData->iDropIndicatorOffset > 2*myData.dropIndicator.iHeight)		pData->iDropIndicatorOffset -= 2*myData.dropIndicator.iHeight;        	double dt = cairo_dock_get_animation_delta_t (CAIRO_CONTAINER (pDock));	pData->iDropIndicatorRotation += myConfig.fRotationSpeed * 360. * dt/1e3;		if (pDock->bCanDrop)	{		pData->fAlphaHover -= delta_alpha;		*bContinueAnimation = TRUE;	}	else	{		pData->fAlpha -= delta_alpha;		if (!pDock->bIsDragging)			pData->fAlphaHover -= delta_alpha;				if (pData->fAlpha <= 0 && pData->fAlphaHover <= 0)		{			g_free (pData);			pData = NULL;			CD_APPLET_SET_MY_DOCK_DATA (pDock, NULL);		}		else			*bContinueAnimation = TRUE;	}		GdkRectangle rect = {(int) pDock->container.iMouseX - myData.dropIndicator.iWidth/2,		(int) (pDock->container.bDirectionUp ? 0 : pDock->iActiveHeight - 2*myData.dropIndicator.iHeight),		(int) myData.dropIndicator.iWidth,		(int) 2*myData.dropIndicator.iHeight};	if (! pDock->container.bIsHorizontal)	{		rect.x = (int) (pDock->container.bDirectionUp ? pDock->container.iHeight - pDock->iActiveHeight : pDock->iActiveHeight - 2*myData.dropIndicator.iHeight);		rect.y = (int) pDock->container.iMouseX - myData.dropIndicator.iWidth/2;		rect.width = (int) 2*myData.dropIndicator.iHeight;		rect.height = (int) myData.dropIndicator.iWidth;	}	//g_print ("rect (%d;%d) (%dx%d)/n", rect.x, rect.y, rect.width, rect.height);	if (rect.width > 0 && rect.height > 0)	{		cairo_dock_redraw_container_area (CAIRO_CONTAINER (pDock), &rect);	}		if (pData && pData->fAlphaHover > 0)	{		Icon *pIcon = cairo_dock_get_pointed_icon (pDock->icons);		if (pIcon != NULL)			cairo_dock_redraw_icon (pIcon);	}		return GLDI_NOTIFICATION_LET_PASS;}
开发者ID:Cairo-Dock,项目名称:cairo-dock-plug-ins,代码行数:60,


示例5: cd_do_show_listing

void cd_do_show_listing (void){	if (myData.pListing == NULL)	{		myData.pListing = cd_do_create_listing ();				cairo_dock_register_notification_on_container (CAIRO_CONTAINER (myData.pListing),			CAIRO_DOCK_UPDATE_DEFAULT_CONTAINER,			(CairoDockNotificationFunc) cd_do_update_listing_notification,			CAIRO_DOCK_RUN_AFTER,			NULL);		cairo_dock_register_notification_on_container (CAIRO_CONTAINER (myData.pListing),			CAIRO_DOCK_RENDER_DEFAULT_CONTAINER,			(CairoDockNotificationFunc) cd_do_render_listing_notification,			CAIRO_DOCK_RUN_AFTER,			NULL);		if (myData.pScoobySurface == NULL)		{			cairo_t* pSourceContext = cairo_dock_create_context_from_container (CAIRO_CONTAINER (g_pMainDock));			myData.pScoobySurface = cairo_dock_create_surface_from_image_simple (MY_APPLET_SHARE_DATA_DIR"/"MY_APPLET_ICON_FILE,				pSourceContext,				2 * (myDialogs.dialogTextDescription.iSize + 2),				2 * (myDialogs.dialogTextDescription.iSize + 2));			cairo_destroy (pSourceContext);		}		if (myData.pActiveButtonSurface == NULL)		{			g_print ("load button : %dx%d/n", myDialogs.dialogTextDescription.iSize + 2, myData.pListing->container.iWidth);			cairo_t* pSourceContext = cairo_dock_create_context_from_container (CAIRO_CONTAINER (g_pMainDock));			myData.pActiveButtonSurface = cairo_dock_create_surface_from_image_simple (MY_APPLET_SHARE_DATA_DIR"/active-button.svg",				pSourceContext,				(myData.pListing->container.iWidth - (myDialogs.dialogTextDescription.iSize + 2) * 3) / 3,				myDialogs.dialogTextDescription.iSize + 2);			myData.pInactiveButtonSurface = cairo_dock_create_surface_from_image_simple (MY_APPLET_SHARE_DATA_DIR"/inactive-button.svg",				pSourceContext,				(myData.pListing->container.iWidth - (myDialogs.dialogTextDescription.iSize + 2) * 3) / 3,				myDialogs.dialogTextDescription.iSize + 2);			cairo_destroy (pSourceContext);		}	}	else	{		gtk_widget_show (myData.pListing->container.pWidget);				int iWidth = _listing_compute_width (pListing);		int iHeight = _listing_compute_height (pListing);		if (myData.pListing->container.iWidth != iWidth || myData.pListing->container.iHeight != iHeight)		{			gtk_window_resize (GTK_WINDOW (myData.pListing->container.pWidget),				iWidth,				iHeight);		}		_place_listing (myData.pListing);		cairo_dock_redraw_container (CAIRO_CONTAINER (myData.pListing));	}}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:56,


示例6: rendering_free_caroussel_data

void rendering_free_caroussel_data (CairoDesklet *pDesklet){	cairo_dock_remove_notification_func_on_container (CAIRO_CONTAINER (pDesklet), CAIRO_DOCK_UPDATE_DESKLET, (CairoDockNotificationFunc) on_update_desklet, NULL);	cairo_dock_remove_notification_func_on_container (CAIRO_CONTAINER (pDesklet), CAIRO_DOCK_MOUSE_MOVED, (CairoDockNotificationFunc) on_mouse_move, NULL);		CDCarousselParameters *pCaroussel = (CDCarousselParameters *) pDesklet->pRendererData;	if (pCaroussel == NULL)		return ;		g_free (pCaroussel);	pDesklet->pRendererData = NULL;}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:12,


示例7: _cairo_dock_set_dialog_input_shape

static void _cairo_dock_set_dialog_input_shape (CairoDialog *pDialog){	if (pDialog->pShapeBitmap != NULL)		cairo_region_destroy (pDialog->pShapeBitmap);		pDialog->pShapeBitmap = gldi_container_create_input_shape (CAIRO_CONTAINER (pDialog),		0,		0,		1,		1);  // workaround a bug in X with fully transparent window => let 1 pixel ON.	gldi_container_set_input_shape (CAIRO_CONTAINER (pDialog), pDialog->pShapeBitmap);}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:13,


示例8: on_expose_listing

static gboolean on_expose_listing (GtkWidget *pWidget, GdkEventExpose *pExpose, CDListing *pListing){	if (g_bUseOpenGL && pListing->container.glContext)	{		GdkGLContext *pGlContext = gtk_widget_get_gl_context (pWidget);		GdkGLDrawable *pGlDrawable = gtk_widget_get_gl_drawable (pWidget);		if (!gdk_gl_drawable_gl_begin (pGlDrawable, pGlContext))			return FALSE;				if (pExpose->area.x + pExpose->area.y != 0)		{			glEnable (GL_SCISSOR_TEST);			glScissor ((int) pExpose->area.x,				(int) (pListing->container.bIsHorizontal ? pListing->container.iHeight : pListing->container.iWidth) -					pExpose->area.y - pExpose->area.height,  // lower left corner of the scissor box.				(int) pExpose->area.width,				(int) pExpose->area.height);		}				cairo_dock_notify_on_container (CAIRO_CONTAINER (pListing), CAIRO_DOCK_RENDER_DEFAULT_CONTAINER, pListing, NULL);				glDisable (GL_SCISSOR_TEST);				if (gdk_gl_drawable_is_double_buffered (pGlDrawable))			gdk_gl_drawable_swap_buffers (pGlDrawable);		else			glFlush ();		gdk_gl_drawable_gl_end (pGlDrawable);	}	else	{		cairo_t *pCairoContext;		if (pExpose->area.x > 0 || pExpose->area.y > 0)		{			double fColor[4] = {0., 0., 0., 0.};			pCairoContext = cairo_dock_create_drawing_context_on_area (CAIRO_CONTAINER (pListing), &pExpose->area, fColor);		}		else		{			pCairoContext = cairo_dock_create_drawing_context (CAIRO_CONTAINER (pListing));		}				cairo_dock_notify_on_container (CAIRO_CONTAINER (pListing), CAIRO_DOCK_RENDER_DEFAULT_CONTAINER, pListing, pCairoContext);				cairo_destroy (pCairoContext);	}	return FALSE;}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:48,


示例9: init_object

static void init_object (GldiObject *obj, gpointer attr){	CairoDesklet *pDesklet = (CairoDesklet*)obj;	CairoDeskletAttr *pAttributes = (CairoDeskletAttr*)attr;	g_return_if_fail (pAttributes->pIcon != NULL);		gldi_desklet_init_internals (pDesklet);		// attach the main icon	Icon *pIcon = pAttributes->pIcon;	pDesklet->pIcon = pIcon;	cairo_dock_set_icon_container (pIcon, pDesklet);	if (CAIRO_DOCK_IS_APPLET (pIcon))		gtk_window_set_title (GTK_WINDOW (pDesklet->container.pWidget), pIcon->pModuleInstance->pModule->pVisitCard->cModuleName);		// configure the desklet	gldi_desklet_configure (pDesklet, pAttributes);		// load buttons images	if (s_pRotateButtonBuffer.pSurface == NULL)	{		_load_desklet_buttons ();	}		// register the new desklet	s_pDeskletList = g_list_prepend (s_pDeskletList, pDesklet);		// start the appearance animation	if (! cairo_dock_is_loading ())	{		pDesklet->container.fRatio = 0.1;		pDesklet->bGrowingUp = TRUE;		cairo_dock_launch_animation (CAIRO_CONTAINER (pDesklet));	}}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:35,


示例10: cd_rendering_calculate_max_dock_size_3D_plane

void cd_rendering_calculate_max_dock_size_3D_plane (CairoDock *pDock){	pDock->pFirstDrawnElement = cairo_dock_calculate_icons_positions_at_rest_linear (pDock->icons, pDock->fFlatDockWidth, pDock->iScrollOffset);		pDock->iMaxDockHeight = (int) ((1 + g_fAmplitude) * pDock->iMaxIconHeight + g_fReflectSize) + g_iconTextDescription.iSize + g_iDockLineWidth + g_iFrameMargin;		double hi = g_fReflectSize + g_iFrameMargin;		double fInclinationOnHorizon = 0, fExtraWidth = 0;	pDock->iMaxDockWidth = ceil (cairo_dock_calculate_max_dock_width (pDock, pDock->pFirstDrawnElement, pDock->fFlatDockWidth, 1., fExtraWidth));	fInclinationOnHorizon = 0.5 * pDock->iMaxDockWidth / iVanishingPointY;	pDock->iDecorationsHeight = hi + (pDock->iMaxIconHeight + g_iFrameMargin) / sqrt (1 + fInclinationOnHorizon * fInclinationOnHorizon);	fExtraWidth = cairo_dock_calculate_extra_width_for_trapeze (pDock->iDecorationsHeight, fInclinationOnHorizon, g_iDockRadius, g_iDockLineWidth);	cd_debug ("iMaxDockWidth <- %d; fInclinationOnHorizon <- %.2f; fExtraWidth <- %.2f", pDock->iMaxDockWidth, fInclinationOnHorizon, fExtraWidth);		pDock->iMaxDockWidth = ceil (cairo_dock_calculate_max_dock_width (pDock, pDock->pFirstDrawnElement, pDock->fFlatDockWidth, 1., fExtraWidth));	cd_debug ("pDock->iMaxDockWidth <- %d", pDock->iMaxDockWidth);		pDock->iDecorationsWidth = pDock->iMaxDockWidth;		pDock->iMinDockWidth = pDock->fFlatDockWidth + fExtraWidth;	pDock->iMinDockHeight = g_iDockLineWidth + g_iFrameMargin + g_fReflectSize + pDock->iMaxIconHeight;		if (my_pFlatSeparatorSurface[0] == NULL && (my_iDrawSeparator3D == CD_FLAT_SEPARATOR || my_iDrawSeparator3D == CD_PHYSICAL_SEPARATOR))		cd_rendering_load_flat_separator (CAIRO_CONTAINER (g_pMainDock));}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:26,


示例11: _cd_do_execute_command

static void _cd_do_execute_command (CDEntry *pEntry){    gchar *cCommand = g_strdup_printf ("%s/calc.sh '%s'", MY_APPLET_SHARE_DATA_DIR, myData.sCurrentText->str);    gchar *cResult = cairo_dock_launch_command_sync (cCommand);    g_free (cCommand);    if (cResult != NULL && strcmp (cResult, "0") != 0)    {        g_print (" resultat du calcul : '%s'/n", cResult);        GtkClipboard *pClipBoard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);        gtk_clipboard_set_text (pClipBoard, cResult, -1);        Icon *pIcon = cairo_dock_get_dialogless_icon ();        cairo_dock_show_temporary_dialog_with_icon (D_("The value %s has been copied into the clipboard."),                pIcon,                CAIRO_CONTAINER (g_pMainDock),                3000,                MY_APPLET_SHARE_DATA_DIR"/"MY_APPLET_ICON_FILE,                cResult);    }    else  // le calcul n'a rien donne, on execute sans chercher.    {        g_print (" pas un calcul => on execute '%s'/n", myData.sCurrentText->str);        cairo_dock_launch_command (myData.sCurrentText->str);    }    g_free (cResult);}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:25,


示例12: reload

static void reload (CairoConfigIndicators *pPrevIndicators, CairoConfigIndicators *pIndicators){	CairoDock *pDock = g_pMainDock;	double fMaxScale = cairo_dock_get_max_scale (pDock);	cairo_t* pCairoContext = cairo_dock_create_context_from_window (CAIRO_CONTAINER (pDock));		if (cairo_dock_strings_differ (pPrevIndicators->cIndicatorImagePath, pIndicators->cIndicatorImagePath) ||		pPrevIndicators->bLinkIndicatorWithIcon != pIndicators->bLinkIndicatorWithIcon ||		pPrevIndicators->fIndicatorRatio != pIndicators->fIndicatorRatio)	{		cairo_dock_load_task_indicator (myTaskBar.bShowAppli && myTaskBar.bMixLauncherAppli ? pIndicators->cIndicatorImagePath : NULL, pCairoContext, fMaxScale, pIndicators->fIndicatorRatio);	}		if (cairo_dock_strings_differ (pPrevIndicators->cActiveIndicatorImagePath, pIndicators->cActiveIndicatorImagePath) ||		pPrevIndicators->iActiveCornerRadius != pIndicators->iActiveCornerRadius ||		pPrevIndicators->iActiveLineWidth != pIndicators->iActiveLineWidth ||		cairo_dock_colors_differ (pPrevIndicators->fActiveColor, pIndicators->fActiveColor))	{		cairo_dock_load_active_window_indicator (pCairoContext,			pIndicators->cActiveIndicatorImagePath,			fMaxScale,			pIndicators->iActiveCornerRadius,			pIndicators->iActiveLineWidth,			pIndicators->fActiveColor);	}		if (cairo_dock_strings_differ (pPrevIndicators->cClassIndicatorImagePath, pIndicators->cClassIndicatorImagePath))	{		cairo_dock_load_class_indicator (myTaskBar.bShowAppli && myTaskBar.bGroupAppliByClass ? pIndicators->cClassIndicatorImagePath : NULL, pCairoContext, fMaxScale);	}		cairo_destroy (pCairoContext);		cairo_dock_redraw_root_docks (FALSE);  // main dock inclus.}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:35,


示例13: cairo_dock_set_class_use_xicon

gboolean cairo_dock_set_class_use_xicon (const gchar *cClass, gboolean bUseXIcon){	CairoDockClassAppli *pClassAppli = cairo_dock_get_class (cClass);	g_return_val_if_fail (pClassAppli!= NULL, FALSE);		if (pClassAppli->bUseXIcon == bUseXIcon)  // rien a faire.		return FALSE;		GList *pElement;	Icon *pAppliIcon;	cairo_t *pCairoContext = cairo_dock_create_context_from_window (CAIRO_CONTAINER (g_pMainDock));	for (pElement = pClassAppli->pAppliOfClass; pElement != NULL; pElement = pElement->next)	{		pAppliIcon = pElement->data;		if (bUseXIcon)		{			cd_message ("%s prend l'icone de X", pAppliIcon->acName);		}		else		{			cd_message ("%s n'utilise plus l'icone de X", pAppliIcon->acName);		}		cairo_dock_fill_one_icon_buffer (pAppliIcon, pCairoContext, (1 + g_fAmplitude), g_pMainDock->bHorizontalDock, TRUE, g_pMainDock->bDirectionUp);	}	cairo_destroy (pCairoContext);		return TRUE;}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:28,


示例14: cd_do_set_status

void cd_do_set_status (const gchar *cStatus){	g_free (myData.cStatus);	myData.cStatus = g_strdup (cStatus);	if (myData.pListing)		cairo_dock_redraw_container (CAIRO_CONTAINER (myData.pListing));}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:7,


示例15: cd_do_select_nth_entry_in_listing

void cd_do_select_nth_entry_in_listing (int iNumEntry){	myData.pListing->fPreviousOffset = myData.pListing->fCurrentOffset;		int i = MIN (iNumEntry, myData.pListing->iNbEntries - 1);	myData.pListing->pCurrentEntry = g_list_nth (myData.pListing->pEntries, i);		myData.pListing->fAimedOffset = i * (myDialogs.dialogTextDescription.iSize + 2);		myData.pListing->iCurrentEntryAnimationCount = NB_STEPS_FOR_CURRENT_ENTRY;	myData.pListing->iScrollAnimationCount = NB_STEPS_FOR_SCROLL;	myData.pListing->iTitleOffset = 0;	myData.pListing->sens = 1;	cairo_dock_launch_animation (CAIRO_CONTAINER (myData.pListing));	cairo_dock_redraw_container (CAIRO_CONTAINER (myData.pListing));}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:16,


示例16: _update_fade_out_dock

static gboolean _update_fade_out_dock (G_GNUC_UNUSED gpointer pUserData, CairoDock *pDock, gboolean *bContinueAnimation){	pDock->iFadeCounter += (pDock->bFadeInOut ? 1 : -1);  // fade out, puis fade in.		if (pDock->iFadeCounter >= myBackendsParam.iHideNbSteps)	{		pDock->bFadeInOut = FALSE;		//g_print ("set below/n");		gtk_window_set_keep_below (GTK_WINDOW (pDock->container.pWidget), TRUE);		// si fenetre maximisee, on met direct iFadeCounter a 0.		// malheureusement X met du temps a faire passer le dock derriere, et ca donne un "sursaut" :-/	}		//g_print ("pDock->iFadeCounter : %d/n", pDock->iFadeCounter);	if (pDock->iFadeCounter > 0)	{		*bContinueAnimation = TRUE;	}	else	{		gldi_object_remove_notification (pDock,			NOTIFICATION_UPDATE,			(GldiNotificationFunc) _update_fade_out_dock,			NULL);	}		cairo_dock_redraw_container (CAIRO_CONTAINER (pDock));	return GLDI_NOTIFICATION_LET_PASS;}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:29,


示例17: cairo_dock_pop_down

void cairo_dock_pop_down (CairoDock *pDock){	//g_print ("%s (%d, %d)/n", __func__, pDock->bIsBelow, pDock->container.bInside);	if (! pDock->bIsBelow && pDock->iVisibility == CAIRO_DOCK_VISI_KEEP_BELOW && ! pDock->container.bInside)	{		if (gldi_dock_search_overlapping_window (pDock) != NULL)		{			pDock->iFadeCounter = 0;			pDock->bFadeInOut = TRUE;			gldi_object_register_notification (pDock,				NOTIFICATION_UPDATE,				(GldiNotificationFunc) _update_fade_out_dock,				GLDI_RUN_FIRST, NULL);			if (g_pKeepingBelowBackend != NULL && g_pKeepingBelowBackend->init)				g_pKeepingBelowBackend->init (pDock);			cairo_dock_launch_animation (CAIRO_CONTAINER (pDock));		}		else		{			//g_print ("set below/n");			gtk_window_set_keep_below (GTK_WINDOW (pDock->container.pWidget), TRUE);		}		pDock->bIsBelow = TRUE;	}}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:25,


示例18: cairo_dock_update_visibility_on_inhibators

void cairo_dock_update_visibility_on_inhibators (gchar *cClass, Window Xid, gboolean bIsHidden){	CairoDockClassAppli *pClassAppli = cairo_dock_get_class (cClass);	if (pClassAppli != NULL)	{		GList *pElement;		Icon *pInhibatorIcon;		for (pElement = pClassAppli->pIconsOfClass; pElement != NULL; pElement = pElement->next)		{			pInhibatorIcon = pElement->data;						if (pInhibatorIcon->Xid == Xid)			{				cd_message (" %s aussi se %s", pInhibatorIcon->acName, (bIsHidden ? "cache" : "montre"));				pInhibatorIcon->bIsHidden = bIsHidden;				if (! CAIRO_DOCK_IS_APPLET (pInhibatorIcon) && g_fVisibleAppliAlpha != 0)				{					CairoDock *pInhibhatorDock = cairo_dock_search_dock_from_name (pInhibatorIcon->cParentDockName);					pInhibatorIcon->fAlpha = 1;  // on triche un peu.					cairo_dock_redraw_my_icon (pInhibatorIcon, CAIRO_CONTAINER (pInhibhatorDock));				}			}		}	}}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:25,


示例19: cairo_dock_set_renderer

void cairo_dock_set_renderer (CairoDock *pDock, const gchar *cRendererName){	g_return_if_fail (pDock != NULL);	cd_message ("%s (%x:%s)", __func__, pDock, cRendererName);		if (pDock->pRenderer && pDock->pRenderer->free_data)	{		pDock->pRenderer->free_data (pDock);		pDock->pRendererData = NULL;	}	pDock->pRenderer = cairo_dock_get_renderer (cRendererName, (pDock->iRefCount == 0));		pDock->fMagnitudeMax = 1.;	pDock->container.bUseReflect = pDock->pRenderer->bUseReflect;		int iAnimationDeltaT = pDock->container.iAnimationDeltaT;	pDock->container.iAnimationDeltaT = (g_bUseOpenGL && pDock->pRenderer->render_opengl != NULL ? myContainersParam.iGLAnimationDeltaT : myContainersParam.iCairoAnimationDeltaT);	if (pDock->container.iAnimationDeltaT == 0)		pDock->container.iAnimationDeltaT = 30;  // le main dock est cree avant meme qu'on ait recupere la valeur en conf. Lorsqu'une vue lui sera attribuee, la bonne valeur sera renseignee, en attendant on met un truc non nul.	if (iAnimationDeltaT != pDock->container.iAnimationDeltaT && pDock->container.iSidGLAnimation != 0)	{		g_source_remove (pDock->container.iSidGLAnimation);		pDock->container.iSidGLAnimation = 0;		cairo_dock_launch_animation (CAIRO_CONTAINER (pDock));	}	if (pDock->cRendererName != cRendererName)  // NULL ecrase le nom de l'ancienne vue.	{		g_free (pDock->cRendererName);		pDock->cRendererName = g_strdup (cRendererName);	}}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:31,


示例20: gldi_dock_get_name

Icon *gldi_stack_icon_add_new (CairoDock *pDock, double fOrder){	///_________________ add a launcher in the current theme	const gchar *cDockName = gldi_dock_get_name (pDock);	if (fOrder == CAIRO_DOCK_LAST_ORDER)  // the order is not defined -> place at the end	{		Icon *pLastIcon = cairo_dock_get_last_launcher (pDock->icons);		fOrder = (pLastIcon ? pLastIcon->fOrder + 1 : 1);	}	gchar *cNewDesktopFileName = gldi_stack_icon_add_conf_file (cDockName, fOrder);	g_return_val_if_fail (cNewDesktopFileName != NULL, NULL);		///_________________ load the new icon	Icon *pNewIcon = gldi_user_icon_new (cNewDesktopFileName);	g_free (cNewDesktopFileName);	g_return_val_if_fail (pNewIcon, NULL);		gldi_icon_insert_in_container (pNewIcon, CAIRO_CONTAINER(pDock), CAIRO_DOCK_ANIMATE_ICON);		/// TODO: check without these 2 lines, with a box drawer...	///if (pNewIcon->pSubDock != NULL)	///	cairo_dock_trigger_redraw_subdock_content (pNewIcon->pSubDock);		return pNewIcon;}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:25,


示例21: rendering_update_text

void rendering_update_text (CairoDialog *pDialog, gpointer *pNewData){	CDTextParameters *pText = (CDTextParameters *) pDialog->pRendererData;	if (pText == NULL)		return ;		gchar *cNewText = (gchar *) pNewData;		int iTextWidth, iTextHeight;	double fTextXOffset, fTextYOffset;	cairo_surface_destroy (pText->pTextSurface);	pText->pTextSurface = NULL;		cairo_t *pCairoContext = cairo_dock_create_context_from_window (CAIRO_CONTAINER (pDialog));	g_return_if_fail (cairo_status (pCairoContext) == CAIRO_STATUS_SUCCESS);	pText->pTextSurface = cairo_dock_create_surface_from_text (cNewText,		pCairoContext,		&pText->textDescription,		1.,		&iTextWidth, &iTextHeight, &fTextXOffset, &fTextYOffset);	cairo_destroy (pCairoContext);		if (iTextWidth > pDialog->iInteractiveWidth || iTextHeight > pDialog->iInteractiveHeight)		gtk_widget_set_size_request (pDialog->pInteractiveWidget, iTextWidth, iTextHeight);}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:25,


示例22: cairo_dock_start_hiding

void cairo_dock_start_hiding (CairoDock *pDock){	//g_print ("%s (%d)/n", __func__, pDock->bIsHiding);	if (! pDock->bIsHiding && ! pDock->container.bInside)  // rien de plus desagreable que le dock qui se cache quand on est dedans.	{		// set current showing/hiding state		pDock->bIsShowing = FALSE;		pDock->bIsHiding = TRUE;				// empty the input shape (so that the dock doesn't disturb us immediately)		if (pDock->iInputState != CAIRO_DOCK_INPUT_HIDDEN)  // if pDock->pHiddenShapeBitmap == NULL (at the beginning), set iInputState anyway, so that when the input-shapes are created, pDock->pHiddenShapeBitmap will be applied to the dock.		{			//g_print ("+++ input shape hidden on start hiding/n");			cairo_dock_set_input_shape_hidden (pDock);			pDock->iInputState = CAIRO_DOCK_INPUT_HIDDEN;		}				// init the animation		if (g_pHidingBackend != NULL && g_pHidingBackend->init)			g_pHidingBackend->init (pDock);				// and launch it		cairo_dock_launch_animation (CAIRO_CONTAINER (pDock));	}}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:25,


示例23: _update_desklet_icons

static void _update_desklet_icons (CairoDesklet *pDesklet){	// compute icons size	if (pDesklet->pRenderer && pDesklet->pRenderer->calculate_icons != NULL)		pDesklet->pRenderer->calculate_icons (pDesklet);		// trigger load if changed	Icon* pIcon = pDesklet->pIcon;	if (pIcon)	{		if (cairo_dock_icon_get_allocated_width (pIcon) != pIcon->image.iWidth || cairo_dock_icon_get_allocated_height (pIcon) != pIcon->image.iHeight)		{			cairo_dock_trigger_load_icon_buffers (pIcon);		}	}		GList* ic;	for (ic = pDesklet->icons; ic != NULL; ic = ic->next)	{		pIcon = ic->data;		if (cairo_dock_icon_get_allocated_width (pIcon) != pIcon->image.iWidth || cairo_dock_icon_get_allocated_height (pIcon) != pIcon->image.iHeight)		{			cairo_dock_trigger_load_icon_buffers (pIcon);		}	}		// redraw	cairo_dock_redraw_container (CAIRO_CONTAINER (pDesklet));}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:29,


示例24: _cairo_dock_write_desklet_position

static gboolean _cairo_dock_write_desklet_position (CairoDesklet *pDesklet){	if (pDesklet->pIcon != NULL && pDesklet->pIcon->pModuleInstance != NULL)	{		int iRelativePositionX = (pDesklet->container.iWindowPositionX + pDesklet->container.iWidth/2 <= gldi_desktop_get_width()/2 ? pDesklet->container.iWindowPositionX : pDesklet->container.iWindowPositionX - gldi_desktop_get_width());		int iRelativePositionY = (pDesklet->container.iWindowPositionY + pDesklet->container.iHeight/2 <= gldi_desktop_get_height()/2 ? pDesklet->container.iWindowPositionY : pDesklet->container.iWindowPositionY - gldi_desktop_get_height());				int iNumDesktop = -1;		if (! gldi_desklet_is_sticky (pDesklet))		{			iNumDesktop = gldi_container_get_current_desktop_index (CAIRO_CONTAINER (pDesklet));			//g_print ("desormais on place le desklet sur le bureau (%d,%d,%d)/n", iDesktop, iViewportX, iViewportY);		}		cd_debug ("%d; %d; %d", iNumDesktop, iRelativePositionX, iRelativePositionY);		cairo_dock_update_conf_file (pDesklet->pIcon->pModuleInstance->cConfFilePath,			G_TYPE_INT, "Desklet", "x position", iRelativePositionX,			G_TYPE_INT, "Desklet", "y position", iRelativePositionY,			G_TYPE_INT, "Desklet", "num desktop", iNumDesktop,			G_TYPE_INVALID);		gldi_object_notify (pDesklet, NOTIFICATION_CONFIGURE_DESKLET, pDesklet);	}		if (pDesklet->bSpaceReserved)  // l'espace est reserve, on reserve a la nouvelle position.	{		_reserve_space_for_desklet (pDesklet, TRUE);	}	if (pDesklet->pIcon && gldi_icon_has_dialog (pDesklet->pIcon))	{		gldi_dialogs_replace_all ();	}	pDesklet->iSidWritePosition = 0;	return FALSE;}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:33,


示例25: _cd_do_fill_bookmark_entry

static gboolean _cd_do_fill_bookmark_entry (CDEntry *pEntry){	if (pEntry->cIconName != NULL && pEntry->pIconSurface == NULL)	{		cairo_t* pSourceContext = cairo_dock_create_context_from_container (CAIRO_CONTAINER (g_pMainDock));		GdkPixbuf *pixbuf = gdk_pixbuf_new_from_data (const guchar *data,			GDK_COLORSPACE_RGB,			FALSE,  // has_alpha			8,  // bits_per_sample			16, 16,  // width, height			16*3,  // rowstride			NULL,			NULL);		double fImageWidth=0, fImageHeight=0;		double fZoomX=0, fZoomY=0;		pEntry->pIconSurface = cairo_dock_create_surface_from_pixbuf (pixbuf,			pSourceContext,			1.,			myDialogs.dialogTextDescription.iSize, myDialogs.dialogTextDescription.iSize,			0,			&fImageWidth, &fImageHeight,			&fZoomX, &fZoomY);		g_object_unref (pixbuf);		g_free (pEntry->cIconName);		pEntry->cIconName = NULL;		cairo_destroy (pSourceContext);		return TRUE;	}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:28,


示例26: on_key_press_listing

static gboolean on_key_press_listing (GtkWidget *pWidget, GdkEventKey *pKey, CDListing *pListing){	if (pKey->type == GDK_KEY_PRESS)	{		cairo_dock_notify_on_container (CAIRO_CONTAINER (pListing), CAIRO_DOCK_KEY_PRESSED, pListing, pKey->keyval, pKey->state, pKey->string);	}	return FALSE;}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:8,


示例27: cd_do_select_prev_next_page_in_listing

void cd_do_select_prev_next_page_in_listing (gboolean bNext){	myData.pListing->fPreviousOffset = myData.pListing->fCurrentOffset;	GList *e = myData.pListing->pCurrentEntry, *f = e;	CDEntry *pEntry;	int k = 0;	if (bNext)	{		do		{			if (e->next == NULL)				break;			e = e->next;			pEntry = e->data;			if (! pEntry->bHidden)			{				f = e;				k ++;			}		} while (k < myConfig.iNbLinesInListing);	}	else	{		do		{			if (e->prev == NULL)				break;			e = e->prev;			pEntry = e->data;			if (! pEntry->bHidden)			{				f = e;				k ++;			}		} while (k < myConfig.iNbLinesInListing);	}	myData.pListing->pCurrentEntry = f;	myData.pListing->fAimedOffset = g_list_position (myData.pListing->pEntries, f) * (myDialogs.dialogTextDescription.iSize + 2);		myData.pListing->iCurrentEntryAnimationCount = NB_STEPS_FOR_CURRENT_ENTRY;	myData.pListing->iScrollAnimationCount = NB_STEPS_FOR_SCROLL;	myData.pListing->iTitleOffset = 0;	myData.pListing->sens = 1;	cairo_dock_launch_animation (CAIRO_CONTAINER (myData.pListing));	cairo_dock_redraw_container (CAIRO_CONTAINER (myData.pListing));}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:46,


示例28: _cairo_dock_set_desklet_input_shape

static void _cairo_dock_set_desklet_input_shape (CairoDesklet *pDesklet){	gldi_container_set_input_shape (CAIRO_CONTAINER (pDesklet), NULL);		if (pDesklet->bNoInput)	{		cairo_region_t *pShapeBitmap = gldi_container_create_input_shape (CAIRO_CONTAINER (pDesklet),			pDesklet->container.iWidth - myDeskletsParam.iDeskletButtonSize,			pDesklet->container.iHeight - myDeskletsParam.iDeskletButtonSize,			myDeskletsParam.iDeskletButtonSize,			myDeskletsParam.iDeskletButtonSize);				gldi_container_set_input_shape (CAIRO_CONTAINER (pDesklet), pShapeBitmap);				cairo_region_destroy (pShapeBitmap);	}}
开发者ID:363734,项目名称:cairo-dock-core,代码行数:17,


示例29: cd_illusion_update_black_hole

void cd_illusion_update_black_hole (Icon *pIcon, CairoDock *pDock, CDIllusionData *pData){	_calculate_grid (pData);		_update_coords (pData);		cairo_dock_redraw_container (CAIRO_CONTAINER (pDock));}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:8,


示例30: cd_do_search_matching_icons

void cd_do_search_matching_icons (void){	if (myData.sCurrentText->len == 0)		return;	g_print ("%s (%s)/n", __func__, myData.sCurrentText->str);	gchar *str = strchr (myData.sCurrentText->str, ' ');  // on ne compte pas les arguments d'une eventuelle commande deja tapee.	int length = myData.sCurrentText->len;	if (str != NULL)	{		g_string_set_size (myData.sCurrentText, str - myData.sCurrentText->str + 1);		g_print (" on ne cherchera que '%s' (len=%d)/n", myData.sCurrentText->str, myData.sCurrentText->len);	}			if (myData.pMatchingIcons == NULL)	{		if (myData.bSessionStartedAutomatically)  // on cherche dans le dock courant.		{			g_print ("on cherche dans le dock/n");			_cd_do_search_matching_icons_in_dock (myData.pCurrentDock);			myData.pMatchingIcons = g_list_reverse (myData.pMatchingIcons);		}		else		{			g_print ("on cherche tout/n");			// on parcours tous les docks.			cairo_dock_foreach_icons_in_docks ((CairoDockForeachIconFunc) _cd_do_search_in_one_dock, NULL);			myData.pMatchingIcons = g_list_reverse (myData.pMatchingIcons);						// on rajoute les icones ne venant pas du dock.			cd_do_find_matching_applications ();		}	}	else  // optimisation : on peut se contenter de chercher parmi les icones deja trouvees.	{		g_print ("on se contente d'enlever celles en trop/n");		GList *ic, *next_ic;		Icon *pIcon;		ic = myData.pMatchingIcons;		while (ic != NULL)		{			pIcon = ic->data;			next_ic = ic->next;			if (! _cd_do_icon_match (pIcon, myData.sCurrentText->str, myData.sCurrentText->len))				myData.pMatchingIcons = g_list_delete_link (myData.pMatchingIcons, ic);			ic = next_ic;		}	}	myData.pCurrentMatchingElement = NULL;	myData.iMatchingGlideCount = 0;	myData.iPreviousMatchingOffset = 0;	myData.iCurrentMatchingOffset = 0;	if (myData.pCurrentApplicationToLoad != NULL)  // on va continuer le chargement sur la sous-liste.		myData.pCurrentApplicationToLoad = myData.pMatchingIcons;  // comme l'ordre de la liste n'a pas ete altere, on n'est sur de ne pas sauter d'icone.	cairo_dock_redraw_container (CAIRO_CONTAINER (myData.pCurrentDock));	//g_print ("%d / %d/n", length , myData.sCurrentText->len);	if (length != myData.sCurrentText->len)		g_string_set_size (myData.sCurrentText, length);}
开发者ID:BackupTheBerlios,项目名称:cairo-dock-svn,代码行数:58,



注:本文中的CAIRO_CONTAINER函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


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