void rendering_load_icons_for_slide (CairoDesklet *pDesklet, cairo_t *pSourceContext) { CDSlideParameters *pSlide = (CDSlideParameters *) pDesklet->pRendererData; if (pSlide == NULL) return ; _compute_icons_grid (pDesklet, pSlide); g_print ("pSlide->iIconSize : %d\n", pSlide->iIconSize); Icon *pIcon; GList* ic; for (ic = pDesklet->icons; ic != NULL; ic = ic->next) { pIcon = ic->data; pIcon->fWidth = pSlide->iIconSize; pIcon->fHeight = pSlide->iIconSize; pIcon->fScale = 1.; pIcon->fAlpha = 1.; pIcon->fWidthFactor = 1.; pIcon->fHeightFactor = 1.; pIcon->fGlideScale = 1.; cairo_dock_fill_icon_buffers_for_desklet (pIcon, pSourceContext); } }
void rendering_load_slide_data (CairoDesklet *pDesklet, cairo_t *pSourceContext) { CDSlideParameters *pSlide = (CDSlideParameters *) pDesklet->pRendererData; if (pSlide == NULL) return ; _compute_icons_grid (pDesklet, pSlide); }
static void calculate_icons (CairoDesklet *pDesklet) { CDSlideParameters *pSlide = (CDSlideParameters *) pDesklet->pRendererData; if (pSlide == NULL) return ; _compute_icons_grid (pDesklet, pSlide); cd_debug ("pSlide->iIconSize : %d", pSlide->iIconSize); Icon *pIcon = pDesklet->pIcon; if (pIcon != NULL) // on ne veut pas charger cette icone. { pIcon->fWidth = -1; pIcon->fHeight = -1; } GList* ic; for (ic = pDesklet->icons; ic != NULL; ic = ic->next) { pIcon = ic->data; if (CAIRO_DOCK_ICON_TYPE_IS_SEPARATOR (pIcon)) { pIcon->fWidth = -1; pIcon->fHeight = -1; } else { pIcon->fWidth = pSlide->iIconSize; pIcon->fHeight = pSlide->iIconSize; cairo_dock_icon_set_allocated_size (pIcon, pIcon->fWidth, pIcon->fHeight); pIcon->fScale = 1.; pIcon->fAlpha = 1.; pIcon->fWidthFactor = 1.; pIcon->fHeightFactor = 1.; pIcon->fGlideScale = 1.; } } }
static void calculate_icons (CairoDesklet *pDesklet) { CDPanelParameters *pPanel = (CDPanelParameters *) pDesklet->pRendererData; if (pPanel == NULL) return ; _compute_icons_grid (pDesklet, pPanel); cd_debug ("pPanel->iIconSize : %d", pPanel->iIconSize); Icon *pIcon = pDesklet->pIcon; if (pIcon != NULL) { pIcon->fWidth = pPanel->iMainIconSize; pIcon->fHeight = pPanel->iMainIconSize; cairo_dock_icon_set_allocated_size (pIcon, pIcon->fWidth, pIcon->fHeight); pIcon->fScale = 1.; pIcon->fAlpha = 1.; pIcon->fWidthFactor = 1.; pIcon->fHeightFactor = 1.; pIcon->fGlideScale = 1.; pIcon->fDrawX = pPanel->fMargin; pIcon->fDrawY = pPanel->fMargin; } // les icones. double w = pDesklet->container.iWidth - 2 * pPanel->fMargin; double h = pDesklet->container.iHeight - 2 * pPanel->fMargin - pPanel->iMainIconSize; int dh = (h - pPanel->iNbLines * (pPanel->iIconSize + myIconsParam.iLabelSize)) / pPanel->iNbLines; // ecart entre 2 lignes. int dw = (w - pPanel->iNbColumns * 2*pPanel->iIconSize) / pPanel->iNbColumns; // ecart entre 2 colonnes. double x = pPanel->fMargin + dw/2; // current icon position. double y = pPanel->fMargin + pPanel->iMainIconSize + dh/2 + myIconsParam.iLabelSize; int q = 0; // num line/column GList* ic; for (ic = pDesklet->icons; ic != NULL; ic = ic->next) { pIcon = ic->data; if (CAIRO_DOCK_ICON_TYPE_IS_SEPARATOR (pIcon)) { pIcon->fWidth = -1; pIcon->fHeight = -1; } else { pIcon->fWidth = pPanel->iIconSize; pIcon->fHeight = pPanel->iIconSize; cairo_dock_icon_set_allocated_size (pIcon, pIcon->fWidth, pIcon->fHeight); pIcon->fScale = 1.; pIcon->fAlpha = 1.; pIcon->fWidthFactor = 1.; pIcon->fHeightFactor = 1.; pIcon->fGlideScale = 1.; pIcon->fDrawX = x; pIcon->fDrawY = y; if (pPanel->bHorizontalPackaging) { x += 2*pPanel->iIconSize + dw; q ++; if (q == pPanel->iNbColumns) { q = 0; x = pPanel->fMargin + dw/2; y += pPanel->iIconSize + myIconsParam.iLabelSize + dh; } } else { y += pPanel->iIconSize + myIconsParam.iLabelSize + dh; q ++; if (q == pPanel->iNbLines) { q = 0; x += 2*pPanel->iIconSize + dw; y = pPanel->fMargin + pPanel->iMainIconSize + dh/2 + myIconsParam.iLabelSize; } } } } }