1
0
mirror of https://gitlab.com/klmp200/LO27.git synced 2024-11-29 22:04:13 +00:00
LO27/LibGui/gui.h

78 lines
1.5 KiB
C
Raw Normal View History

#ifndef PIXEL_H_INCLUDED
#define PIXEL_H_INCLUDED
#include <SDL2/SDL.h>
2016-12-28 22:26:58 +00:00
#include <CellElement.h>
2016-12-28 20:39:42 +00:00
#include <matrix.h>
typedef struct {
2016-12-28 20:39:42 +00:00
SDL_Window * window;
SDL_Renderer * renderer;
int WIDTH;
int HEIGHT;
SDL_Event event;
} SCREEN;
2016-12-28 20:39:42 +00:00
/**
* Set a pixel on a given screen
* @param screen the screen to display the pixel
* @param x x position
* @param y y position
* @param value display white if true and black if false
* @return
*/
void SetPixel(SDL_Renderer *renderer, int x, int y, bool value);
/**
* Display an entire matrix on a given screen
* @param screen the screen where the matrix should be displayed
* @param m a Matrix
* @return
*/
void DisplayMatrixSDL(SCREEN *screen, Matrix m);
2016-12-28 22:59:43 +00:00
/**
* Wait until the user press the enter key
* @param screen the screen where the renderer is
* @return
*/
void WaitUntilEnter(SCREEN * screen);
/**
* Print a matrix in a new SDL window
* @param Matrix the matrix to display
* @return int error code
*/
int NewWindowFromMatrix(Matrix m);
/**
* Display a message and ask for yes or no to the user
* @param message the message to display
* @return bool the answer
*/
bool YesOrNo(char message[]);
/**
* Display matrix choosing the right function
* @param m a Matrix
* @param useSDL a bool
* @return
*/
void DisplayMatrixGUI(Matrix m, bool useSDL);
/**
* Get a number from the user safely
* @param min the minimal authorized number
* @param max the maximal authorized number
* @return int the input number
*/
int SafeNumberInput(int min, int max);
/**
* Clears the buffer of stdin
* @return
*/
void ClearBuffer();
#endif