begin process at 2010 02 10 11:06:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > HYPER SDL FRAMEWORK / HYPER SDL TEXT BOX

HYPER SDL FRAMEWORK / HYPER SDL TEXT BOX


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :SDL TextBox, SDL Framework, SDL Graphisme, sdlttf, sdl Niveau :Débutant Date de création :06/10/2008 Date de mise à jour :06/10/2008 00:14:13 Vu / téléchargé :2 049 / 130

Auteur : hypermb

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

 Description

Cliquez pour voir la capture en taille normale
Je vous propose un espace de programmation en c++ pour la librairie SDL (Hyper SDL Framework), qui peut vous éviter passer à chaque fois par des milliards de case et d'oublier également la fameuse boucle infini, ce qui va faciliter considérablement la lecture du code SDL par la suite, tout en préservant toute la puissance d'SDL.
Suivant un certain modèle, vous pouvez créer vos propre widget et les utiliser dans le SDL Framework en toute facilité, j'ai déjà crée le premier : Hyper SDL Text Box, une zone de texte qui supporte un curseur clignotant, gère la sélection, copie du texte avec « CTRL+c », etc …

Avant de lire le code source, je vous recommande fortement de consulter le document word dans le zip "Hyper SDL Framework Doc.doc"

Source

  • #include "MyFramework.h"
  • void MyFramework::SDLMainInit() {
  • TTF_Init();
  • atexit(TTF_Quit);
  • screen=SDL_SetVideoMode(640, 420, 32,SDL_HWSURFACE|SDL_DOUBLEBUF);
  • font=SDL_LoadBMP("sky.bmp");
  • PositionFont.x=PositionFont.y=0;
  • SDL_WM_SetCaption("SDL Framework", NULL);
  • Comic=TTF_OpenFont("Comic.ttf", 20);
  • Forte=TTF_OpenFont("Forte.ttf", 25);
  • Hand=TTF_OpenFont("Hand.ttf", 17);
  • Uint32 RougeRGB=SDL_MapRGB(screen->format, 239, 88, 80);
  • Uint32 GrisRGB=SDL_MapRGB(screen->format, 200, 190, 177);
  • Uint32 BleuCielRGB=SDL_MapRGB(screen->format, 81, 151, 236);
  • Uint32 JauneRGB=SDL_MapRGB(screen->format, 254, 250, 90);
  • Uint32 VertRGB=SDL_MapRGB(screen->format, 2, 174, 6);
  • SDL_Color Bleu={213, 128, 13};
  • SDL_Color Blanc={255, 255, 255};
  • ZT1=new SDLTextBox(screen, 30, 30, true, 550, Blanc, Comic, GrisRGB, RougeRGB);
  • ZT2=new SDLTextBox(screen, 30, 340, true, 550, Bleu, Forte, VertRGB, JauneRGB);
  • ZT3=new SDLTextBox(screen, 30, 190, true, 500, Blanc, Hand, GrisRGB, BleuCielRGB);
  • ZT3->setBackground("background.bmp");
  • ZT3->setCursor("cursor.bmp");
  • ZT1->Text="Moi, j'affiche le texte sélectionnée";
  • ZT2->Text="Je suis une Text Box";
  • }
  • void MyFramework::SDLMainLoop() {
  • SDL_FillRect(screen, 0, SDL_MapRGB(screen->format, 0, 0, 0));
  • SDL_BlitSurface(font, NULL, screen, &PositionFont);
  • ZT1->drawTextBox(event, freshevent);
  • ZT2->drawTextBox(event, freshevent);
  • ZT3->drawTextBox(event, freshevent);
  • SDL_Flip(screen);
  • if (ZT2->Focus) ZT1->Text=ZT2->getSelectedText();
  • if (ZT3->Focus) ZT1->Text=ZT3->getSelectedText();
  • }
  • void MyFramework::On_SDL_KEYDOWN() {
  • if (event.key.keysym.sym==SDLK_ESCAPE) {
  • SDLQuit();
  • }
  • }
  • MyFramework::~MyFramework() {
  • delete ZT1;
  • delete ZT2;
  • delete ZT3;
  • SDL_FreeSurface(font);
  • SDL_FreeSurface(screen);
  • free(Comic);
  • free(Forte);
  • free(Hand);
  • }
#include "MyFramework.h"

void MyFramework::SDLMainInit() {
    TTF_Init();
    atexit(TTF_Quit);
    screen=SDL_SetVideoMode(640, 420, 32,SDL_HWSURFACE|SDL_DOUBLEBUF);
    font=SDL_LoadBMP("sky.bmp");
    PositionFont.x=PositionFont.y=0;
    SDL_WM_SetCaption("SDL Framework", NULL);
    Comic=TTF_OpenFont("Comic.ttf", 20);
    Forte=TTF_OpenFont("Forte.ttf", 25);
    Hand=TTF_OpenFont("Hand.ttf", 17);
    Uint32 RougeRGB=SDL_MapRGB(screen->format, 239, 88, 80);
    Uint32 GrisRGB=SDL_MapRGB(screen->format, 200, 190, 177);
    Uint32 BleuCielRGB=SDL_MapRGB(screen->format, 81, 151, 236);
    Uint32 JauneRGB=SDL_MapRGB(screen->format, 254, 250, 90);
    Uint32 VertRGB=SDL_MapRGB(screen->format, 2, 174, 6);
    SDL_Color Bleu={213, 128, 13};
    SDL_Color Blanc={255, 255, 255};
    ZT1=new SDLTextBox(screen, 30, 30, true, 550, Blanc, Comic, GrisRGB, RougeRGB);
    ZT2=new SDLTextBox(screen, 30, 340, true, 550, Bleu, Forte, VertRGB, JauneRGB);
    ZT3=new SDLTextBox(screen, 30, 190, true, 500, Blanc, Hand, GrisRGB, BleuCielRGB);
    ZT3->setBackground("background.bmp");
    ZT3->setCursor("cursor.bmp");
    ZT1->Text="Moi, j'affiche le texte sélectionnée";
    ZT2->Text="Je suis une Text Box";
}
void MyFramework::SDLMainLoop() {
    SDL_FillRect(screen, 0, SDL_MapRGB(screen->format, 0, 0, 0));
    SDL_BlitSurface(font, NULL, screen, &PositionFont);
    ZT1->drawTextBox(event, freshevent);
    ZT2->drawTextBox(event, freshevent);
    ZT3->drawTextBox(event, freshevent);
    SDL_Flip(screen);
    if (ZT2->Focus) ZT1->Text=ZT2->getSelectedText();
    if (ZT3->Focus) ZT1->Text=ZT3->getSelectedText();
}
void MyFramework::On_SDL_KEYDOWN() {
    if (event.key.keysym.sym==SDLK_ESCAPE) {
        SDLQuit();
    }
}
MyFramework::~MyFramework() {
    delete ZT1;
    delete ZT2;
    delete ZT3;
    SDL_FreeSurface(font);
    SDL_FreeSurface(screen);
    free(Comic);
    free(Forte);
    free(Hand);
}

 Conclusion

Je suis ouvert à toute idée d'amélioration ...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

06 octobre 2008 00:14:13 :
Mise en forme du texte effectuée ...

 Sources de la même categorie

Source avec Zip Source avec une capture VIEWER COMPLET POUR LE TRAITEMENT DE L'IMAGE : IMANALYSE par Pistol_Pete
Source avec Zip DECOUPAGE DE SPRITES par Jackyzgood
Source avec Zip Source avec une capture SIMULATION DE LA DIFFUSION THERMIQUE par ncoder
Source avec Zip Source avec une capture Source .NET (Dotnet) TRANSFORMÉ DE FOURIER RAPIDE EN TRAITEMENT D'IMAGE par reyken
Source avec Zip Source avec une capture 2D GAME DIRECT X 9 par nanonavich

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture TETRIS EN C++ AVEC SDL par Marmalus
Source avec Zip DECOUPAGE DE SPRITES par Jackyzgood
Source avec Zip Source avec une capture MARIO EN SDL par ndubien
Source avec une capture [DEV-CPP]UN TETRIS, ENCORE... par maxwells
Source avec Zip Source avec une capture SDL_TT ECRIRE DU TEXTE AVEC SAUT DE LIGNE. par gillescpp

Commentaires et avis

Commentaire de legendaryz le 06/10/2008 21:26:34 10/10

salut c'est l'auteur de ZGui qui te parle, excellent travail, faudrait ajouter l'option multiligne à ta text-box, a+ ;)

Commentaire de hypermb le 07/10/2008 01:09:12

salut legendaryz, je n'ai jamais pensé te retrouver par là, l'option multiligne va venir dans une prochaine version ... @+ et bonne chance dans votre ZGui ...

Commentaire de Mal_au_DOS le 13/10/2008 19:10:10 10/10

C'est top ce programme ça m'aurait éviter des heures de réécriture des trucs qu'on se sert tout le temps !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

problème SDL [ par Synhok ] J'ai essayer le tut sur la librairie SDL et quand je compile avec DevC++, le linker me marque :C:\...\BIN\ld.exe: cannot open -lSDLmain: No such file Texte & SDL en mode Video [ par Gaelle ] Bonjour à tous,Je suis en train d'interfacer une application C à l'aide de SDL. Pour ce qui est de la gestion vidéo et évènements souris aucun problèm librairie SDL et coonio.h [ par gloom ] salut peuple svp qq1 opurrait t'il m'aider voila je cherche a afficher une photo sous console DOS pour cela je sait qu'il ¸faute une librairie SDL mai SDL [ par sabinus ] SabinusBonjour tout le monde.Je recherche la description en français de toutes les instructions et paramétres de la SDL (Windows xp). Lib SDL -> probleme d'images [ par zmc ] bonjour, je debute plus ou moins en SDL, et je n'ai pas réussi a afficher un sprites (animé ou non) sur une image de fond. Selon la méthode que j'empl la librairie SDL pour dev-c++? [ par mioche ] Bonjour,G trouver des sources interessantes concernant la librairie SDL, moins puissante mais beaucoup plus simple que directx.Cependant, je cherche t Lire un wav avec SDL [ par jayce2703 ] Salut tout le monde!Je n'en peux plus : Je n'arrive pas à trouver un exemple SIMPLE de lecture d'un fichier wav sous SDL. Que ce soit sur le site offi pb avec SDL [ par kuroro ] Alors voila , j'ai configurer Dev-C++ en mettant -lmingw32 -lSDLmain -lSDL dans l'esditeur de lien mais en voulant compiler le projet , il me met unde initialiser SDL [ par kuroro ] Alors voila , j'ai configurer Dev-C++ en mettant -lmingw32 -lSDLmain -lSDL dans l'esditeur de lien mais en voulant compiler le projet , il me met unde tut SDL_net [ par D1m3x ] Slt à tous,serait-ce possible de me dire où je peux trouver un tutorial sur la SDL_net, j'en ai un en anglais (la doc officiel) mais je ne suis pas en


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,718 sec (4)

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