Référence du fichier cairo-dock-draw.c

#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <cairo.h>
#include <pango/pango.h>
#include <gtk/gtk.h>
#include "cairo-dock-icons.h"
#include "cairo-dock-dock-factory.h"
#include "cairo-dock-callbacks.h"
#include "cairo-dock-animations.h"
#include "cairo-dock-draw.h"

Fonctions

double cairo_dock_get_current_dock_width_linear (CairoDock *pDock)
cairo_t * cairo_dock_create_context_from_window (CairoDock *pDock)
void cairo_dock_draw_frame_horizontal (cairo_t *pCairoContext, double fRadius, double fLineWidth, double fFrameWidth, double fFrameHeight, double fDockOffsetX, double fDockOffsetY, int sens, double fInclination)
void cairo_dock_draw_frame_vertical (cairo_t *pCairoContext, double fRadius, double fLineWidth, double fFrameWidth, double fFrameHeight, double fDockOffsetX, double fDockOffsetY, int sens, double fInclination)
void cairo_dock_draw_frame (cairo_t *pCairoContext, double fRadius, double fLineWidth, double fFrameWidth, double fFrameHeight, double fDockOffsetX, double fDockOffsetY, int sens, double fInclination, gboolean bHorizontal)
void cairo_dock_render_decorations_in_frame (cairo_t *pCairoContext, CairoDock *pDock, double fOffsetY)
void cairo_dock_manage_animations (Icon *icon, CairoDock *pDock)
void cairo_dock_render_one_icon (Icon *icon, cairo_t *pCairoContext, gboolean bHorizontalDock, double fRatio, double fDockMagnitude, gboolean bUseReflect)
void cairo_dock_draw_string (cairo_t *pCairoContext, CairoDock *pDock, double fStringLineWidth, gboolean bIsLoop)
void cairo_dock_render_icons_linear (cairo_t *pCairoContext, CairoDock *pDock, double fRatio)
void cairo_dock_render_background (CairoDock *pDock)
void cairo_dock_render_blank (CairoDock *pDock)
void cairo_dock_redraw_my_icon (Icon *icon, CairoDock *pDock)
void cairo_dock_hide_parent_docks (CairoDock *pDock)
gboolean cairo_dock_hide_child_docks (CairoDock *pDock)
void cairo_dock_set_window_position_at_balance (CairoDock *pDock, int iNewWidth, int iNewHeight)
void cairo_dock_get_window_position_and_geometry_at_balance (CairoDock *pDock, CairoDockSizeType iSizeType, int *iNewWidth, int *iNewHeight)
double cairo_dock_calculate_extra_width_for_trapeze (double fFrameHeight, double fInclination, double fRadius, double fLineWidth)

Variables

CairoDockg_pMainDock
GHashTable * g_hDocksTable
double g_fSubDockSizeRatio
gboolean g_bAutoHide
gboolean g_bTextAlwaysHorizontal
gint g_iScreenWidth [2]
gint g_iScreenHeight [2]
gint g_iMaxAuthorizedWidth
gint g_iDockLineWidth
gint g_iDockRadius
double g_fLineColor [4]
gint g_iFrameMargin
gint g_iStringLineWidth
double g_fStringColor [4]
double g_fReflectSize
gboolean g_bRoundedBottomCorner
gboolean g_bDirectionUp
double g_fStripesSpeedFactor
double g_fBackgroundImageWidth
double g_fBackgroundImageHeight
cairo_surface_t * g_pBackgroundSurface [2]
cairo_surface_t * g_pBackgroundSurfaceFull [2]
int g_iVisibleZoneWidth
int g_iVisibleZoneHeight
cairo_surface_t * g_pVisibleZoneSurface
double g_fVisibleZoneAlpha
double g_fAmplitude
int g_iLabelSize
gboolean g_bLabelForPointedIconOnly
double g_fLabelAlphaThreshold
double g_fAlphaAtRest
int g_tNbIterInOneRound [CAIRO_DOCK_NB_ANIMATIONS]
gboolean g_bDynamicReflection
double g_fAlbedo
gboolean g_bConstantSeparatorSize

