begin process at 2012 02 07 09:07:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Applications Linux

 > LINUX OSD

LINUX OSD


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Applications Linux Classé sous :linux, xosd, x11 Niveau :Débutant Date de création :14/07/2007 Date de mise à jour :14/07/2007 19:39:26 Vu :6 789

Auteur : Twinuts

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
N'ayant pas trouvé d'équivalent sur le site, je propose ce petit bout de code qui montre comment utiliser 'xosd' pour afficher diverses informations en OSD.

Ce code nécessite l'installation préalable de xosd et également sont link pour la compilation.

Note :
Pour la sélection de la font vous pouvez utiliser l'utilitaire xfontsel.

Source

  • #include <stdio.h>
  • #include <unistd.h>
  • #include <xosd.h>
  • // voir aussi les méthodes :
  • // Change la taille de la barre de pourcentage et du slider
  • // int xosd_set_bar_length(xosd * osd, int length);
  • // Temps d'attente si rien n'est affiché
  • // int xosd_wait_until_no_display(xosd * osd);
  • // Masque l'osd
  • // int xosd_hide(xosd * osd);
  • // Affiche l'osd (attention pas de show après un display)
  • // int xosd_show(xosd * osd); //Attention pas de show après un display
  • // Modification de l'offset pour le shadow
  • // int xosd_set_shadow_offset(xosd * osd, int shadow_offset);
  • // Modification de l'offset pour le outline
  • // int xosd_set_outline_offset(xosd * osd, int outline_offset);
  • // Modification de la couleur du outline
  • // int xosd_set_outline_colour(xosd * osd, const char *colour);
  • // Modification de la couleur du shadow
  • // int xosd_set_shadow_colour(xosd * osd, const char *colour);
  • // Modification de l'offset sur l'axe horizontal
  • // int xosd_set_horizontal_offset(xosd * osd, int offset);
  • // Modification de l'offset sur l'axe vertical
  • // int xosd_set_vertical_offset(xosd * osd, int offset);
  • // Permet de faire scroller naturellement l'affichage
  • // int xosd_scroll(xosd * osd, int lines);
  • int main(int argc, char **argv) {
  • // couleurs
  • int r = -1, g = -1, b = -1;
  • // code de retour
  • int ret = 0;
  • // nombres de lignes pour l'affichage
  • int numLines = 5;
  • // timeout d'affichage
  • int timeout = 5;
  • // font
  • char* font = "-b&h-lucida-bold-*-normal-sans-*-560-*-*-*-*-iso8859-1";
  • // couleur
  • char* color = "#751EAC";
  • // ligne 1
  • char* line1 = "Ligne 1";
  • // ligne 2
  • char* line2 = "Ligne 2";
  • // ligne 3
  • char* line3 = "Ligne 3";
  • // pourcentage
  • int percent = 90;
  • //slider
  • int slider = 30;
  • // allocation d'un pointeur xosd
  • xosd *ptrOsd = xosd_create(numLines);
  • //récupération du nombre de lignes
  • numLines = xosd_get_number_lines(ptrOsd);
  • printf("xosd_get_number_lines [lines : %d]\n", numLines);
  • // alignement horizontal
  • ret = xosd_set_align(ptrOsd, XOSD_center);
  • printf("xosd_set_align ret = %d\n", ret);
  • // alignement vertical
  • ret = xosd_set_pos(ptrOsd, XOSD_top);
  • printf("xosd_set_pos ret = %d\n", ret);
  • // font de l'osd
  • ret = xosd_set_font(ptrOsd, font);
  • printf("xosd_set_align [font : %s] ret = %d\n", font, ret);
  • // couleur de l'osd
  • ret = xosd_set_colour(ptrOsd, color);
  • printf("xosd_set_colour [color : %s] ret = %d\n", color, ret);
  • // récupération de la couleur de l'osd
  • ret = xosd_get_colour(ptrOsd, &r, &g, &b);
  • printf("xosd_get_colour [r : %d, g : %d, b : %d] ret = %d\n", r, g, b, ret);
  • // affichage d'une chaine ligne 1
  • ret = xosd_display(ptrOsd, 0, XOSD_string, line1);
  • printf("xosd_display [str : %s] ret = %d\n", line1, ret);
  • // affichage d'une chaine ligne 2
  • ret = xosd_display(ptrOsd, 1, XOSD_string, line2);
  • printf("xosd_display [str : %s] ret = %d\n", line2, ret);
  • // affichage d'une chaine ligne 3
  • ret = xosd_display(ptrOsd, 2, XOSD_string, line3);
  • printf("xosd_display [str : %s] ret = %d\n", line3, ret);
  • // affichage d'une barre de pourcentage ligne 4
  • ret = xosd_display(ptrOsd, 3, XOSD_percentage, percent);
  • printf("xosd_display [percent : %d] ret = %d\n", percent, ret);
  • // affichage d'un slider ligne 5
  • ret = xosd_display(ptrOsd, 4, XOSD_slider, slider);
  • printf("xosd_display [slider : %d] ret = %d\n", slider, ret);
  • // test si l'ods est déjà affiché ou non
  • ret = xosd_is_onscreen(ptrOsd);
  • printf("xosd_is_onscreen ret = %d\n", ret);
  • // masque l'osd dans 'timeout' secondes
  • ret = xosd_set_timeout(ptrOsd, timeout);
  • printf("xosd_set_timeout [timeout : %d s.] ret = %d\n", timeout, ret);
  • //attente avant le release de l'osd
  • sleep(10);
  • // test si l'ods est déjà affiché ou non
  • ret = xosd_is_onscreen(ptrOsd);
  • printf("xosd_is_onscreen ret = %d\n", ret);
  • // libération de l'osd
  • // Note : si l'osd n'avait pas de timeout il serait automatiquement enlevé
  • ret = xosd_destroy(ptrOsd);
  • printf("xosd_destroy ret = %d\n", ret);
  • return 0;
  • }
#include <stdio.h>
#include <unistd.h>
#include <xosd.h>

// voir aussi les méthodes :
// 		Change la taille de la barre de pourcentage et du slider
// 			int xosd_set_bar_length(xosd * osd, int length);
// 		Temps d'attente si rien n'est affiché
// 			int xosd_wait_until_no_display(xosd * osd);
// 		Masque l'osd
// 			int xosd_hide(xosd * osd);
// 		Affiche l'osd (attention pas de show après un display)
// 			int xosd_show(xosd * osd); //Attention pas de show après un display
// 		Modification de l'offset pour le shadow
// 			int xosd_set_shadow_offset(xosd * osd, int shadow_offset);
// 		Modification de l'offset pour le outline
// 			int xosd_set_outline_offset(xosd * osd, int outline_offset);
// 		Modification de la couleur du outline
// 			int xosd_set_outline_colour(xosd * osd, const char *colour);
// 		Modification de la couleur du shadow
// 			int xosd_set_shadow_colour(xosd * osd, const char *colour);
// 		Modification de l'offset sur l'axe horizontal
// 			int xosd_set_horizontal_offset(xosd * osd, int offset);
// 		Modification de l'offset sur l'axe vertical
// 			int xosd_set_vertical_offset(xosd * osd, int offset);
// 		Permet de faire scroller naturellement l'affichage
// 			int xosd_scroll(xosd * osd, int lines);


int main(int argc, char **argv) {
	// couleurs
	int r = -1, g = -1, b = -1;
	// code de retour
	int ret = 0;
	// nombres de lignes pour l'affichage
	int numLines = 5;
	// timeout d'affichage
	int timeout = 5;
	// font
	char* font = "-b&h-lucida-bold-*-normal-sans-*-560-*-*-*-*-iso8859-1";
	// couleur
	char* color = "#751EAC";
	// ligne 1
	char* line1 = "Ligne 1";
	// ligne 2
	char* line2 = "Ligne 2";
	// ligne 3
	char* line3 = "Ligne 3";
	// pourcentage
	int percent = 90;
	//slider
	int slider = 30;
	
	// allocation d'un pointeur xosd
	xosd *ptrOsd = xosd_create(numLines);
	//récupération du nombre de lignes
	numLines = xosd_get_number_lines(ptrOsd);
	printf("xosd_get_number_lines [lines : %d]\n", numLines);
		
	// alignement horizontal
	ret = xosd_set_align(ptrOsd, XOSD_center);
	printf("xosd_set_align ret = %d\n", ret);
	
	// alignement vertical
	ret = xosd_set_pos(ptrOsd, XOSD_top);
	printf("xosd_set_pos ret = %d\n", ret);
	
	// font de l'osd
	ret = xosd_set_font(ptrOsd, font);
	printf("xosd_set_align [font : %s] ret = %d\n", font, ret);
	
	// couleur de l'osd
	ret = xosd_set_colour(ptrOsd, color);
	printf("xosd_set_colour [color : %s] ret = %d\n", color, ret);
	// récupération de la couleur de l'osd
	ret = xosd_get_colour(ptrOsd, &r, &g, &b);
	printf("xosd_get_colour [r : %d, g : %d, b : %d] ret = %d\n", r, g, b, ret);
	
	// affichage d'une chaine ligne 1
	ret = xosd_display(ptrOsd, 0, XOSD_string, line1);
	printf("xosd_display [str : %s] ret = %d\n", line1, ret);
	// affichage d'une chaine ligne 2
	ret = xosd_display(ptrOsd, 1, XOSD_string, line2);
	printf("xosd_display [str : %s] ret = %d\n", line2, ret);
	// affichage d'une chaine ligne 3
	ret = xosd_display(ptrOsd, 2, XOSD_string, line3);
	printf("xosd_display [str : %s] ret = %d\n", line3, ret);
	// affichage d'une barre de pourcentage ligne 4
	ret = xosd_display(ptrOsd, 3, XOSD_percentage, percent);
	printf("xosd_display [percent : %d] ret = %d\n", percent, ret);
	// affichage d'un slider ligne 5
	ret = xosd_display(ptrOsd, 4, XOSD_slider, slider);
	printf("xosd_display [slider : %d] ret = %d\n", slider, ret);
	
	// test si l'ods est déjà affiché ou non
	ret = xosd_is_onscreen(ptrOsd);
	printf("xosd_is_onscreen ret = %d\n", ret);
	
	// masque l'osd dans 'timeout' secondes
	ret = xosd_set_timeout(ptrOsd, timeout);
	printf("xosd_set_timeout [timeout : %d s.] ret = %d\n", timeout, ret);
	
	//attente avant le release de l'osd
	sleep(10);
	// test si l'ods est déjà affiché ou non
	ret = xosd_is_onscreen(ptrOsd);
	printf("xosd_is_onscreen ret = %d\n", ret);
	// libération de l'osd
	// Note : si l'osd n'avait pas de timeout il serait automatiquement enlevé 
	ret = xosd_destroy(ptrOsd);
	printf("xosd_destroy ret = %d\n", ret);
	return 0;
}




 Historique

14 juillet 2007 19:33:37 :
ptites fautes ^^
14 juillet 2007 19:39:26 :
idem... j'ai oublié de faire le copié / collé ... ^^

 Sources du même auteur

Source avec Zip LINUX MODIFICATION DU VOLUME D'UN MIXER AUDIO
IP,MASK,MAC SOUS LINUX
Source avec Zip Source avec une capture COUPER UNE FENÊTRE (X11)

 Sources de la même categorie

Source avec une capture COLORIMÈTRE NUMÉRIQUE LINUX par valchek
Source avec Zip TRAITEMENTS D'IMAGES AU FORMAT PGM AVEC LES ALGORITHMES DE C... par lemout
Source avec Zip ALGORITHME ACO INTERFACE GTK par RyBeN
Source avec Zip COMPRESSER SES SAUVEGARDES SMSBACKUPRESTORE (ANDROID) EN C A... par ThalLab
SIMPLE SCANNER DE PORTS par Vb6Malade

 Sources en rapport avec celle ci

Source avec une capture COLORIMÈTRE NUMÉRIQUE LINUX par valchek
Source avec Zip Source avec une capture SOKOBAN EN C POUR DÉBUTANT (VERSION AMÉLIORÉE BASÉE SUR LE T... par eustatika
Source avec Zip [MYLIB] GESTION DE FICHIERS par Galaad2908
Source avec Zip LINUX USB BOOT LEGER par patatalo
Source avec Zip Source avec une capture COUPER UNE FENÊTRE (X11) par Twinuts

Commentaires et avis

Commentaire de aminesoft1 le 04/06/2008 07:28:43 10/10

good job

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

programme graphique sous linux avec X11 de préférence (pour le portage) [ par coucou747 ] je recherche une façon de créer des programmes graphiques en c, j'ai cherché des heures sur le net des programmes en c utilisant des librairies comme Questions cpp Linux X11 [ par ralebole ] Voici mes 3 questions Comment afficher une image dans une fenetre Cpp linux&nbsp; X11 ?Comment creer un Timer Cpp linux X11 ? (petit exemple svp)Si je débuts en C sous linux [ par hotlips ] Bonjour,Je&nbsp;d&#233;bute sous linux. J'&#233;tais plut&#244;t habitu&#233; &#224;&nbsp;Visual C++, mais je doit &#233;crire une librairie en C sous passer un programme GTK de linux à windows [ par Dr_zoidberg ] Bonjour,J'ai choisi de cr&#233;er une interface en GTK afin de pouvoir porter mon programme de linux &#224; windows.Seulement pour l'instant, je n'ai Allegro sous linux [ par esiee_amiens ] Bonjour, Je suis sous linux, et je n'arrive pas &#224; compiler les prog ou j'utilise allegro. J'ai essayer dans la console : "gcc ok.c `allegro -conf Allegro + linux [ par esiee_amiens ] Bonjour, Je suis sous linux, et je n'arrive pas &#224; compiler les prog ou j'utilise allegro. J'ai essayer dans la console : "gcc ok.c `allegro -conf Obtenir GTK ou QT (sans connexion ADSL) [ par Flachy Joe ] Salut,je voudrai me mettre &#224; la progg sous linux, je programme d&#233;ja en VB6 (sous vindoz &#233;videmment) et j'ai des notions de C++ et de Ja graphisme sous linux [ par maxialex5 ] Bonjour comment compiler un code en C contenant la bibliotheque ou avec la version Kaela de knoppix? et merci d'avance Ouverture image sous linux [ par astropolpot ] Bonjour &#224; tous,je voudrais savoir comment ouvrir un fichier jpeg sous linux pour le mettre sous forme de matrice. je ne veux rien de plus compliq Taille fichier sous linux [ par bigbourin ] Bonjour a tous, voila je cherche une fonction pour r&#233;cup&#233;r&#233; la taille d'un fichier mais sous linux. donc les API W32 ...voila. Je pensa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales