Page principale | Liste alphabétique | Structures de données | Liste des fichiers | Champs de donnée | Portée globale | Pages associées

Référence de la classe MVirtuel

#include <GUIMVirtuel.h>


Fonctions membres publiques

 MVirtuel (int iColor=COLOR_FW)
 ~MVirtuel ()
int SetColor (int iPosX, int iPosY, int iColor, int iLength=1)
int Write (int iPosX, int iPosY, char *pData, int iColor=0)
int Write (int iPosX, int iPosY, int iData, int iColor=0)
int Write (int iPosX, int iPosY, float fData, int iColor=0)
BOOL Print ()
BOOL Copy (MVirtuel *Source)
void SetColorFond (WORD Color)
void SetColorFenetre (WORD Color)
void SetColorCadre (WORD Color)
void SetColorText (WORD Color)
int GetColorFond ()
int GetColorFenetre ()
int GetColorCadre ()
int GetColorText ()
int Saisie (char *pTitre, char *cText, int iPosX, int iPosY, int iSizeText, int iMaxX, int iMaxY)
int Saisie (char *pTitre, float *fFloat, int iPosX, int iPosY, int iMaxX, int iMaxY)
int Saisie (char *pTitre, int *iInt, int iPosX, int iPosY, int iMaxX, int iMaxY)
void Fenetre (char *Text, int SizeX, int SizeY, int Pause=0)
void Cadre (int PosX, int PosY, int MaxX, int MaxY, char *Titre, char *Aide)

Attributs publics statiques

MUTEX MutexEcran = MutexInit(&DBMutex)

Attributs privés

int ColorFond
int ColorFenetre
int ColorCadre
int ColorText


Documentation des contructeurs et destructeur

MVirtuel::MVirtuel int  iColor = COLOR_FW  ) 
 

Définition à la ligne 16 du fichier GUIMVirtuel.cpp.

00017 {
00018 #ifdef WIN32
00019     Buffer = CreateConsoleScreenBuffer(
00020         GENERIC_READ|GENERIC_WRITE,
00021         NULL,
00022         NULL,
00023         CONSOLE_TEXTMODE_BUFFER,
00024         NULL
00025     );
00026 #else
00027 
00028 #endif
00029 
00030     for(int i = 1; i < NBL;i++)
00031         SetColor(1, i, iColor, NBC);
00032 
00033     ColorFond       = iColor;
00034     ColorFenetre    = COLOR_FG|ColorFond;
00035     ColorCadre      = COLOR_FR|ColorFond;
00036     ColorText       = COLOR_FW|ColorFond;
00037 }

MVirtuel::~MVirtuel  ) 
 

Définition à la ligne 39 du fichier GUIMVirtuel.cpp.

00040 {
00041     CloseHandle(hBuffer);
00042 }


Documentation des fonctions membres

void MVirtuel::Cadre int  PosX,
int  PosY,
int  MaxX,
int  MaxY,
char *  Titre,
char *  Aide
 

Définition à la ligne 551 du fichier GUIMVirtuel.cpp.

00552 {
00553     int Tx, Ty;
00554     char CAR;
00555 
00556     for(Ty = PosY; Ty < MaxY; Ty++)
00557         for(Tx = PosX; Tx < MaxX; Tx++)
00558             Write(Tx, Ty, " ", GetColorFond());
00559 
00560     for(Ty = PosY; Ty < MaxY-1; Ty++)
00561     {
00562         Write(PosX, Ty, Car[9], GetColorCadre()|GetColorFond());
00563         Write(MaxX-1, Ty, Car[9], GetColorCadre()|GetColorFond());
00564     }
00565     for(Tx = PosX; Tx < MaxX-1; Tx++)
00566     {
00567         Write(Tx, PosY, Car[8], GetColorCadre());
00568         Write(Tx, PosY+2, Car[8], GetColorCadre());
00569         Write(Tx, MaxY-1, Car[8], GetColorCadre());
00570     }
00571     Write(PosX, PosY, Car[0], GetColorCadre());
00572     Write(MaxX-1, PosY, Car[1], GetColorCadre());
00573     Write(PosX, MaxY-1, Car[2], GetColorCadre());
00574     Write(MaxX-1, MaxY-1, Car[3], GetColorCadre());
00575     Write(PosX, PosY+2, Car[4], GetColorCadre());
00576     Write(MaxX-1, PosY+2, Car[5], GetColorCadre());
00577 
00578     Write(PosX+((MaxX-PosX-strlen(Titre))/2), PosY+1, Titre);
00579 
00580     Write(PosX+2, MaxY-1, Aide);
00581 }

BOOL MVirtuel::Copy MVirtuel Source  ) 
 

Définition à la ligne 155 du fichier GUIMVirtuel.cpp.

00156 {
00157     COORD       dwBufferCoord;
00158     COORD       dwBufferSize;
00159     CHAR_INFO   Buffer[NBL*NBC];
00160     SMALL_RECT  Zone;
00161 
00162     wColorFond      = Source->GetColorFond();
00163     wColorFenetre   = Source->GetColorFenetre();
00164     wColorCadre     = Source->GetColorCadre();
00165     wColorText      = Source->GetColorText();
00166 
00167     dwBufferCoord.X = 0;
00168     dwBufferCoord.Y = 0;
00169     dwBufferSize.X = NBC;
00170     dwBufferSize.Y = NBL;
00171     Zone.Left = 0;
00172     Zone.Top = 0;
00173     Zone.Right = NBC-1;
00174     Zone.Bottom = NBL-1;
00175 
00176     ReadConsoleOutput(
00177         Source->hBuffer,
00178         Buffer,
00179         dwBufferSize,
00180         dwBufferCoord,
00181         &Zone
00182     );
00183 
00184     WaitForSingleObject(hMutexEcran, INFINITE);
00185     WriteConsoleOutput(
00186         hBuffer,
00187         Buffer,
00188         dwBufferSize,
00189         dwBufferCoord,
00190         &Zone
00191     );
00192     return ReleaseMutex(hMutexEcran);
00193 }

void MVirtuel::Fenetre char *  Text,
int  SizeX,
int  SizeY,
int  Pause = 0
 

Définition à la ligne 505 du fichier GUIMVirtuel.cpp.

00506 {
00507     int     NbCar = strlen(Text);
00508     int     x, y;
00509     char    CAR;
00510     MVirtuel Temp;
00511     int     CoinX1 = (NBC-SizeX)/2, CoinY1 = (NBL-SizeY)/2;
00512     int     CoinX2 = CoinX1+SizeX , CoinY2 = CoinY1+SizeY ;
00513 
00514     Temp.Copy(this);
00515 
00516     for(y = CoinY1; y < CoinY2; y++)
00517         for(x = CoinX1; x < CoinX2; x++)
00518             Temp.Write(x, y, " ", GetColorFond());
00519 
00520     for(x = CoinX1; x < CoinX2; x++)
00521     {
00522         Temp.Write(x, CoinY1, Car[8], GetColorFenetre());
00523         Temp.Write(x, CoinY2, Car[8], GetColorFenetre());
00524     }
00525     for(y = CoinY1; y < CoinY2; y++)
00526     {
00527         Temp.Write(CoinX1, y, Car[9], GetColorFenetre());
00528         Temp.Write(CoinX2, y, Car[9], GetColorFenetre());
00529     }
00530 
00531     Temp.Write(CoinX1, CoinY1, Car[0], GetColorFenetre());
00532     Temp.Write(CoinX2, CoinY1, Car[1], GetColorFenetre());
00533     Temp.Write(CoinX1, CoinY2, Car[2], GetColorFenetre());
00534     Temp.Write(CoinX2, CoinY2, Car[3], GetColorFenetre());
00535 
00536     Temp.Write(CoinX1+2, CoinY1+2, Text);
00537 
00538     Temp.Print();
00539 
00540     if(!Pause)
00541     {
00542         PAUSE;
00543     }
00544     else
00545     {
00546         clock_t Start = clock();
00547         while(clock() <= (Start + Pause));
00548     }
00549 }

int MVirtuel::GetColorCadre  )  [inline]
 

Définition à la ligne 83 du fichier GUIMVirtuel.h.

00084     {
00085         return ColorCadre;
00086     };

int MVirtuel::GetColorFenetre  )  [inline]
 

Définition à la ligne 78 du fichier GUIMVirtuel.h.

00079     {
00080         return ColorFenetre;
00081     };

int MVirtuel::GetColorFond  )  [inline]
 

Définition à la ligne 73 du fichier GUIMVirtuel.h.

00074     {
00075         return ColorFond;
00076     };

int MVirtuel::GetColorText  )  [inline]
 

Définition à la ligne 88 du fichier GUIMVirtuel.h.

00089     {
00090         return ColorText;
00091     };

BOOL MVirtuel::Print  ) 
 

Définition à la ligne 148 du fichier GUIMVirtuel.cpp.

00149 {
00150     return SetConsoleActiveScreenBuffer(
00151         hBuffer
00152     );
00153 }

int MVirtuel::Saisie char *  pTitre,
int *  iInt,
int  iPosX,
int  iPosY,
int  iMaxX,
int  iMaxY
 

int MVirtuel::Saisie char *  pTitre,
float *  fFloat,
int  iPosX,
int  iPosY,
int  iMaxX,
int  iMaxY
 

int MVirtuel::Saisie char *  pTitre,
char *  cText,
int  iPosX,
int  iPosY,
int  iSizeText,
int  iMaxX,
int  iMaxY
 

int MVirtuel::SetColor int  iPosX,
int  iPosY,
int  iColor,
int  iLength = 1
 

Définition à la ligne 44 du fichier GUIMVirtuel.cpp.

00045 {
00046     int     *Data;
00047     COORD   Pos;
00048     int     i = 0;
00049     Pos.X = PosX;
00050     Pos.Y = PosY;
00051 
00052     Data = new WORD[Length];
00053     for(i; i < Length; Data[i++] = Color);
00054 
00055     MutexLock(&MutexEcran);
00056 
00057     WriteConsoleOutputAttribute(
00058         hBuffer,
00059         Data,
00060         Length,
00061         Pos,
00062         (LPDWORD)Length
00063     );
00064     return ReleaseMutex(hMutexEcran);
00065 }

void MVirtuel::SetColorCadre WORD  Color  )  [inline]
 

Définition à la ligne 63 du fichier GUIMVirtuel.h.

00064     {
00065         ColorCadre = Color;
00066     };

void MVirtuel::SetColorFenetre WORD  Color  )  [inline]
 

Définition à la ligne 58 du fichier GUIMVirtuel.h.

00059     {
00060         ColorFenetre = Color;
00061     };

void MVirtuel::SetColorFond WORD  Color  )  [inline]
 

Définition à la ligne 53 du fichier GUIMVirtuel.h.

00054     {
00055         ColorFond = Color;
00056     };

void MVirtuel::SetColorText WORD  Color  )  [inline]
 

Définition à la ligne 68 du fichier GUIMVirtuel.h.

00069     {
00070         ColorText = Color;
00071     };

int MVirtuel::Write int  iPosX,
int  iPosY,
float  fData,
int  iColor = 0
 

int MVirtuel::Write int  iPosX,
int  iPosY,
int  iData,
int  iColor = 0
 

int MVirtuel::Write int  iPosX,
int  iPosY,
char *  pData,
int  iColor = 0
 


Documentation des champs

int MVirtuel::ColorCadre [private]
 

Définition à la ligne 28 du fichier GUIMVirtuel.h.

int MVirtuel::ColorFenetre [private]
 

Définition à la ligne 27 du fichier GUIMVirtuel.h.

int MVirtuel::ColorFond [private]
 

Définition à la ligne 26 du fichier GUIMVirtuel.h.

int MVirtuel::ColorText [private]
 

Définition à la ligne 29 du fichier GUIMVirtuel.h.

MUTEX MVirtuel::MutexEcran = MutexInit(&DBMutex) [static]
 

Définition à la ligne 14 du fichier GUIMVirtuel.cpp.


La documentation de cette classe a été générée à partir des fichiers suivants:
Généré le Sat Aug 27 11:49:26 2005 pour Ressource par  doxygen 1.3.9.1