From 2c7a3c31065205178837790d8e6a10fdabd087b4 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 20 Mar 2021 19:40:40 +0100 Subject: [PATCH] Created raylib enumerated types (markdown) --- raylib-enumerated-types.md | 105 +++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 raylib-enumerated-types.md diff --git a/raylib-enumerated-types.md b/raylib-enumerated-types.md new file mode 100644 index 0000000..e890e22 --- /dev/null +++ b/raylib-enumerated-types.md @@ -0,0 +1,105 @@ +raylib provides some enumerated types to be used in some functions. You probably noticed that despite being typedef, there is no function referring to those `enum` types, all related parameters are just defined as `int`. This is a design decision and the reason for that is because those enums just intend to be a way to organize similar values definition, I use enums instead of plain defines. You can notice that because there is no enum intended to create variables of that type, just to be used as defined values. Maybe I review this decision decision in a future. + +Here it is the list with the provided enums and the functions intended to use them. + + +[`enum ConfigFlags`](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L480) +```c + SetConfigFlags(unsigned int flags); + SetWindowState(unsigned int flags); +``` +[`enum TraceLogLevel](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L498) +```c + TraceLog(int logLevel, const char *text, ...); + SetTraceLogLevel(int logLevel); +``` +[`enum KeyboardKey](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L512) +```c + IsKeyPressed(int key); + IsKeyDown(int key); + IsKeyReleased(int key); + IsKeyUp(int key); + SetExitKey(int key); + //GetKeyPressed(void); +``` +[`enum MouseButton](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L632) +```c + IsMouseButtonPressed(int button); + IsMouseButtonDown(int button); + IsMouseButtonReleased(int button); + IsMouseButtonUp(int button); +``` +[`enum MouseCursor](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L639) +```c + SetMouseCursor(int cursor); +``` +[`enum GamepadButton](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L654) +```c + IsGamepadButtonPressed(int gamepad, int button); + IsGamepadButtonDown(int gamepad, int button); + IsGamepadButtonReleased(int gamepad, int button); + IsGamepadButtonUp(int gamepad, int button); + //GetGamepadButtonPressed(void); +``` +[`enum GamepadAxis](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L690) +```c + GetGamepadAxisMovement(int gamepad, int axis); +``` +[`enum ShaderLocationIndex](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L705) +[`enum ShaderUniformDataType](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L737) +```c + SetShaderValue(Shader shader, int locIndex, const void *value, int uniformType); + SetShaderValueV(Shader shader, int locIndex, const void *value, int uniformType, int count); + SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat); + SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture); +``` +[`enum MaterialMapIndex](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L750) +```c + struct Material.maps[index] +``` +[`enum PixelFormat](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L769) +```c + struct Image.format + struct Texture.format + LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize); + ImageFormat(Image *image, int newFormat); +``` +[`enum TextureFilter](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L796) +```c + SetTextureFilter(Texture2D texture, int filter); +``` +[`enum TextureWrap](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L806) +```c + SetTextureWrap(Texture2D texture, int wrap); +``` +[`enum CubemapLayout](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L814) +```c + LoadTextureCubemap(Image image, int layout); +``` +[`enum FontType](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L824) +```c + LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount, int type); +``` +[`enum BlendMode](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L831) +```c + BeginBlendMode(int mode); +``` +[`enum Gestures](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L842) +```c + SetGesturesEnabled(unsigned int flags); + IsGestureDetected(int gesture); + //GetGestureDetected(void); +``` +[`enum CameraMode](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L857) +```c + SetCameraMode(Camera camera, int mode); +``` +[`enum CameraProjection](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L866) +```c + struct Camera3D.projection +``` +[`enum NPatchLayout](https://github.com/raysan5/raylib/blob/master/src/raylib.h#L872) + struct nPatchInfo.layout +``` + +I hope this list could be helpful! \ No newline at end of file