Documentation des fonctions

double cairo_dock_calculate_extra_width_for_trapeze double  fFrameHeight,
double  fInclination,
double  fRadius,
double  fLineWidth
 

cairo_t* cairo_dock_create_context_from_window CairoDock pDock  ) 
 

Cree un contexte de dessin pour la libcairo. Si glitz est active, le contexte sera lie a une surface glitz (et donc on dessinera directement sur la carte graphique), sinon a une surface X representant la fenetre du dock.

Paramètres:
pDock le dock sur lequel on veut dessiner.
Renvoie:
le contexte sur lequel dessiner. N'est jamais nul; tester sa coherence avec cairo_status avant de l'utiliser, et le detruire avec cairo_destroy apres en avoir fini avec lui.

void cairo_dock_draw_frame cairo_t *  pCairoContext,
double  fRadius,
double  fLineWidth,
double  fFrameWidth,
double  fFrameHeight,
double  fDockOffsetX,
double  fDockOffsetY,
int  sens,
double  fInclination,
gboolean  bHorizontal
 

Trace sur le contexte un contour trapezoidale aux coins arrondis. Le contour n'est pas dessine, mais peut l'etre a posteriori, et peut servir de cadre pour y dessiner des choses dedans.

Paramètres:
pCairoContext le contexte du dessin, contenant le cadre a la fin de la fonction.
fRadius le rayon en pixels des coins.
fLineWidth l'epaisseur en pixels du contour.
fFrameWidth la largeur de la plus petite base du trapeze.
fFrameHeight la hauteur du trapeze.
fDockOffsetX un decalage, dans le sens de la largeur du dock, a partir duquel commencer a tracer la plus petite base du trapeze.
fDockOffsetY un decalage, dans le sens de la hauteur du dock, a partir duquel commencer a tracer la plus petite base du trapeze.
sens 1 pour un tracer dans le sens des aiguilles d'une montre (indirect), -1 sinon.
fInclination tangente de l'angle d'inclinaison des cotes du trapeze par rapport a la vertical. 0 pour tracer un rectangle.
bHorizontal CAIRO_DOCK_HORIZONTAL ou CAIRO_DOCK_VERTICAL suivant l'horizontalité du dock.

void cairo_dock_draw_frame_horizontal cairo_t *  pCairoContext,
double  fRadius,
double  fLineWidth,
double  fFrameWidth,
double  fFrameHeight,
double  fDockOffsetX,
double  fDockOffsetY,
int  sens,
double  fInclination
 

void cairo_dock_draw_frame_vertical cairo_t *  pCairoContext,
double  fRadius,
double  fLineWidth,
double  fFrameWidth,
double  fFrameHeight,
double  fDockOffsetX,
double  fDockOffsetY,
int  sens,
double  fInclination
 

void cairo_dock_draw_string cairo_t *  pCairoContext,
CairoDock pDock,
double  fStringLineWidth,
gboolean  bIsLoop
 

Dessine une ficelle reliant le centre de toutes les icones, en commencant par la 1ere dessinee.

Paramètres:
pCairoContext le contexte du dessin, n'est pas altere par la fonction.
pDock le dock contenant les icônes a relier.
fStringLineWidth epaisseur de la ligne.
bIsLoop TRUE si on veut boucler (relier la derniere icone a la 1ere).

double cairo_dock_get_current_dock_width_linear CairoDock pDock  ) 
 

void cairo_dock_get_window_position_and_geometry_at_balance CairoDock pDock,
CairoDockSizeType  iSizeType,
int *  iNewWidth,
int *  iNewHeight
 

gboolean cairo_dock_hide_child_docks CairoDock pDock  ) 
 

void cairo_dock_hide_parent_docks CairoDock pDock  ) 
 

void cairo_dock_manage_animations Icon icon,
CairoDock pDock
 

