IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Télécharger C Discussion :

Simple horloge GTK2 + Cairo


Sujet :

Télécharger C

  1. #1
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut Simple horloge GTK2 + Cairo
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Simple horloge GTK2 + Cairo

    Simple horloge de bureau basée sur les bibliothèques GTK2 et Cairo.

    Nom : image.png
Affichages : 166
Taille : 9,2 Ko

    Le programme est une version simplifiée et modifiée de cairo-clock.c par "MacSlow".

    Le programme original utilise des fichiers SVG, et dépend de la bibliothèque Librsvg. Dans la version modifiée du programme, l'horloge est entièrement dessinée avec Cairo.

    Pour fermer l'horloge, appuyez sur la touche Esc. Voyez le code source pour les options (taille de l'horloge, affichage de l'aiguille des secondes).

    Inclut un script pour la création d'un lanceur sur le bureau (Linux).

    Qu'en pensez-vous ?

    P.-S. Je me suis aperçu après coup qu'une version plus récente du programme de "MacSlow" est disponible .
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Sans avoir tester pour l’instant j’ai tout de même jeté un œil au code par curiosité. Je ne suis pas un amoureux des variables globales. Au vu du code il est tout à fait possible de les éviter. Mais bien entendu tous les chemins mènent à Rome 😉.

    Ceci dit tu déclares un pointeur g_pCairoContext en global. Il est seulement utilisé dans Render(); et on_alpha_window_expose(); où il est initialisé et détruit, ce qui est tout à fait normal. Render(); est appelé dans cette même fonction. En d’autres termes la déclaration en globale semble inutile. Il suffit de transmettre le contexte créé à render();. En partant de ce principe tu évites une première initialisation dans le main(); que tu ne libères à aucun moment dans le code actuel => fuite mémoire 😉.

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Oui, effectivement. Je n'avais pas vu cette ligne à la fin. Je vais corriger ça. Merci !
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Voilà, c'est corrigé. J'ai laissé la première version pour que la discussion reste compréhensible.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Correction n°2. La position de l'aiguille des heures était fausse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cairo_rotate(a_pCairoContext, (M_PI / 6) * g_iHours + (M_PI / /*180*/360) * g_iMinutes);
    Je ne sais pas comment ça ne m'a pas sauté aux yeux plus tôt.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

Discussions similaires

  1. Logiciel de Facturation VERGIFAC ( C, GTK2, Cairo, SQLITE)
    Par pap71 dans le forum GTK+ avec C & C++
    Réponses: 18
    Dernier message: 16/01/2018, 18h16
  2. Ajout d'element dans un Gtk2::Ex::Simple::Tree
    Par Tiblond dans le forum Modules
    Réponses: 1
    Dernier message: 21/08/2007, 22h32
  3. [VB6] [Interface] Horloge 7 segments
    Par selenay dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 07/10/2002, 16h15
  4. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo