Advertisement
drwharris

Untitled

Sep 2nd, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 15.87 KB | None | 0 0
  1. using System;
  2. using System.Runtime.InteropServices;
  3. using System.Security;
  4.  
  5. namespace Raylib
  6. {
  7.     public enum ConfigFlag
  8.     {
  9.         FLAG_SHOW_LOGO = 1,
  10.         FLAG_FULLSCREEN_MODE = 2,
  11.         FLAG_WINDOW_RESIZABLE = 4,
  12.         FLAG_WINDOW_UNDECORATED = 8,
  13.         FLAG_WINDOW_TRANSPARENT = 16,
  14.         FLAG_WINDOW_HIDDEN = 128,
  15.         FLAG_MSAA_4X_HINT = 32,
  16.         FLAG_VSYNC_HINT = 64
  17.     }
  18.  
  19.     public enum TraceLogType
  20.     {
  21.         LOG_ALL = 0,
  22.         LOG_TRACE,
  23.         LOG_DEBUG,
  24.         LOG_INFO,
  25.         LOG_WARNING,
  26.         LOG_ERROR,
  27.         LOG_FATAL,
  28.         LOG_NONE
  29.     }
  30.  
  31.     public enum KeyboardKey
  32.     {
  33.         KEY_APOSTROPHE = 39,
  34.         KEY_COMMA = 44,
  35.         KEY_MINUS = 45,
  36.         KEY_PERIOD = 46,
  37.         KEY_SLASH = 47,
  38.         KEY_ZERO = 48,
  39.         KEY_ONE = 49,
  40.         KEY_TWO = 50,
  41.         KEY_THREE = 51,
  42.         KEY_FOUR = 52,
  43.         KEY_FIVE = 53,
  44.         KEY_SIX = 54,
  45.         KEY_SEVEN = 55,
  46.         KEY_EIGHT = 56,
  47.         KEY_NINE = 57,
  48.         KEY_SEMICOLON = 59,
  49.         KEY_EQUAL = 61,
  50.         KEY_A = 65,
  51.         KEY_B = 66,
  52.         KEY_C = 67,
  53.         KEY_D = 68,
  54.         KEY_E = 69,
  55.         KEY_F = 70,
  56.         KEY_G = 71,
  57.         KEY_H = 72,
  58.         KEY_I = 73,
  59.         KEY_J = 74,
  60.         KEY_K = 75,
  61.         KEY_L = 76,
  62.         KEY_M = 77,
  63.         KEY_N = 78,
  64.         KEY_O = 79,
  65.         KEY_P = 80,
  66.         KEY_Q = 81,
  67.         KEY_R = 82,
  68.         KEY_S = 83,
  69.         KEY_T = 84,
  70.         KEY_U = 85,
  71.         KEY_V = 86,
  72.         KEY_W = 87,
  73.         KEY_X = 88,
  74.         KEY_Y = 89,
  75.         KEY_Z = 90,
  76.         KEY_SPACE = 32,
  77.         KEY_ESCAPE = 256,
  78.         KEY_ENTER = 257,
  79.         KEY_TAB = 258,
  80.         KEY_BACKSPACE = 259,
  81.         KEY_INSERT = 260,
  82.         KEY_DELETE = 261,
  83.         KEY_RIGHT = 262,
  84.         KEY_LEFT = 263,
  85.         KEY_DOWN = 264,
  86.         KEY_UP = 265,
  87.         KEY_PAGE_UP = 266,
  88.         KEY_PAGE_DOWN = 267,
  89.         KEY_HOME = 268,
  90.         KEY_END = 269,
  91.         KEY_CAPS_LOCK = 280,
  92.         KEY_SCROLL_LOCK = 281,
  93.         KEY_NUM_LOCK = 282,
  94.         KEY_PRINT_SCREEN = 283,
  95.         KEY_PAUSE = 284,
  96.         KEY_F1 = 290,
  97.         KEY_F2 = 291,
  98.         KEY_F3 = 292,
  99.         KEY_F4 = 293,
  100.         KEY_F5 = 294,
  101.         KEY_F6 = 295,
  102.         KEY_F7 = 296,
  103.         KEY_F8 = 297,
  104.         KEY_F9 = 298,
  105.         KEY_F10 = 299,
  106.         KEY_F11 = 300,
  107.         KEY_F12 = 301,
  108.         KEY_LEFT_SHIFT = 340,
  109.         KEY_LEFT_CONTROL = 341,
  110.         KEY_LEFT_ALT = 342,
  111.         KEY_LEFT_SUPER = 343,
  112.         KEY_RIGHT_SHIFT = 344,
  113.         KEY_RIGHT_CONTROL = 345,
  114.         KEY_RIGHT_ALT = 346,
  115.         KEY_RIGHT_SUPER = 347,
  116.         KEY_KB_MENU = 348,
  117.         KEY_LEFT_BRACKET = 91,
  118.         KEY_BACKSLASH = 92,
  119.         KEY_RIGHT_BRACKET = 93,
  120.         KEY_GRAVE = 96,
  121.         KEY_KP_0 = 320,
  122.         KEY_KP_1 = 321,
  123.         KEY_KP_2 = 322,
  124.         KEY_KP_3 = 323,
  125.         KEY_KP_4 = 324,
  126.         KEY_KP_5 = 325,
  127.         KEY_KP_6 = 326,
  128.         KEY_KP_7 = 327,
  129.         KEY_KP_8 = 328,
  130.         KEY_KP_9 = 329,
  131.         KEY_KP_DECIMAL = 330,
  132.         KEY_KP_DIVIDE = 331,
  133.         KEY_KP_MULTIPLY = 332,
  134.         KEY_KP_SUBTRACT = 333,
  135.         KEY_KP_ADD = 334,
  136.         KEY_KP_ENTER = 335,
  137.         KEY_KP_EQUAL = 336
  138.     }
  139.  
  140.     public enum AndroidButton
  141.     {
  142.         KEY_BACK = 4,
  143.         KEY_MENU = 82,
  144.         KEY_VOLUME_UP = 24,
  145.         KEY_VOLUME_DOWN = 25
  146.     }
  147.  
  148.     public enum MouseButton
  149.     {
  150.         MOUSE_LEFT_BUTTON = 0,
  151.         MOUSE_RIGHT_BUTTON = 1,
  152.         MOUSE_MIDDLE_BUTTON = 2
  153.     }
  154.  
  155.     public enum GamepadNumber
  156.     {
  157.         GAMEPAD_PLAYER1 = 0,
  158.         GAMEPAD_PLAYER2 = 1,
  159.         GAMEPAD_PLAYER3 = 2,
  160.         GAMEPAD_PLAYER4 = 3
  161.     }
  162.  
  163.     public enum GamepadButton
  164.     {
  165.         GAMEPAD_BUTTON_UNKNOWN = 0,
  166.         GAMEPAD_BUTTON_LEFT_FACE_UP,
  167.         GAMEPAD_BUTTON_LEFT_FACE_RIGHT,
  168.         GAMEPAD_BUTTON_LEFT_FACE_DOWN,
  169.         GAMEPAD_BUTTON_LEFT_FACE_LEFT,
  170.         GAMEPAD_BUTTON_RIGHT_FACE_UP,
  171.         GAMEPAD_BUTTON_RIGHT_FACE_RIGHT,
  172.         GAMEPAD_BUTTON_RIGHT_FACE_DOWN,
  173.         GAMEPAD_BUTTON_RIGHT_FACE_LEFT,
  174.         GAMEPAD_BUTTON_LEFT_TRIGGER_1,
  175.         GAMEPAD_BUTTON_LEFT_TRIGGER_2,
  176.         GAMEPAD_BUTTON_RIGHT_TRIGGER_1,
  177.         GAMEPAD_BUTTON_RIGHT_TRIGGER_2,
  178.         GAMEPAD_BUTTON_MIDDLE_LEFT,
  179.         GAMEPAD_BUTTON_MIDDLE,
  180.         GAMEPAD_BUTTON_MIDDLE_RIGHT,
  181.         GAMEPAD_BUTTON_LEFT_THUMB,
  182.         GAMEPAD_BUTTON_RIGHT_THUMB
  183.     }
  184.  
  185.     public enum GamepadAxis
  186.     {
  187.         GAMEPAD_AXIS_UNKNOWN = 0,
  188.         GAMEPAD_AXIS_LEFT_X,
  189.         GAMEPAD_AXIS_LEFT_Y,
  190.         GAMEPAD_AXIS_RIGHT_X,
  191.         GAMEPAD_AXIS_RIGHT_Y,
  192.         GAMEPAD_AXIS_LEFT_TRIGGER,
  193.         GAMEPAD_AXIS_RIGHT_TRIGGER
  194.     }
  195.  
  196.     public enum ShaderLocationIndex
  197.     {
  198.         LOC_VERTEX_POSITION = 0,
  199.         LOC_VERTEX_TEXCOORD01,
  200.         LOC_VERTEX_TEXCOORD02,
  201.         LOC_VERTEX_NORMAL,
  202.         LOC_VERTEX_TANGENT,
  203.         LOC_VERTEX_COLOR,
  204.         LOC_MATRIX_MVP,
  205.         LOC_MATRIX_MODEL,
  206.         LOC_MATRIX_VIEW,
  207.         LOC_MATRIX_PROJECTION,
  208.         LOC_VECTOR_VIEW,
  209.         LOC_COLOR_DIFFUSE,
  210.         LOC_COLOR_SPECULAR,
  211.         LOC_COLOR_AMBIENT,
  212.         LOC_MAP_ALBEDO,
  213.         LOC_MAP_METALNESS,
  214.         LOC_MAP_NORMAL,
  215.         LOC_MAP_ROUGHNESS,
  216.         LOC_MAP_OCCLUSION,
  217.         LOC_MAP_EMISSION,
  218.         LOC_MAP_HEIGHT,
  219.         LOC_MAP_CUBEMAP,
  220.         LOC_MAP_IRRADIANCE,
  221.         LOC_MAP_PREFILTER,
  222.         LOC_MAP_BRDF
  223.     }
  224.  
  225.     public enum ShaderUniformDataType
  226.     {
  227.         UNIFORM_FLOAT = 0,
  228.         UNIFORM_VEC2,
  229.         UNIFORM_VEC3,
  230.         UNIFORM_VEC4,
  231.         UNIFORM_INT,
  232.         UNIFORM_IVEC2,
  233.         UNIFORM_IVEC3,
  234.         UNIFORM_IVEC4,
  235.         UNIFORM_SAMPLER2D
  236.     }
  237.  
  238.     public enum MaterialMapType
  239.     {
  240.         MAP_ALBEDO = 0,
  241.         MAP_METALNESS = 1,
  242.         MAP_NORMAL = 2,
  243.         MAP_ROUGHNESS = 3,
  244.         MAP_OCCLUSION,
  245.         MAP_EMISSION,
  246.         MAP_HEIGHT,
  247.         MAP_CUBEMAP,
  248.         MAP_IRRADIANCE,
  249.         MAP_PREFILTER,
  250.         MAP_BRDF
  251.     }
  252.  
  253.     public enum PixelFormat
  254.     {
  255.         UNCOMPRESSED_GRAYSCALE = 1,
  256.         UNCOMPRESSED_GRAY_ALPHA,
  257.         UNCOMPRESSED_R5G6B5,
  258.         UNCOMPRESSED_R8G8B8,
  259.         UNCOMPRESSED_R5G5B5A1,
  260.         UNCOMPRESSED_R4G4B4A4,
  261.         UNCOMPRESSED_R8G8B8A8,
  262.         UNCOMPRESSED_R32,
  263.         UNCOMPRESSED_R32G32B32,
  264.         UNCOMPRESSED_R32G32B32A32,
  265.         COMPRESSED_DXT1_RGB,
  266.         COMPRESSED_DXT1_RGBA,
  267.         COMPRESSED_DXT3_RGBA,
  268.         COMPRESSED_DXT5_RGBA,
  269.         COMPRESSED_ETC1_RGB,
  270.         COMPRESSED_ETC2_RGB,
  271.         COMPRESSED_ETC2_EAC_RGBA,
  272.         COMPRESSED_PVRT_RGB,
  273.         COMPRESSED_PVRT_RGBA,
  274.         COMPRESSED_ASTC_4x4_RGBA,
  275.         COMPRESSED_ASTC_8x8_RGBA
  276.     }
  277.  
  278.     public enum TextureFilterMode
  279.     {
  280.         FILTER_POINT = 0,
  281.         FILTER_BILINEAR,
  282.         FILTER_TRILINEAR,
  283.         FILTER_ANISOTROPIC_4X,
  284.         FILTER_ANISOTROPIC_8X,
  285.         FILTER_ANISOTROPIC_16X
  286.     }
  287.  
  288.     public enum CubemapLayoutType
  289.     {
  290.         CUBEMAP_AUTO_DETECT = 0,
  291.         CUBEMAP_LINE_VERTICAL,
  292.         CUBEMAP_LINE_HORIZONTAL,
  293.         CUBEMAP_CROSS_THREE_BY_FOUR,
  294.         CUBEMAP_CROSS_FOUR_BY_THREE,
  295.         CUBEMAP_PANORAMA
  296.     }
  297.  
  298.     public enum TextureWrapMode
  299.     {
  300.         WRAP_REPEAT = 0,
  301.         WRAP_CLAMP,
  302.         WRAP_MIRROR_REPEAT,
  303.         WRAP_MIRROR_CLAMP
  304.     }
  305.  
  306.     public enum FontType
  307.     {
  308.         FONT_DEFAULT = 0,
  309.         FONT_BITMAP,
  310.         FONT_SDF
  311.     }
  312.  
  313.     public enum BlendMode
  314.     {
  315.         BLEND_ALPHA = 0,
  316.         BLEND_ADDITIVE,
  317.         BLEND_MULTIPLIED
  318.     }
  319.  
  320.     public enum GestureType
  321.     {
  322.         GESTURE_NONE = 0,
  323.         GESTURE_TAP = 1,
  324.         GESTURE_DOUBLETAP = 2,
  325.         GESTURE_HOLD = 4,
  326.         GESTURE_DRAG = 8,
  327.         GESTURE_SWIPE_RIGHT = 16,
  328.         GESTURE_SWIPE_LEFT = 32,
  329.         GESTURE_SWIPE_UP = 64,
  330.         GESTURE_SWIPE_DOWN = 128,
  331.         GESTURE_PINCH_IN = 256,
  332.         GESTURE_PINCH_OUT = 512
  333.     }
  334.  
  335.     public enum CameraMode
  336.     {
  337.         CAMERA_CUSTOM = 0,
  338.         CAMERA_FREE,
  339.         CAMERA_ORBITAL,
  340.         CAMERA_FIRST_PERSON,
  341.         CAMERA_THIRD_PERSON
  342.     }
  343.  
  344.     public enum CameraType
  345.     {
  346.         CAMERA_PERSPECTIVE = 0,
  347.         CAMERA_ORTHOGRAPHIC
  348.     }
  349.  
  350.     public enum NPatchType
  351.     {
  352.         NPT_9PATCH = 0,
  353.         NPT_3PATCH_VERTICAL,
  354.         NPT_3PATCH_HORIZONTAL
  355.     }
  356.  
  357.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  358.     public partial struct Vector2
  359.     {
  360.         public float x;
  361.         public float y;
  362.     }
  363.  
  364.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  365.     public partial struct Vector3
  366.     {
  367.         public float x;
  368.         public float y;
  369.         public float z;
  370.     }
  371.  
  372.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  373.     public partial struct Vector4
  374.     {
  375.         public float x;
  376.         public float y;
  377.         public float z;
  378.         public float w;
  379.     }
  380.  
  381.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  382.     public partial struct Matrix
  383.     {
  384.         public float m0, m4, m8, m12;
  385.         public float m1, m5, m9, m13;
  386.         public float m2, m6, m10, m14;
  387.         public float m3, m7, m11, m15;
  388.     }
  389.  
  390.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  391.     public partial struct Color
  392.     {
  393.         public byte r;
  394.         public byte g;
  395.         public byte b;
  396.         public byte a;
  397.     }
  398.  
  399.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  400.     public partial struct Rectangle
  401.     {
  402.         public float x;
  403.         public float y;
  404.         public float width;
  405.         public float height;
  406.     }
  407.  
  408.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  409.     public partial struct Image
  410.     {
  411.         public IntPtr data;
  412.         public int width;
  413.         public int height;
  414.         public int mipmaps;
  415.         public int format;
  416.     }
  417.  
  418.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  419.     public partial struct Texture2D
  420.     {
  421.         public uint id;
  422.         public int width;
  423.         public int height;
  424.         public int mipmaps;
  425.         public int format;
  426.     }
  427.  
  428.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  429.     public partial struct RenderTexture2D
  430.     {
  431.         public uint id;
  432.         public Texture2D texture;
  433.         public Texture2D depth;
  434.         public bool depthTexture;
  435.     }
  436.  
  437.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  438.     public partial struct NPatchInfo
  439.     {
  440.         public Rectangle sourceRec;
  441.         public int left;
  442.         public int top;
  443.         public int right;
  444.         public int bottom;
  445.         public int type;
  446.     }
  447.  
  448.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  449.     public partial struct CharInfo
  450.     {
  451.         public int value;
  452.         public Rectangle rec;
  453.         public int offsetX;
  454.         public int offsetY;
  455.         public int advanceX;
  456.         public IntPtr data;
  457.     }
  458.  
  459.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  460.     public partial struct Font
  461.     {
  462.         public Texture2D texture;
  463.         public int baseSize;
  464.         public int charsCount;
  465.         public CharInfo[] chars;
  466.     }
  467.  
  468.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  469.     public partial struct Camera3D
  470.     {
  471.         public Vector3 position;
  472.         public Vector3 target;
  473.         public Vector3 up;
  474.         public float fovy;
  475.         public int type;
  476.     }
  477.  
  478.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  479.     public partial struct Camera2D
  480.     {
  481.         public Vector2 offset;
  482.         public Vector2 target;
  483.         public float rotation;
  484.         public float zoom;
  485.     }
  486.  
  487.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  488.     public partial struct Mesh
  489.     {
  490.         public int vertexCount;
  491.         public int triangleCount;
  492.         public IntPtr vertices;
  493.         public IntPtr texcoords;
  494.         public IntPtr texcoords2;
  495.         public IntPtr normals;
  496.         public IntPtr tangents;
  497.         public IntPtr colors;
  498.         public IntPtr indices;
  499.         public IntPtr animVertices;
  500.         public IntPtr animNormals;
  501.         public IntPtr boneIds;
  502.         public IntPtr boneWeights;
  503.         public uint vaoId;
  504.         public uint vboId[7];
  505.     }
  506.  
  507.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  508.     public partial struct Shader
  509.     {
  510.         public uint id;
  511.         public int locs[MAX_SHADER_LOCATIONS];
  512.     }
  513.  
  514.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  515.     public partial struct MaterialMap
  516.     {
  517.         public Texture2D texture;
  518.         public Color color;
  519.         public float value;
  520.     }
  521.  
  522.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  523.     public partial struct Material
  524.     {
  525.         public Shader shader;
  526.         public MaterialMap maps[MAX_MATERIAL_MAPS];
  527.         public IntPtr params;
  528.     }
  529.  
  530.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  531.     public partial struct Transform
  532.     {
  533.         public Vector3 translation;
  534.         public Quaternion rotation;
  535.         public Vector3 scale;
  536.     }
  537.  
  538.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  539.     public partial struct BoneInfo
  540.     {
  541.         public char name[32];
  542.         public int parent;
  543.     }
  544.  
  545.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  546.     public partial struct Model
  547.     {
  548.         public Matrix transform;
  549.         public int meshCount;
  550.         public Mesh[] meshes;
  551.         public int materialCount;
  552.         public Material[] materials;
  553.         public IntPtr meshMaterial;
  554.         public int boneCount;
  555.         public BoneInfo[] bones;
  556.         public Transform[] bindPose;
  557.     }
  558.  
  559.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  560.     public partial struct ModelAnimation
  561.     {
  562.         public int boneCount;
  563.         public BoneInfo[] bones;
  564.         public int frameCount;
  565.         public Transform[][] framePoses;
  566.     }
  567.  
  568.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  569.     public partial struct Ray
  570.     {
  571.         public Vector3 position;
  572.         public Vector3 direction;
  573.     }
  574.  
  575.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  576.     public partial struct RayHitInfo
  577.     {
  578.         public bool hit;
  579.         public float distance;
  580.         public Vector3 position;
  581.         public Vector3 normal;
  582.     }
  583.  
  584.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  585.     public partial struct BoundingBox
  586.     {
  587.         public Vector3 min;
  588.         public Vector3 max;
  589.     }
  590.  
  591.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  592.     public partial struct Wave
  593.     {
  594.         public uint sampleCount;
  595.         public uint sampleRate;
  596.         public uint sampleSize;
  597.         public uint channels;
  598.         public IntPtr data;
  599.     }
  600.  
  601.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  602.     public partial struct Sound
  603.     {
  604.         public IntPtr audioBuffer;
  605.         public uint source;
  606.         public uint buffer;
  607.         public int format;
  608.     }
  609.  
  610.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  611.     public partial struct AudioStream
  612.     {
  613.         public uint sampleRate;
  614.         public uint sampleSize;
  615.         public uint channels;
  616.         public IntPtr audioBuffer;
  617.         public int format;
  618.         public uint source;
  619.         public uint buffers[2];
  620.     }
  621.  
  622.     [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  623.     public partial struct VrDeviceInfo
  624.     {
  625.         public int hResolution;
  626.         public int vResolution;
  627.         public float hScreenSize;
  628.         public float vScreenSize;
  629.         public float vScreenCenter;
  630.         public float eyeToScreenDistance;
  631.         public float lensSeparationDistance;
  632.         public float interpupillaryDistance;
  633.         public float lensDistortionValues[4];
  634.         public float chromaAbCorrection[4];
  635.     }
  636. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement