mirror of
https://gitlab.com/klmp200/LO27.git
synced 2024-11-26 08:54:14 +00:00
78 lines
1.5 KiB
C
78 lines
1.5 KiB
C
#ifndef PIXEL_H_INCLUDED
|
|
#define PIXEL_H_INCLUDED
|
|
|
|
#include <SDL2/SDL.h>
|
|
#include <CellElement.h>
|
|
#include <matrix.h>
|
|
|
|
typedef struct {
|
|
SDL_Window * window;
|
|
SDL_Renderer * renderer;
|
|
int WIDTH;
|
|
int HEIGHT;
|
|
SDL_Event event;
|
|
} SCREEN;
|
|
|
|
/**
|
|
* 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);
|
|
|
|
/**
|
|
* 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
|