Technical discussions | Discussions techniques
Subscription date : 14 January 2008
Messages : 1122
|
Etant en plein reverse engineering sur le plugin rendering et sur le dock en général, là je mange du code et pas beaucoup de commentaire d'ailleurs et donc ben jvais poster ici mes différentes remarques.
Je colle de bouts de code qui me paraissent louches : ceci est à but constructif bien sur
rendering-3d-plane.c : 331
double fRatio = (pDock->iRefCount == 0 ? 1 : g_fSubDockSizeRatio);
fRatio = pDock->fRatio;
ya une feinte la ou tu fais un test pour attribuer une valeur et après tu t'en fout ??
Et là je vais construire une liste de questions :
a) Pourquoi y a t il 2 fonction de rendu une optimisée et l'autre pas ? |
Subscription date : 14 January 2008
Messages : 1122
|
Un petit apercu du prochain moteur de rendu : le rendu chaos
Petite vidéo http://anesalcooliks.free.fr/chaosRendering.ogg
Ca vous apprendra à pas faire de doc xD
Si ca saccade téléchargez là plutot que de la lire dans firefox... |
ppmt, Friday 09 May 2008 à 20:01
|
|
Subscription date : 29 November 2007
Messages : 3520
|
interressant  |
Subscription date : 03 December 2007
Messages : 526
|
très ... jolie un peu mais bon chacun vois son chaos différemment |
Subscription date : 29 November 2007
Messages : 7408
|
|
ChAnGFu, Friday 09 May 2008 à 22:25
|
|
Subscription date : 17 January 2008
Messages : 1526
|
Si c'est bien géré (une sorte de carousselle avec un effet vent) ça pourrai être vraiment intéressant ! |
Subscription date : 30 November 2007
Messages : 17118
|
y'a une ligne en trop (la 1ère)
la fonction optimisée redessine seulement une partie (rectangulaire) , genre pour l'horloge, les jauges, etc
tu peux tout de même générer la doc avec generate-doc.sh dans le répertoire 'doc', elle est à peu près à jour, et couvre une bonne moitié du code. |
Subscription date : 14 January 2008
Messages : 1122
|
ok merci j'avais déjà essayé mais ca avait pas marché...
Je me suis donc débrouillé à la mano
Je pose le pdf sur le kiwi dès que j'ai fini d'installer texlive-full...
Cependant plusieurs choses :
+J'ai des erreurs étranges genre au debug :
>set renderer (null)
+Je ne comprends toujours pas le principe des variables : iMaxDockWidth / iMinDockHeight / iMaxDockWidth / iMinDockWidth et fFlatDockWidth (disons que je vois leur sens mais pas leur utilisation)
+Je crois qu'au démarrage les fonctions pRenderer->calculate_max_dock_size sont appelées 2 fois par dock... Si c'est le cas ca doit pas mal ralentir le lancement du dock...
+Glitz fait n'imp avec des dock qui ont beaucoup d'icones on dirait un dépassement de buffer... Ca plante X et meme les alt+prtscr+r - ctrl+alt+f1 / ctrl+alt+backspace n'y font rien.
+Comment puis-je réduire le texte sans le décaler : écrire en plus petit mais pas avec cairo_scale (pCairoContext, 0.x 0.x) qui me le décale...
+Comment puis-je connaitre la taille en largeur et en hauteur des étiquettes...
En tout cas j'ai pas mal avancé dans ma compréhension du fonctionnement dock, je vais commencer à regarder si je peux pas améliorer les perf et surout je suis prêt à regarder pour intégrer opengl que je connais pas bien non plus.
Une fois de plus fab si tu pouvais passer sur irc (quand je fais pas ma vaisselle) ca serait bien.
Et si tu pouvais regarder (avec moi) mon code en me conseillant ca pourrais me faire avancer plus vite  |
Subscription date : 30 November 2007
Messages : 17118
|
oki je vais essayer, là j'ai pas trop le temps ce WE mais dans la semaine pas de problème |
Subscription date : 14 January 2008
Messages : 1122
|
AAAAAAAAA !
Pourquoi icon->fDrawXAtRest et icon->fDrawYAtRest sont modifiés à l'extérieur des fonctions de rendu !!!! |
Subscription date : 30 November 2007
Messages : 17118
|
fX et fY => position temporaires calculées (en gros fX c'est l'abscisse curviligne pour une vue linéaire)
fDrawX et fDrawY => position du coin haut gauche de l'icône où elle sera dessinée.
fDrawXAtRest et fDrawYAtRest : la même chose, mais avant d'appliquer l'animation de l'icône (rebond, etc)
fXAtRest : interne à la vague.
voila j'espère que c'est un peu plus clair, normalement le dessin ne devrait pas toucher aux variables (sinon dis-le moi je corrigerai)
sinon j'ai commité une branche où j'ai commencé des tests avec l'openGL (pour l'instant j'ai juste un rectangle noir )
je sais pas comment mettre à jour une branche avec les modif du tronc par contre. |
Subscription date : 14 January 2008
Messages : 1122
|
c'est déjà pas mal un rectangle noir !
Et puis c'est un rectangle noir accéléré graphiquement !
Sinon oui les variables que tu me donnes je vois ce que c'est (c'est écrit dans le caido-dock-struct.h) mais effectivement les AtRest et fY sont modifiées à l'exterieur sauf si raté un truc (c'est possible)
Sinon à propos de iMaxDockWidth / iMinDockWidth la taille du widget c'est le Max non ? Il sert à quoi le Min alors ? |
Subscription date : 30 November 2007
Messages : 17118
|
iMaxDockWidth = taille du dock avec souris dedans
iMinDockWidth = taille du dock au repos (souris dehors).
fFlatDockWidth = interne à la vague.
tu peux me dire où exactement ? je tenterai de corriger, c'est pas très propre sinon. |
Subscription date : 14 January 2008
Messages : 1122
|
ah ok donc pour un sousdock le min sert à rien vu que quand la souris se barre le sous-dock disparait...
ouais faudrais que je (re)cherche...
un truc aussi que j'ai pas trop compris : la magnitude ca te sert à quoi exactement ? ya déjà le scale non ? et les height width factor...
ah ouais aussi : vu que je suis passé en deux dimensions je pourrais rajouter aussi les variables en y qui vont de paire avec les x dans cairo-dock-struct.h ? Ca pose aucun problème ? |
Subscription date : 30 November 2007
Messages : 17118
|
lesquelles ?
le zoom est donné par z = (1+A*M*sin(phi))*ratio
les height width factor c'est pour l'effet de rotation (qui est un faux en fait puisqu'on fait de la 2D) |
Subscription date : 14 January 2008
Messages : 1122
|
hum bon ben tu sais quoi maintenant que j'ai fait en fonction de ce que j'avais ya plus besoin, mais je pensait à fYMin / fYMax et à toutes les variables qui ont un X et pas un Y...
du coup au final j'arrive à un truc plus simple car avec moins de variable
là je vais attaquer le cadre (enfin je vais faire les courses d'abord :D) mais j'aimerais bien récupérer une bulle d'infobulle c'est possible ? |
Subscription date : 30 November 2007
Messages : 17118
|
au fait je voulais te dire, t'as pas besoin de recopier à la main les phrases des sources ou du fichier de conf, j'ai un outil qui fait ça automatiquement. si tu veux je le met sur le SVN (j'ai aussi un script qui fait un remplacement dans tous les fichiers) sinon quand je commite ça rajoute les phrases. |
Subscription date : 14 January 2008
Messages : 1122
|
je veux bien les scripts mais au pire à la main ca se fait  |
ChAnGFu, Friday 16 May 2008 à 02:32
|
|
Subscription date : 17 January 2008
Messages : 1526
|
Je veux bien aussi  |
Technical discussions | Discussions techniques
|