Dessine entierement une icone, dont toutes les caracteristiques ont ete prealablement calculees. Gere sa position, sa transparence (modulee par la transparence du dock au repos), son reflet, son placement de profil, son etiquette, et son info-rapide.

Paramètres:
 

void cairo_dock_redraw_my_icon Icon icon,
CairoDock pDock
 

Efface et redessine entierement une seule icone. Appelle la fonction de trace optimise de la vue courante; si cette derniere ne fournit pas de trace optimise, retrace tout le dock (ce qui peut etre penalisant).

Paramètres:
icon l'icone a retracer.
pDock le dock contenant l' icone.

void cairo_dock_render_background CairoDock pDock  ) 
 

void cairo_dock_render_blank CairoDock pDock  ) 
 

void cairo_dock_render_decorations_in_frame cairo_t *  pCairoContext,
CairoDock pDock,
double  fOffsetY
 

Dessine les decorations d'un dock a l'interieur d'un cadre prealablement trace sur le contexte.

Paramètres:
pCairoContext le contexte du dessin, est laisse intact par la fonction.
pDock le dock sur lequel appliquer les decorations.
fOffsetY un decalage, dans le sens de la hauteur du dock, a partir duquel appliquer les decorations.

void cairo_dock_render_icons_linear cairo_t *  pCairoContext,
CairoDock pDock,
double  fRatio
 

void cairo_dock_render_one_icon Icon icon,
cairo_t *  pCairoContext,
gboolean  bHorizontalDock,
double  fRatio,
double  fDockMagnitude,
gboolean  bUseReflect
 

Dessine entierement une icone, dont toutes les caracteristiques ont ete prealablement calculees. Gere sa position, sa transparence (modulee par la transparence du dock au repos), son reflet, son placement de profil, son etiquette, et son info-rapide.

Paramètres:
icon l'icone a dessiner.
pCairoContext le contexte du dessin, est altere pendant le dessin.
bHorizontalDock l'horizontalite du dock contenant l'icone.
fRatio le ratio de taille des icones dans ce dock.
fDockMagnitude la magnitude actuelle du dock.
bUseReflect TRUE pour dessiner les reflets.

void cairo_dock_set_window_position_at_balance CairoDock pDock,
int  iNewWidth,
int  iNewHeight
 


Documentation des variables

gboolean g_bAutoHide
 

gboolean g_bConstantSeparatorSize
 

gboolean g_bDirectionUp
 

gboolean g_bDynamicReflection
 

gboolean g_bLabelForPointedIconOnly
 

gboolean g_bRoundedBottomCorner
 

gboolean g_bTextAlwaysHorizontal
 

double g_fAlbedo
 

double g_fAlphaAtRest
 

double g_fAmplitude
 

double g_fBackgroundImageHeight
 

double g_fBackgroundImageWidth
 

double g_fLabelAlphaThreshold
 

double g_fLineColor[4]
 

double g_fReflectSize
 

double g_fStringColor[4]
 

double g_fStripesSpeedFactor
 

double g_fSubDockSizeRatio
 

double g_fVisibleZoneAlpha
 

GHashTable* g_hDocksTable
 

gint g_iDockLineWidth
 

gint g_iDockRadius
 

gint g_iFrameMargin
 

int g_iLabelSize
 

gint g_iMaxAuthorizedWidth
 

gint g_iScreenHeight[2]
 

gint g_iScreenWidth[2]
 

gint g_iStringLineWidth
 

int g_iVisibleZoneHeight
 

int g_iVisibleZoneWidth
 

cairo_surface_t* g_pBackgroundSurface[2]
 

cairo_surface_t* g_pBackgroundSurfaceFull[2]
 

CairoDock* g_pMainDock
 

cairo_surface_t* g_pVisibleZoneSurface
 

int g_tNbIterInOneRound[CAIRO_DOCK_NB_ANIMATIONS]
 


Généré le Tue Dec 4 16:38:28 2007 pour Cairo-Dock par  doxygen 1.4.6