Fenêtre du type windows en opengl

Description

Pour créé facilement des fenêtre en OpenGl et y ajouter des contrôles comme dans Windows.

C’est bien pratique d’avoir de fenêtre en OpenGL pour la configuration de jeu par exemple.
Avec quelques commande c’est simple…

Source / Exemple :


Vous créé un objet _HUD et (ex : _HUD HUD ;):

//=========================Création=======================

HUD.Inis(char* BMP,bool font);    Pour initialiser le tout 
(ex :HUD.Inis("hui.bmp",true);)

HUD::AddWindows(char *Caption,char *Name,_iPoint2D Pos,_iPoint2D Tail,bool CloseB,bool RedB,float Blend);
Pour ajouter une fenêtre
Caption : Titre
Name : Nom (pour ensuite l’appeler)
Pos : Position
Tail : Taille
CloseB : Si il y a un le bouton fermée
RedB: Si il y a un le bouton réduire
Blend: Transparence (1 non, 0.5 oui)
Exemple :
HUD.AddWindows("Fenetre1","Win1",Point2D(100,100),Point2D(300,200),false,true,1.0f);

HUD::AddObjetToWindows(char *wName,char *Caption,char *Name,_iPoint2D Pos,_iPoint2D Tail,int type,void(*OnClick)());
Ajouter un objet à une fenêtre
WName : Nom de la fenètre
Caption : Nom de l’objet a ajouter
Pos : Position
Tail : Taille
Type : Type (TYPE_LABEL, TYPE_BUTTON, TYPE_TEXT)
OnClick : Fonction appelée quand on clique dessus ou le modifie (peu être NULL)
Exemple :
HUD.AddObjetToWindows("Win1","Boutton 1","Button1",Point2D(50,50),Point2D(60,20),TYPE_BUTTON,ClickButton);

//=========================Mise en oeuvre=============

HUD.Draw();
A mettre dans la boucle d’affichage (Afficher les fenêtre).

HUD.SetHUDSize(width,height);
Pour redimensionner la taille de l’écran (a mettre dans le Reshape)

HUD.MouseMove(x,y);
A appeler quand la souris bouge ;

HUD.MouseClick(button,state,x,y);
A appeler quand on clique;

HUD.Key(key);
A appeler quand appuie sur une touche du clavier;

//=========================Modification=============

HUD::SetObjetCaption(char* Win,char* Objet,char* Caption)
Change le titre d’un control
Exemple :
HUD.SetObjetCaption("Win1","Label1","Click 1");

HUD::SetWindowsCaption(char* Win,char* Caption);
Change le titre d’une fenêtre
Exemple :
HUD. SetWindowsCaption ("Win1”,”Fenetre 1”);

HUD::GetObjetCaption(char* Win,char* Objet,char* Caption)
Regarde le titre d’un control et le met dans Caption
Exemple :
char tText[255];
HUD.GetObjetCaption("Win1","Text1",tText);

HUD::KillWindow(char* Win);
Pour fermer une fenêtre
Exemple :
HUD.KillWindow("Win1");

HUD::ReduceWindow(char* Win);
Pour reduire une fenêtre
Exemple :
HUD. ReduceWindow ("Win1");

HUD:: ExpendWindow (char* Win);
Pour agrandire une fenêtre
Exemple :
HUD. ExpendWindow ("Win1");

HUD::SetWindowPos(char* Win,int x, int y);
Pour changer la position d’une fenêtre
HUD. SetWindowPos(“Win1”,10,10);

_HUD::SetWindowBlend(char* Win,float Blend);
Pour modifier la transparente d’une fenêtre
HUD. SetWindowBlend”Win1”,0.5);

//=============================================

Conclusion :


Voila.
Cette librairie débute, j’essaierai de la mettre a jour souvent.

Vous avez le Zip pour clarifier le tout

Merci a Senos2013 pour d’idée.

Si vous avez des commentaire voir des amélioration n’hésitez pas.

Un peu de pub :-)
Achoum
www.achoum.fr.st

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.