raylib 5.0.0.5__cp312-cp312-macosx_14_0_arm64.whl → 5.5.0.2__cp312-cp312-macosx_14_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of raylib might be problematic. Click here for more details.

raylib/__init__.pyi CHANGED
@@ -12,10 +12,10 @@ ARROWS_SIZE: int
12
12
  ARROWS_VISIBLE: int
13
13
  ARROW_PADDING: int
14
14
  def AttachAudioMixedProcessor(processor: Any,) -> None:
15
- """Attach audio stream processor to the entire audio pipeline, receives the samples as <float>s"""
15
+ """Attach audio stream processor to the entire audio pipeline, receives the samples as 'float'"""
16
16
  ...
17
17
  def AttachAudioStreamProcessor(stream: AudioStream|list|tuple,processor: Any,) -> None:
18
- """Attach audio stream processor to stream, receives the samples as <float>s"""
18
+ """Attach audio stream processor to stream, receives the samples as 'float'"""
19
19
  ...
20
20
  BACKGROUND_COLOR: int
21
21
  BASE_COLOR_DISABLED: int
@@ -79,7 +79,6 @@ CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE: int
79
79
  CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR: int
80
80
  CUBEMAP_LAYOUT_LINE_HORIZONTAL: int
81
81
  CUBEMAP_LAYOUT_LINE_VERTICAL: int
82
- CUBEMAP_LAYOUT_PANORAMA: int
83
82
  def ChangeDirectory(dir: bytes,) -> bool:
84
83
  """Change working directory, return true on success"""
85
84
  ...
@@ -89,6 +88,9 @@ def CheckCollisionBoxSphere(box: BoundingBox|list|tuple,center: Vector3|list|tup
89
88
  def CheckCollisionBoxes(box1: BoundingBox|list|tuple,box2: BoundingBox|list|tuple,) -> bool:
90
89
  """Check collision between two bounding boxes"""
91
90
  ...
91
+ def CheckCollisionCircleLine(center: Vector2|list|tuple,radius: float,p1: Vector2|list|tuple,p2: Vector2|list|tuple,) -> bool:
92
+ """Check if circle collides with a line created betweeen two points [p1] and [p2]"""
93
+ ...
92
94
  def CheckCollisionCircleRec(center: Vector2|list|tuple,radius: float,rec: Rectangle|list|tuple,) -> bool:
93
95
  """Check collision between circle and rectangle"""
94
96
  ...
@@ -158,6 +160,12 @@ def ColorFromHSV(hue: float,saturation: float,value: float,) -> Color:
158
160
  def ColorFromNormalized(normalized: Vector4|list|tuple,) -> Color:
159
161
  """Get Color from normalized values [0..1]"""
160
162
  ...
163
+ def ColorIsEqual(col1: Color|list|tuple,col2: Color|list|tuple,) -> bool:
164
+ """Check if two colors are equal"""
165
+ ...
166
+ def ColorLerp(color1: Color|list|tuple,color2: Color|list|tuple,factor: float,) -> Color:
167
+ """Get color lerp interpolation between two colors, factor [0.0f..1.0f]"""
168
+ ...
161
169
  def ColorNormalize(color: Color|list|tuple,) -> Vector4:
162
170
  """Get Color normalized as float [0..1]"""
163
171
  ...
@@ -168,11 +176,20 @@ def ColorToHSV(color: Color|list|tuple,) -> Vector3:
168
176
  """Get HSV values for a Color, hue [0..360], saturation/value [0..1]"""
169
177
  ...
170
178
  def ColorToInt(color: Color|list|tuple,) -> int:
171
- """Get hexadecimal value for a Color"""
179
+ """Get hexadecimal value for a Color (0xRRGGBBAA)"""
172
180
  ...
173
181
  def CompressData(data: bytes,dataSize: int,compDataSize: Any,) -> bytes:
174
182
  """Compress data (DEFLATE algorithm), memory must be MemFree()"""
175
183
  ...
184
+ def ComputeCRC32(data: bytes,dataSize: int,) -> int:
185
+ """Compute CRC32 hash code"""
186
+ ...
187
+ def ComputeMD5(data: bytes,dataSize: int,) -> Any:
188
+ """Compute MD5 hash code, returns static int[4] (16 bytes)"""
189
+ ...
190
+ def ComputeSHA1(data: bytes,dataSize: int,) -> Any:
191
+ """Compute SHA1 hash code, returns static int[5] (20 bytes)"""
192
+ ...
176
193
  def CreatePhysicsBodyCircle(pos: Vector2|list|tuple,radius: float,density: float,) -> Any:
177
194
  """Creates a new circle physics body with generic parameters"""
178
195
  ...
@@ -184,7 +201,9 @@ def CreatePhysicsBodyRectangle(pos: Vector2|list|tuple,width: float,height: floa
184
201
  ...
185
202
  DEFAULT: int
186
203
  DROPDOWNBOX: int
204
+ DROPDOWN_ARROW_HIDDEN: int
187
205
  DROPDOWN_ITEMS_SPACING: int
206
+ DROPDOWN_ROLL_UP: int
188
207
  def DecodeDataBase64(data: bytes,outputSize: Any,) -> bytes:
189
208
  """Decode Base64 string data, memory must be MemFree()"""
190
209
  ...
@@ -209,7 +228,7 @@ def DisableCursor() -> None:
209
228
  def DisableEventWaiting() -> None:
210
229
  """Disable waiting for events on EndDrawing(), automatic events polling"""
211
230
  ...
212
- def DrawBillboard(camera: Camera3D|list|tuple,texture: Texture|list|tuple,position: Vector3|list|tuple,size: float,tint: Color|list|tuple,) -> None:
231
+ def DrawBillboard(camera: Camera3D|list|tuple,texture: Texture|list|tuple,position: Vector3|list|tuple,scale: float,tint: Color|list|tuple,) -> None:
213
232
  """Draw a billboard texture"""
214
233
  ...
215
234
  def DrawBillboardPro(camera: Camera3D|list|tuple,texture: Texture|list|tuple,source: Rectangle|list|tuple,position: Vector3|list|tuple,up: Vector3|list|tuple,size: Vector2|list|tuple,origin: Vector2|list|tuple,rotation: float,tint: Color|list|tuple,) -> None:
@@ -233,7 +252,7 @@ def DrawCircle(centerX: int,centerY: int,radius: float,color: Color|list|tuple,)
233
252
  def DrawCircle3D(center: Vector3|list|tuple,radius: float,rotationAxis: Vector3|list|tuple,rotationAngle: float,color: Color|list|tuple,) -> None:
234
253
  """Draw a circle in 3D world space"""
235
254
  ...
236
- def DrawCircleGradient(centerX: int,centerY: int,radius: float,color1: Color|list|tuple,color2: Color|list|tuple,) -> None:
255
+ def DrawCircleGradient(centerX: int,centerY: int,radius: float,inner: Color|list|tuple,outer: Color|list|tuple,) -> None:
237
256
  """Draw a gradient-filled circle"""
238
257
  ...
239
258
  def DrawCircleLines(centerX: int,centerY: int,radius: float,color: Color|list|tuple,) -> None:
@@ -317,6 +336,12 @@ def DrawModel(model: Model|list|tuple,position: Vector3|list|tuple,scale: float,
317
336
  def DrawModelEx(model: Model|list|tuple,position: Vector3|list|tuple,rotationAxis: Vector3|list|tuple,rotationAngle: float,scale: Vector3|list|tuple,tint: Color|list|tuple,) -> None:
318
337
  """Draw a model with extended parameters"""
319
338
  ...
339
+ def DrawModelPoints(model: Model|list|tuple,position: Vector3|list|tuple,scale: float,tint: Color|list|tuple,) -> None:
340
+ """Draw a model as points"""
341
+ ...
342
+ def DrawModelPointsEx(model: Model|list|tuple,position: Vector3|list|tuple,rotationAxis: Vector3|list|tuple,rotationAngle: float,scale: Vector3|list|tuple,tint: Color|list|tuple,) -> None:
343
+ """Draw a model as points with extended parameters"""
344
+ ...
320
345
  def DrawModelWires(model: Model|list|tuple,position: Vector3|list|tuple,scale: float,tint: Color|list|tuple,) -> None:
321
346
  """Draw a model wires (with texture if set)"""
322
347
  ...
@@ -324,10 +349,10 @@ def DrawModelWiresEx(model: Model|list|tuple,position: Vector3|list|tuple,rotati
324
349
  """Draw a model wires (with texture if set) with extended parameters"""
325
350
  ...
326
351
  def DrawPixel(posX: int,posY: int,color: Color|list|tuple,) -> None:
327
- """Draw a pixel"""
352
+ """Draw a pixel using geometry [Can be slow, use with care]"""
328
353
  ...
329
354
  def DrawPixelV(position: Vector2|list|tuple,color: Color|list|tuple,) -> None:
330
- """Draw a pixel (Vector version)"""
355
+ """Draw a pixel using geometry (Vector version) [Can be slow, use with care]"""
331
356
  ...
332
357
  def DrawPlane(centerPos: Vector3|list|tuple,size: Vector2|list|tuple,color: Color|list|tuple,) -> None:
333
358
  """Draw a plane XZ"""
@@ -350,13 +375,13 @@ def DrawRay(ray: Ray|list|tuple,color: Color|list|tuple,) -> None:
350
375
  def DrawRectangle(posX: int,posY: int,width: int,height: int,color: Color|list|tuple,) -> None:
351
376
  """Draw a color-filled rectangle"""
352
377
  ...
353
- def DrawRectangleGradientEx(rec: Rectangle|list|tuple,col1: Color|list|tuple,col2: Color|list|tuple,col3: Color|list|tuple,col4: Color|list|tuple,) -> None:
378
+ def DrawRectangleGradientEx(rec: Rectangle|list|tuple,topLeft: Color|list|tuple,bottomLeft: Color|list|tuple,topRight: Color|list|tuple,bottomRight: Color|list|tuple,) -> None:
354
379
  """Draw a gradient-filled rectangle with custom vertex colors"""
355
380
  ...
356
- def DrawRectangleGradientH(posX: int,posY: int,width: int,height: int,color1: Color|list|tuple,color2: Color|list|tuple,) -> None:
381
+ def DrawRectangleGradientH(posX: int,posY: int,width: int,height: int,left: Color|list|tuple,right: Color|list|tuple,) -> None:
357
382
  """Draw a horizontal-gradient-filled rectangle"""
358
383
  ...
359
- def DrawRectangleGradientV(posX: int,posY: int,width: int,height: int,color1: Color|list|tuple,color2: Color|list|tuple,) -> None:
384
+ def DrawRectangleGradientV(posX: int,posY: int,width: int,height: int,top: Color|list|tuple,bottom: Color|list|tuple,) -> None:
360
385
  """Draw a vertical-gradient-filled rectangle"""
361
386
  ...
362
387
  def DrawRectangleLines(posX: int,posY: int,width: int,height: int,color: Color|list|tuple,) -> None:
@@ -374,7 +399,10 @@ def DrawRectangleRec(rec: Rectangle|list|tuple,color: Color|list|tuple,) -> None
374
399
  def DrawRectangleRounded(rec: Rectangle|list|tuple,roundness: float,segments: int,color: Color|list|tuple,) -> None:
375
400
  """Draw rectangle with rounded edges"""
376
401
  ...
377
- def DrawRectangleRoundedLines(rec: Rectangle|list|tuple,roundness: float,segments: int,lineThick: float,color: Color|list|tuple,) -> None:
402
+ def DrawRectangleRoundedLines(rec: Rectangle|list|tuple,roundness: float,segments: int,color: Color|list|tuple,) -> None:
403
+ """Draw rectangle lines with rounded edges"""
404
+ ...
405
+ def DrawRectangleRoundedLinesEx(rec: Rectangle|list|tuple,roundness: float,segments: int,lineThick: float,color: Color|list|tuple,) -> None:
378
406
  """Draw rectangle with rounded edges outline"""
379
407
  ...
380
408
  def DrawRectangleV(position: Vector2|list|tuple,size: Vector2|list|tuple,color: Color|list|tuple,) -> None:
@@ -530,6 +558,9 @@ def ExportImageToMemory(image: Image|list|tuple,fileType: bytes,fileSize: Any,)
530
558
  def ExportMesh(mesh: Mesh|list|tuple,fileName: bytes,) -> bool:
531
559
  """Export mesh data to file, returns true on success"""
532
560
  ...
561
+ def ExportMeshAsCode(mesh: Mesh|list|tuple,fileName: bytes,) -> bool:
562
+ """Export mesh as code file (.h) defining multiple arrays of vertex attributes"""
563
+ ...
533
564
  def ExportWave(wave: Wave|list|tuple,fileName: bytes,) -> bool:
534
565
  """Export wave data to file, returns true on success"""
535
566
  ...
@@ -681,6 +712,9 @@ def GetCameraMatrix2D(camera: Camera2D|list|tuple,) -> Matrix:
681
712
  def GetCharPressed() -> int:
682
713
  """Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty"""
683
714
  ...
715
+ def GetClipboardImage() -> Image:
716
+ """Get clipboard image content"""
717
+ ...
684
718
  def GetClipboardText() -> bytes:
685
719
  """Get clipboard text content"""
686
720
  ...
@@ -703,7 +737,7 @@ def GetColor(hexValue: int,) -> Color:
703
737
  """Get Color structure from hexadecimal value"""
704
738
  ...
705
739
  def GetCurrentMonitor() -> int:
706
- """Get current connected monitor"""
740
+ """Get current monitor where window is placed"""
707
741
  ...
708
742
  def GetDirectoryPath(filePath: bytes,) -> bytes:
709
743
  """Get full path for a given fileName with path (uses static string)"""
@@ -754,7 +788,7 @@ def GetGestureDragVector() -> Vector2:
754
788
  """Get gesture drag vector"""
755
789
  ...
756
790
  def GetGestureHoldDuration() -> float:
757
- """Get gesture hold time in milliseconds"""
791
+ """Get gesture hold time in seconds"""
758
792
  ...
759
793
  def GetGesturePinchAngle() -> float:
760
794
  """Get gesture pinch angle"""
@@ -819,9 +853,6 @@ def GetMouseDelta() -> Vector2:
819
853
  def GetMousePosition() -> Vector2:
820
854
  """Get mouse position XY"""
821
855
  ...
822
- def GetMouseRay(mousePosition: Vector2|list|tuple,camera: Camera3D|list|tuple,) -> Ray:
823
- """Get a ray trace from mouse position"""
824
- ...
825
856
  def GetMouseWheelMove() -> float:
826
857
  """Get mouse wheel movement for X or Y, whichever is larger"""
827
858
  ...
@@ -894,6 +925,12 @@ def GetScreenHeight() -> int:
894
925
  def GetScreenToWorld2D(position: Vector2|list|tuple,camera: Camera2D|list|tuple,) -> Vector2:
895
926
  """Get the world space position for a 2d camera screen space position"""
896
927
  ...
928
+ def GetScreenToWorldRay(position: Vector2|list|tuple,camera: Camera3D|list|tuple,) -> Ray:
929
+ """Get a ray trace from screen position (i.e mouse)"""
930
+ ...
931
+ def GetScreenToWorldRayEx(position: Vector2|list|tuple,camera: Camera3D|list|tuple,width: int,height: int,) -> Ray:
932
+ """Get a ray trace from screen position (i.e mouse) in a viewport"""
933
+ ...
897
934
  def GetScreenWidth() -> int:
898
935
  """Get current screen width"""
899
936
  ...
@@ -903,6 +940,12 @@ def GetShaderLocation(shader: Shader|list|tuple,uniformName: bytes,) -> int:
903
940
  def GetShaderLocationAttrib(shader: Shader|list|tuple,attribName: bytes,) -> int:
904
941
  """Get shader attribute location"""
905
942
  ...
943
+ def GetShapesTexture() -> Texture:
944
+ """Get texture that is used for shapes drawing"""
945
+ ...
946
+ def GetShapesTextureRectangle() -> Rectangle:
947
+ """Get texture source rectangle that is used for shapes drawing"""
948
+ ...
906
949
  def GetSplinePointBasis(p1: Vector2|list|tuple,p2: Vector2|list|tuple,p3: Vector2|list|tuple,p4: Vector2|list|tuple,t: float,) -> Vector2:
907
950
  """Get (evaluate) spline point: B-Spline"""
908
951
  ...
@@ -973,7 +1016,7 @@ def GuiColorPanel(bounds: Rectangle|list|tuple,text: bytes,color: Any|list|tuple
973
1016
  """Color Panel control"""
974
1017
  ...
975
1018
  def GuiColorPanelHSV(bounds: Rectangle|list|tuple,text: bytes,colorHsv: Any|list|tuple,) -> int:
976
- """Color Panel control that returns HSV color value, used by GuiColorPickerHSV()"""
1019
+ """Color Panel control that updates Hue-Saturation-Value color value, used by GuiColorPickerHSV()"""
977
1020
  ...
978
1021
  def GuiColorPicker(bounds: Rectangle|list|tuple,text: bytes,color: Any|list|tuple,) -> int:
979
1022
  """Color Picker control (multiple color controls)"""
@@ -982,7 +1025,7 @@ def GuiColorPickerHSV(bounds: Rectangle|list|tuple,text: bytes,colorHsv: Any|lis
982
1025
  """Color Picker control that avoids conversion to RGB on each call (multiple color controls)"""
983
1026
  ...
984
1027
  def GuiComboBox(bounds: Rectangle|list|tuple,text: bytes,active: Any,) -> int:
985
- """Combo Box control, returns selected item index"""
1028
+ """Combo Box control"""
986
1029
  ...
987
1030
  def GuiDisable() -> None:
988
1031
  """Disable gui controls (global state)"""
@@ -994,7 +1037,7 @@ def GuiDrawIcon(iconId: int,posX: int,posY: int,pixelSize: int,color: Color|list
994
1037
  """Draw icon using pixel size at specified position"""
995
1038
  ...
996
1039
  def GuiDropdownBox(bounds: Rectangle|list|tuple,text: bytes,active: Any,editMode: bool,) -> int:
997
- """Dropdown Box control, returns selected item"""
1040
+ """Dropdown Box control"""
998
1041
  ...
999
1042
  def GuiDummyRec(bounds: Rectangle|list|tuple,text: bytes,) -> int:
1000
1043
  """Dummy control for placeholders"""
@@ -1018,7 +1061,7 @@ def GuiGetStyle(control: int,property: int,) -> int:
1018
1061
  """Get one style property"""
1019
1062
  ...
1020
1063
  def GuiGrid(bounds: Rectangle|list|tuple,text: bytes,spacing: float,subdivs: int,mouseCell: Any|list|tuple,) -> int:
1021
- """Grid control, returns mouse cell position"""
1064
+ """Grid control"""
1022
1065
  ...
1023
1066
  def GuiGroupBox(bounds: Rectangle|list|tuple,text: bytes,) -> int:
1024
1067
  """Group Box control with text name"""
@@ -1030,16 +1073,16 @@ def GuiIsLocked() -> bool:
1030
1073
  """Check if gui is locked (global state)"""
1031
1074
  ...
1032
1075
  def GuiLabel(bounds: Rectangle|list|tuple,text: bytes,) -> int:
1033
- """Label control, shows text"""
1076
+ """Label control"""
1034
1077
  ...
1035
1078
  def GuiLabelButton(bounds: Rectangle|list|tuple,text: bytes,) -> int:
1036
- """Label button control, show true when clicked"""
1079
+ """Label button control, returns true when clicked"""
1037
1080
  ...
1038
1081
  def GuiLine(bounds: Rectangle|list|tuple,text: bytes,) -> int:
1039
1082
  """Line separator control, could contain text"""
1040
1083
  ...
1041
1084
  def GuiListView(bounds: Rectangle|list|tuple,text: bytes,scrollIndex: Any,active: Any,) -> int:
1042
- """List View control, returns selected list item index"""
1085
+ """List View control"""
1043
1086
  ...
1044
1087
  def GuiListViewEx(bounds: Rectangle|list|tuple,text: list[bytes],count: int,scrollIndex: Any,active: Any,focus: Any,) -> int:
1045
1088
  """List View with extended parameters"""
@@ -1063,7 +1106,7 @@ def GuiPanel(bounds: Rectangle|list|tuple,text: bytes,) -> int:
1063
1106
  """Panel control, useful to group controls"""
1064
1107
  ...
1065
1108
  def GuiProgressBar(bounds: Rectangle|list|tuple,textLeft: bytes,textRight: bytes,value: Any,minValue: float,maxValue: float,) -> int:
1066
- """Progress Bar control, shows current progress value"""
1109
+ """Progress Bar control"""
1067
1110
  ...
1068
1111
  def GuiScrollPanel(bounds: Rectangle|list|tuple,text: bytes,content: Rectangle|list|tuple,scroll: Any|list|tuple,view: Any|list|tuple,) -> int:
1069
1112
  """Scroll Panel control"""
@@ -1087,13 +1130,13 @@ def GuiSetTooltip(tooltip: bytes,) -> None:
1087
1130
  """Set tooltip string"""
1088
1131
  ...
1089
1132
  def GuiSlider(bounds: Rectangle|list|tuple,textLeft: bytes,textRight: bytes,value: Any,minValue: float,maxValue: float,) -> int:
1090
- """Slider control, returns selected value"""
1133
+ """Slider control"""
1091
1134
  ...
1092
1135
  def GuiSliderBar(bounds: Rectangle|list|tuple,textLeft: bytes,textRight: bytes,value: Any,minValue: float,maxValue: float,) -> int:
1093
- """Slider Bar control, returns selected value"""
1136
+ """Slider Bar control"""
1094
1137
  ...
1095
1138
  def GuiSpinner(bounds: Rectangle|list|tuple,text: bytes,value: Any,minValue: int,maxValue: int,editMode: bool,) -> int:
1096
- """Spinner control, returns selected value"""
1139
+ """Spinner control"""
1097
1140
  ...
1098
1141
  def GuiStatusBar(bounds: Rectangle|list|tuple,text: bytes,) -> int:
1099
1142
  """Status Bar control, shows info text"""
@@ -1108,13 +1151,13 @@ def GuiTextInputBox(bounds: Rectangle|list|tuple,title: bytes,message: bytes,but
1108
1151
  """Text Input Box control, ask for text, supports secret"""
1109
1152
  ...
1110
1153
  def GuiToggle(bounds: Rectangle|list|tuple,text: bytes,active: Any,) -> int:
1111
- """Toggle Button control, returns true when active"""
1154
+ """Toggle Button control"""
1112
1155
  ...
1113
1156
  def GuiToggleGroup(bounds: Rectangle|list|tuple,text: bytes,active: Any,) -> int:
1114
- """Toggle Group control, returns active toggle index"""
1157
+ """Toggle Group control"""
1115
1158
  ...
1116
1159
  def GuiToggleSlider(bounds: Rectangle|list|tuple,text: bytes,active: Any,) -> int:
1117
- """Toggle Slider control, returns true when clicked"""
1160
+ """Toggle Slider control"""
1118
1161
  ...
1119
1162
  def GuiUnlock() -> None:
1120
1163
  """Unlock gui controls (global state)"""
@@ -1122,6 +1165,9 @@ def GuiUnlock() -> None:
1122
1165
  def GuiValueBox(bounds: Rectangle|list|tuple,text: bytes,value: Any,minValue: int,maxValue: int,editMode: bool,) -> int:
1123
1166
  """Value Box control, updates input text with numbers"""
1124
1167
  ...
1168
+ def GuiValueBoxFloat(bounds: Rectangle|list|tuple,text: bytes,textValue: bytes,value: Any,editMode: bool,) -> int:
1169
+ """Value box control for float values"""
1170
+ ...
1125
1171
  def GuiWindowBox(bounds: Rectangle|list|tuple,title: bytes,) -> int:
1126
1172
  """Window Box control, shows a window that can be closed"""
1127
1173
  ...
@@ -1133,15 +1179,6 @@ def HideCursor() -> None:
1133
1179
  """Hides cursor"""
1134
1180
  ...
1135
1181
  ICON_1UP: int
1136
- ICON_220: int
1137
- ICON_221: int
1138
- ICON_222: int
1139
- ICON_223: int
1140
- ICON_224: int
1141
- ICON_225: int
1142
- ICON_226: int
1143
- ICON_227: int
1144
- ICON_228: int
1145
1182
  ICON_229: int
1146
1183
  ICON_230: int
1147
1184
  ICON_231: int
@@ -1287,13 +1324,18 @@ ICON_GRID_FILL: int
1287
1324
  ICON_HAND_POINTER: int
1288
1325
  ICON_HEART: int
1289
1326
  ICON_HELP: int
1327
+ ICON_HELP_BOX: int
1290
1328
  ICON_HEX: int
1291
1329
  ICON_HIDPI: int
1330
+ ICON_HOT: int
1292
1331
  ICON_HOUSE: int
1293
1332
  ICON_INFO: int
1333
+ ICON_INFO_BOX: int
1294
1334
  ICON_KEY: int
1295
1335
  ICON_LASER: int
1296
1336
  ICON_LAYERS: int
1337
+ ICON_LAYERS2: int
1338
+ ICON_LAYERS_ISO: int
1297
1339
  ICON_LAYERS_VISIBLE: int
1298
1340
  ICON_LENS: int
1299
1341
  ICON_LENS_BIG: int
@@ -1307,7 +1349,9 @@ ICON_LOCK_CLOSE: int
1307
1349
  ICON_LOCK_OPEN: int
1308
1350
  ICON_MAGNET: int
1309
1351
  ICON_MAILBOX: int
1352
+ ICON_MAPS: int
1310
1353
  ICON_MIPMAPS: int
1354
+ ICON_MLAYERS: int
1311
1355
  ICON_MODE_2D: int
1312
1356
  ICON_MODE_3D: int
1313
1357
  ICON_MONITOR: int
@@ -1331,6 +1375,7 @@ ICON_PLAYER_RECORD: int
1331
1375
  ICON_PLAYER_STOP: int
1332
1376
  ICON_POT: int
1333
1377
  ICON_PRINTER: int
1378
+ ICON_PRIORITY: int
1334
1379
  ICON_REDO: int
1335
1380
  ICON_REDO_FILL: int
1336
1381
  ICON_REG_EXP: int
@@ -1377,6 +1422,7 @@ ICON_UNDO: int
1377
1422
  ICON_UNDO_FILL: int
1378
1423
  ICON_VERTICAL_BARS: int
1379
1424
  ICON_VERTICAL_BARS_FILL: int
1425
+ ICON_WARNING: int
1380
1426
  ICON_WATER_DROP: int
1381
1427
  ICON_WAVE: int
1382
1428
  ICON_WAVE_SINUS: int
@@ -1451,6 +1497,9 @@ def ImageDrawCircleV(dst: Any|list|tuple,center: Vector2|list|tuple,radius: int,
1451
1497
  def ImageDrawLine(dst: Any|list|tuple,startPosX: int,startPosY: int,endPosX: int,endPosY: int,color: Color|list|tuple,) -> None:
1452
1498
  """Draw line within an image"""
1453
1499
  ...
1500
+ def ImageDrawLineEx(dst: Any|list|tuple,start: Vector2|list|tuple,end: Vector2|list|tuple,thick: int,color: Color|list|tuple,) -> None:
1501
+ """Draw a line defining thickness within an image"""
1502
+ ...
1454
1503
  def ImageDrawLineV(dst: Any|list|tuple,start: Vector2|list|tuple,end: Vector2|list|tuple,color: Color|list|tuple,) -> None:
1455
1504
  """Draw line within an image (Vector version)"""
1456
1505
  ...
@@ -1478,6 +1527,21 @@ def ImageDrawText(dst: Any|list|tuple,text: bytes,posX: int,posY: int,fontSize:
1478
1527
  def ImageDrawTextEx(dst: Any|list|tuple,font: Font|list|tuple,text: bytes,position: Vector2|list|tuple,fontSize: float,spacing: float,tint: Color|list|tuple,) -> None:
1479
1528
  """Draw text (custom sprite font) within an image (destination)"""
1480
1529
  ...
1530
+ def ImageDrawTriangle(dst: Any|list|tuple,v1: Vector2|list|tuple,v2: Vector2|list|tuple,v3: Vector2|list|tuple,color: Color|list|tuple,) -> None:
1531
+ """Draw triangle within an image"""
1532
+ ...
1533
+ def ImageDrawTriangleEx(dst: Any|list|tuple,v1: Vector2|list|tuple,v2: Vector2|list|tuple,v3: Vector2|list|tuple,c1: Color|list|tuple,c2: Color|list|tuple,c3: Color|list|tuple,) -> None:
1534
+ """Draw triangle with interpolated colors within an image"""
1535
+ ...
1536
+ def ImageDrawTriangleFan(dst: Any|list|tuple,points: Any|list|tuple,pointCount: int,color: Color|list|tuple,) -> None:
1537
+ """Draw a triangle fan defined by points within an image (first vertex is the center)"""
1538
+ ...
1539
+ def ImageDrawTriangleLines(dst: Any|list|tuple,v1: Vector2|list|tuple,v2: Vector2|list|tuple,v3: Vector2|list|tuple,color: Color|list|tuple,) -> None:
1540
+ """Draw triangle outline within an image"""
1541
+ ...
1542
+ def ImageDrawTriangleStrip(dst: Any|list|tuple,points: Any|list|tuple,pointCount: int,color: Color|list|tuple,) -> None:
1543
+ """Draw a triangle strip defined by points within an image"""
1544
+ ...
1481
1545
  def ImageFlipHorizontal(image: Any|list|tuple,) -> None:
1482
1546
  """Flip image horizontally"""
1483
1547
  ...
@@ -1487,9 +1551,15 @@ def ImageFlipVertical(image: Any|list|tuple,) -> None:
1487
1551
  def ImageFormat(image: Any|list|tuple,newFormat: int,) -> None:
1488
1552
  """Convert image data to desired format"""
1489
1553
  ...
1554
+ def ImageFromChannel(image: Image|list|tuple,selectedChannel: int,) -> Image:
1555
+ """Create an image from a selected channel of another image (GRAYSCALE)"""
1556
+ ...
1490
1557
  def ImageFromImage(image: Image|list|tuple,rec: Rectangle|list|tuple,) -> Image:
1491
1558
  """Create an image from another image piece"""
1492
1559
  ...
1560
+ def ImageKernelConvolution(image: Any|list|tuple,kernel: Any,kernelSize: int,) -> None:
1561
+ """Apply custom square convolution kernel to image"""
1562
+ ...
1493
1563
  def ImageMipmaps(image: Any|list|tuple,) -> None:
1494
1564
  """Compute all mipmap levels for a provided image"""
1495
1565
  ...
@@ -1538,8 +1608,8 @@ def IsAudioStreamPlaying(stream: AudioStream|list|tuple,) -> bool:
1538
1608
  def IsAudioStreamProcessed(stream: AudioStream|list|tuple,) -> bool:
1539
1609
  """Check if any audio stream buffers requires refill"""
1540
1610
  ...
1541
- def IsAudioStreamReady(stream: AudioStream|list|tuple,) -> bool:
1542
- """Checks if an audio stream is ready"""
1611
+ def IsAudioStreamValid(stream: AudioStream|list|tuple,) -> bool:
1612
+ """Checks if an audio stream is valid (buffers initialized)"""
1543
1613
  ...
1544
1614
  def IsCursorHidden() -> bool:
1545
1615
  """Check if cursor is not visible"""
@@ -1553,8 +1623,11 @@ def IsFileDropped() -> bool:
1553
1623
  def IsFileExtension(fileName: bytes,ext: bytes,) -> bool:
1554
1624
  """Check file extension (including point: .png, .wav)"""
1555
1625
  ...
1556
- def IsFontReady(font: Font|list|tuple,) -> bool:
1557
- """Check if a font is ready"""
1626
+ def IsFileNameValid(fileName: bytes,) -> bool:
1627
+ """Check if fileName is valid for the platform/OS"""
1628
+ ...
1629
+ def IsFontValid(font: Font|list|tuple,) -> bool:
1630
+ """Check if a font is valid (font data loaded, WARNING: GPU texture not checked)"""
1558
1631
  ...
1559
1632
  def IsGamepadAvailable(gamepad: int,) -> bool:
1560
1633
  """Check if a gamepad is available"""
@@ -1574,8 +1647,8 @@ def IsGamepadButtonUp(gamepad: int,button: int,) -> bool:
1574
1647
  def IsGestureDetected(gesture: int,) -> bool:
1575
1648
  """Check if a gesture have been detected"""
1576
1649
  ...
1577
- def IsImageReady(image: Image|list|tuple,) -> bool:
1578
- """Check if an image is ready"""
1650
+ def IsImageValid(image: Image|list|tuple,) -> bool:
1651
+ """Check if an image is valid (data and parameters)"""
1579
1652
  ...
1580
1653
  def IsKeyDown(key: int,) -> bool:
1581
1654
  """Check if a key is being pressed"""
@@ -1584,7 +1657,7 @@ def IsKeyPressed(key: int,) -> bool:
1584
1657
  """Check if a key has been pressed once"""
1585
1658
  ...
1586
1659
  def IsKeyPressedRepeat(key: int,) -> bool:
1587
- """Check if a key has been pressed again (Only PLATFORM_DESKTOP)"""
1660
+ """Check if a key has been pressed again"""
1588
1661
  ...
1589
1662
  def IsKeyReleased(key: int,) -> bool:
1590
1663
  """Check if a key has been released once"""
@@ -1592,14 +1665,14 @@ def IsKeyReleased(key: int,) -> bool:
1592
1665
  def IsKeyUp(key: int,) -> bool:
1593
1666
  """Check if a key is NOT being pressed"""
1594
1667
  ...
1595
- def IsMaterialReady(material: Material|list|tuple,) -> bool:
1596
- """Check if a material is ready"""
1668
+ def IsMaterialValid(material: Material|list|tuple,) -> bool:
1669
+ """Check if a material is valid (shader assigned, map textures loaded in GPU)"""
1597
1670
  ...
1598
1671
  def IsModelAnimationValid(model: Model|list|tuple,anim: ModelAnimation|list|tuple,) -> bool:
1599
1672
  """Check model animation skeleton match"""
1600
1673
  ...
1601
- def IsModelReady(model: Model|list|tuple,) -> bool:
1602
- """Check if a model is ready"""
1674
+ def IsModelValid(model: Model|list|tuple,) -> bool:
1675
+ """Check if a model is valid (loaded in GPU, VAO/VBOs)"""
1603
1676
  ...
1604
1677
  def IsMouseButtonDown(button: int,) -> bool:
1605
1678
  """Check if a mouse button is being pressed"""
@@ -1613,47 +1686,47 @@ def IsMouseButtonReleased(button: int,) -> bool:
1613
1686
  def IsMouseButtonUp(button: int,) -> bool:
1614
1687
  """Check if a mouse button is NOT being pressed"""
1615
1688
  ...
1616
- def IsMusicReady(music: Music|list|tuple,) -> bool:
1617
- """Checks if a music stream is ready"""
1618
- ...
1619
1689
  def IsMusicStreamPlaying(music: Music|list|tuple,) -> bool:
1620
1690
  """Check if music is playing"""
1621
1691
  ...
1692
+ def IsMusicValid(music: Music|list|tuple,) -> bool:
1693
+ """Checks if a music stream is valid (context and buffers initialized)"""
1694
+ ...
1622
1695
  def IsPathFile(path: bytes,) -> bool:
1623
1696
  """Check if a given path is a file or a directory"""
1624
1697
  ...
1625
- def IsRenderTextureReady(target: RenderTexture|list|tuple,) -> bool:
1626
- """Check if a render texture is ready"""
1698
+ def IsRenderTextureValid(target: RenderTexture|list|tuple,) -> bool:
1699
+ """Check if a render texture is valid (loaded in GPU)"""
1627
1700
  ...
1628
- def IsShaderReady(shader: Shader|list|tuple,) -> bool:
1629
- """Check if a shader is ready"""
1701
+ def IsShaderValid(shader: Shader|list|tuple,) -> bool:
1702
+ """Check if a shader is valid (loaded on GPU)"""
1630
1703
  ...
1631
1704
  def IsSoundPlaying(sound: Sound|list|tuple,) -> bool:
1632
1705
  """Check if a sound is currently playing"""
1633
1706
  ...
1634
- def IsSoundReady(sound: Sound|list|tuple,) -> bool:
1635
- """Checks if a sound is ready"""
1707
+ def IsSoundValid(sound: Sound|list|tuple,) -> bool:
1708
+ """Checks if a sound is valid (data loaded and buffers initialized)"""
1636
1709
  ...
1637
- def IsTextureReady(texture: Texture|list|tuple,) -> bool:
1638
- """Check if a texture is ready"""
1710
+ def IsTextureValid(texture: Texture|list|tuple,) -> bool:
1711
+ """Check if a texture is valid (loaded in GPU)"""
1639
1712
  ...
1640
- def IsWaveReady(wave: Wave|list|tuple,) -> bool:
1641
- """Checks if wave data is ready"""
1713
+ def IsWaveValid(wave: Wave|list|tuple,) -> bool:
1714
+ """Checks if wave data is valid (data loaded and parameters)"""
1642
1715
  ...
1643
1716
  def IsWindowFocused() -> bool:
1644
- """Check if window is currently focused (only PLATFORM_DESKTOP)"""
1717
+ """Check if window is currently focused"""
1645
1718
  ...
1646
1719
  def IsWindowFullscreen() -> bool:
1647
1720
  """Check if window is currently fullscreen"""
1648
1721
  ...
1649
1722
  def IsWindowHidden() -> bool:
1650
- """Check if window is currently hidden (only PLATFORM_DESKTOP)"""
1723
+ """Check if window is currently hidden"""
1651
1724
  ...
1652
1725
  def IsWindowMaximized() -> bool:
1653
- """Check if window is currently maximized (only PLATFORM_DESKTOP)"""
1726
+ """Check if window is currently maximized"""
1654
1727
  ...
1655
1728
  def IsWindowMinimized() -> bool:
1656
- """Check if window is currently minimized (only PLATFORM_DESKTOP)"""
1729
+ """Check if window is currently minimized"""
1657
1730
  ...
1658
1731
  def IsWindowReady() -> bool:
1659
1732
  """Check if window has been initialized successfully"""
@@ -1777,6 +1850,7 @@ KEY_ZERO: int
1777
1850
  LABEL: int
1778
1851
  LINE_COLOR: int
1779
1852
  LISTVIEW: int
1853
+ LIST_ITEMS_BORDER_WIDTH: int
1780
1854
  LIST_ITEMS_HEIGHT: int
1781
1855
  LIST_ITEMS_SPACING: int
1782
1856
  LOG_ALL: int
@@ -1803,7 +1877,7 @@ def LoadDirectoryFiles(dirPath: bytes,) -> FilePathList:
1803
1877
  """Load directory filepaths"""
1804
1878
  ...
1805
1879
  def LoadDirectoryFilesEx(basePath: bytes,filter: bytes,scanSubdirs: bool,) -> FilePathList:
1806
- """Load directory filepaths with extension filtering and recursive directory scan"""
1880
+ """Load directory filepaths with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result"""
1807
1881
  ...
1808
1882
  def LoadDroppedFiles() -> FilePathList:
1809
1883
  """Load dropped filepaths"""
@@ -1821,7 +1895,7 @@ def LoadFontData(fileData: bytes,dataSize: int,fontSize: int,codepoints: Any,cod
1821
1895
  """Load font data for further use"""
1822
1896
  ...
1823
1897
  def LoadFontEx(fileName: bytes,fontSize: int,codepoints: Any,codepointCount: int,) -> Font:
1824
- """Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont"""
1898
+ """Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set, font size is provided in pixels height"""
1825
1899
  ...
1826
1900
  def LoadFontFromImage(image: Image|list|tuple,key: Color|list|tuple,firstChar: int,) -> Font:
1827
1901
  """Load font from Image (XNA style)"""
@@ -1835,6 +1909,9 @@ def LoadImage(fileName: bytes,) -> Image:
1835
1909
  def LoadImageAnim(fileName: bytes,frames: Any,) -> Image:
1836
1910
  """Load image sequence from file (frames appended to image.data)"""
1837
1911
  ...
1912
+ def LoadImageAnimFromMemory(fileType: bytes,fileData: bytes,dataSize: int,frames: Any,) -> Image:
1913
+ """Load image sequence from memory buffer"""
1914
+ ...
1838
1915
  def LoadImageColors(image: Image|list|tuple,) -> Any:
1839
1916
  """Load color data from image as a Color array (RGBA - 32bit)"""
1840
1917
  ...
@@ -1853,9 +1930,6 @@ def LoadImagePalette(image: Image|list|tuple,maxPaletteSize: int,colorCount: Any
1853
1930
  def LoadImageRaw(fileName: bytes,width: int,height: int,format: int,headerSize: int,) -> Image:
1854
1931
  """Load image from RAW file data"""
1855
1932
  ...
1856
- def LoadImageSvg(fileNameOrString: bytes,width: int,height: int,) -> Image:
1857
- """Load image from SVG file data or string with specified size"""
1858
- ...
1859
1933
  def LoadMaterialDefault() -> Material:
1860
1934
  """Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)"""
1861
1935
  ...
@@ -1951,13 +2025,19 @@ MOUSE_CURSOR_RESIZE_EW: int
1951
2025
  MOUSE_CURSOR_RESIZE_NESW: int
1952
2026
  MOUSE_CURSOR_RESIZE_NS: int
1953
2027
  MOUSE_CURSOR_RESIZE_NWSE: int
2028
+ def MakeDirectory(dirPath: bytes,) -> int:
2029
+ """Create directories (including full path requested), returns 0 on success"""
2030
+ ...
1954
2031
  def MatrixAdd(left: Matrix|list|tuple,right: Matrix|list|tuple,) -> Matrix:
1955
2032
  """"""
1956
2033
  ...
2034
+ def MatrixDecompose(mat: Matrix|list|tuple,translation: Any|list|tuple,rotation: Any|list|tuple,scale: Any|list|tuple,) -> None:
2035
+ """"""
2036
+ ...
1957
2037
  def MatrixDeterminant(mat: Matrix|list|tuple,) -> float:
1958
2038
  """"""
1959
2039
  ...
1960
- def MatrixFrustum(left: float,right: float,bottom: float,top: float,near: float,far: float,) -> Matrix:
2040
+ def MatrixFrustum(left: float,right: float,bottom: float,top: float,nearPlane: float,farPlane: float,) -> Matrix:
1961
2041
  """"""
1962
2042
  ...
1963
2043
  def MatrixIdentity() -> Matrix:
@@ -2015,7 +2095,7 @@ def MatrixTranspose(mat: Matrix|list|tuple,) -> Matrix:
2015
2095
  """"""
2016
2096
  ...
2017
2097
  def MaximizeWindow() -> None:
2018
- """Set window state: maximized, if resizable (only PLATFORM_DESKTOP)"""
2098
+ """Set window state: maximized, if resizable"""
2019
2099
  ...
2020
2100
  def MeasureText(text: bytes,fontSize: int,) -> int:
2021
2101
  """Measure string width for default font"""
@@ -2033,7 +2113,7 @@ def MemRealloc(ptr: Any,size: int,) -> Any:
2033
2113
  """Internal memory reallocator"""
2034
2114
  ...
2035
2115
  def MinimizeWindow() -> None:
2036
- """Set window state: minimized, if resizable (only PLATFORM_DESKTOP)"""
2116
+ """Set window state: minimized, if resizable"""
2037
2117
  ...
2038
2118
  NPATCH_NINE_PATCH: int
2039
2119
  NPATCH_THREE_PATCH_HORIZONTAL: int
@@ -2111,6 +2191,9 @@ def QuaternionAdd(q1: Vector4|list|tuple,q2: Vector4|list|tuple,) -> Vector4:
2111
2191
  def QuaternionAddValue(q: Vector4|list|tuple,add: float,) -> Vector4:
2112
2192
  """"""
2113
2193
  ...
2194
+ def QuaternionCubicHermiteSpline(q1: Vector4|list|tuple,outTangent1: Vector4|list|tuple,q2: Vector4|list|tuple,inTangent2: Vector4|list|tuple,t: float,) -> Vector4:
2195
+ """"""
2196
+ ...
2114
2197
  def QuaternionDivide(q1: Vector4|list|tuple,q2: Vector4|list|tuple,) -> Vector4:
2115
2198
  """"""
2116
2199
  ...
@@ -2276,6 +2359,10 @@ RL_SHADER_UNIFORM_IVEC2: int
2276
2359
  RL_SHADER_UNIFORM_IVEC3: int
2277
2360
  RL_SHADER_UNIFORM_IVEC4: int
2278
2361
  RL_SHADER_UNIFORM_SAMPLER2D: int
2362
+ RL_SHADER_UNIFORM_UINT: int
2363
+ RL_SHADER_UNIFORM_UIVEC2: int
2364
+ RL_SHADER_UNIFORM_UIVEC3: int
2365
+ RL_SHADER_UNIFORM_UIVEC4: int
2279
2366
  RL_SHADER_UNIFORM_VEC2: int
2280
2367
  RL_SHADER_UNIFORM_VEC3: int
2281
2368
  RL_SHADER_UNIFORM_VEC4: int
@@ -2292,7 +2379,7 @@ def ResetPhysics() -> None:
2292
2379
  """Reset physics system (global variables)"""
2293
2380
  ...
2294
2381
  def RestoreWindow() -> None:
2295
- """Set window state: not minimized/maximized (only PLATFORM_DESKTOP)"""
2382
+ """Set window state: not minimized/maximized"""
2296
2383
  ...
2297
2384
  def ResumeAudioStream(stream: AudioStream|list|tuple,) -> None:
2298
2385
  """Resume audio stream"""
@@ -2314,6 +2401,7 @@ SHADER_ATTRIB_FLOAT: int
2314
2401
  SHADER_ATTRIB_VEC2: int
2315
2402
  SHADER_ATTRIB_VEC3: int
2316
2403
  SHADER_ATTRIB_VEC4: int
2404
+ SHADER_LOC_BONE_MATRICES: int
2317
2405
  SHADER_LOC_COLOR_AMBIENT: int
2318
2406
  SHADER_LOC_COLOR_DIFFUSE: int
2319
2407
  SHADER_LOC_COLOR_SPECULAR: int
@@ -2334,6 +2422,8 @@ SHADER_LOC_MATRIX_NORMAL: int
2334
2422
  SHADER_LOC_MATRIX_PROJECTION: int
2335
2423
  SHADER_LOC_MATRIX_VIEW: int
2336
2424
  SHADER_LOC_VECTOR_VIEW: int
2425
+ SHADER_LOC_VERTEX_BONEIDS: int
2426
+ SHADER_LOC_VERTEX_BONEWEIGHTS: int
2337
2427
  SHADER_LOC_VERTEX_COLOR: int
2338
2428
  SHADER_LOC_VERTEX_NORMAL: int
2339
2429
  SHADER_LOC_VERTEX_POSITION: int
@@ -2402,6 +2492,9 @@ def SetExitKey(key: int,) -> None:
2402
2492
  def SetGamepadMappings(mappings: bytes,) -> int:
2403
2493
  """Set internal gamepad mappings (SDL_GameControllerDB)"""
2404
2494
  ...
2495
+ def SetGamepadVibration(gamepad: int,leftMotor: float,rightMotor: float,duration: float,) -> None:
2496
+ """Set gamepad vibration for both motors (duration in seconds)"""
2497
+ ...
2405
2498
  def SetGesturesEnabled(flags: int,) -> None:
2406
2499
  """Enable a set of gestures using flags"""
2407
2500
  ...
@@ -2505,13 +2598,13 @@ def SetTraceLogLevel(logLevel: int,) -> None:
2505
2598
  """Set the current threshold (minimum) log level"""
2506
2599
  ...
2507
2600
  def SetWindowFocused() -> None:
2508
- """Set window focused (only PLATFORM_DESKTOP)"""
2601
+ """Set window focused"""
2509
2602
  ...
2510
2603
  def SetWindowIcon(image: Image|list|tuple,) -> None:
2511
- """Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP)"""
2604
+ """Set icon for window (single image, RGBA 32bit)"""
2512
2605
  ...
2513
2606
  def SetWindowIcons(images: Any|list|tuple,count: int,) -> None:
2514
- """Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)"""
2607
+ """Set icon for window (multiple images, RGBA 32bit)"""
2515
2608
  ...
2516
2609
  def SetWindowMaxSize(width: int,height: int,) -> None:
2517
2610
  """Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)"""
@@ -2523,19 +2616,19 @@ def SetWindowMonitor(monitor: int,) -> None:
2523
2616
  """Set monitor for the current window"""
2524
2617
  ...
2525
2618
  def SetWindowOpacity(opacity: float,) -> None:
2526
- """Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)"""
2619
+ """Set window opacity [0.0f..1.0f]"""
2527
2620
  ...
2528
2621
  def SetWindowPosition(x: int,y: int,) -> None:
2529
- """Set window position on screen (only PLATFORM_DESKTOP)"""
2622
+ """Set window position on screen"""
2530
2623
  ...
2531
2624
  def SetWindowSize(width: int,height: int,) -> None:
2532
2625
  """Set window dimensions"""
2533
2626
  ...
2534
2627
  def SetWindowState(flags: int,) -> None:
2535
- """Set window configuration state using flags (only PLATFORM_DESKTOP)"""
2628
+ """Set window configuration state using flags"""
2536
2629
  ...
2537
2630
  def SetWindowTitle(title: bytes,) -> None:
2538
- """Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB)"""
2631
+ """Set title for window"""
2539
2632
  ...
2540
2633
  def ShowCursor() -> None:
2541
2634
  """Shows cursor"""
@@ -2627,6 +2720,12 @@ def TextSplit(text: bytes,delimiter: bytes,count: Any,) -> list[bytes]:
2627
2720
  def TextSubtext(text: bytes,position: int,length: int,) -> bytes:
2628
2721
  """Get a piece of a text string"""
2629
2722
  ...
2723
+ def TextToCamel(text: bytes,) -> bytes:
2724
+ """Get Camel case notation version of provided string"""
2725
+ ...
2726
+ def TextToFloat(text: bytes,) -> float:
2727
+ """Get float value from text (negative values not supported)"""
2728
+ ...
2630
2729
  def TextToInteger(text: bytes,) -> int:
2631
2730
  """Get integer value from text (negative values not supported)"""
2632
2731
  ...
@@ -2636,14 +2735,17 @@ def TextToLower(text: bytes,) -> bytes:
2636
2735
  def TextToPascal(text: bytes,) -> bytes:
2637
2736
  """Get Pascal case notation version of provided string"""
2638
2737
  ...
2738
+ def TextToSnake(text: bytes,) -> bytes:
2739
+ """Get Snake case notation version of provided string"""
2740
+ ...
2639
2741
  def TextToUpper(text: bytes,) -> bytes:
2640
2742
  """Get upper case version of provided string"""
2641
2743
  ...
2642
2744
  def ToggleBorderlessWindowed() -> None:
2643
- """Toggle window state: borderless windowed (only PLATFORM_DESKTOP)"""
2745
+ """Toggle window state: borderless windowed, resizes window to match monitor resolution"""
2644
2746
  ...
2645
2747
  def ToggleFullscreen() -> None:
2646
- """Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)"""
2748
+ """Toggle window state: fullscreen/windowed, resizes monitor to match window resolution"""
2647
2749
  ...
2648
2750
  def TraceLog(*args) -> None:
2649
2751
  """VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI"""
@@ -2651,7 +2753,7 @@ def TraceLog(*args) -> None:
2651
2753
  def UnloadAudioStream(stream: AudioStream|list|tuple,) -> None:
2652
2754
  """Unload audio stream and free memory"""
2653
2755
  ...
2654
- def UnloadAutomationEventList(list_0: Any|list|tuple,) -> None:
2756
+ def UnloadAutomationEventList(list_0: AutomationEventList|list|tuple,) -> None:
2655
2757
  """Unload automation events list from file"""
2656
2758
  ...
2657
2759
  def UnloadCodepoints(codepoints: Any,) -> None:
@@ -2745,7 +2847,10 @@ def UpdateMeshBuffer(mesh: Mesh|list|tuple,index: int,data: Any,dataSize: int,of
2745
2847
  """Update mesh vertex data in GPU for a specific buffer index"""
2746
2848
  ...
2747
2849
  def UpdateModelAnimation(model: Model|list|tuple,anim: ModelAnimation|list|tuple,frame: int,) -> None:
2748
- """Update model animation pose"""
2850
+ """Update model animation pose (CPU)"""
2851
+ ...
2852
+ def UpdateModelAnimationBones(model: Model|list|tuple,anim: ModelAnimation|list|tuple,frame: int,) -> None:
2853
+ """Update model animation mesh bone matrices (GPU skinning)"""
2749
2854
  ...
2750
2855
  def UpdateMusicStream(music: Music|list|tuple,) -> None:
2751
2856
  """Updates buffers for music streaming"""
@@ -2811,6 +2916,12 @@ def Vector2Lerp(v1: Vector2|list|tuple,v2: Vector2|list|tuple,amount: float,) ->
2811
2916
  def Vector2LineAngle(start: Vector2|list|tuple,end: Vector2|list|tuple,) -> float:
2812
2917
  """"""
2813
2918
  ...
2919
+ def Vector2Max(v1: Vector2|list|tuple,v2: Vector2|list|tuple,) -> Vector2:
2920
+ """"""
2921
+ ...
2922
+ def Vector2Min(v1: Vector2|list|tuple,v2: Vector2|list|tuple,) -> Vector2:
2923
+ """"""
2924
+ ...
2814
2925
  def Vector2MoveTowards(v: Vector2|list|tuple,target: Vector2|list|tuple,maxDistance: float,) -> Vector2:
2815
2926
  """"""
2816
2927
  ...
@@ -2829,6 +2940,9 @@ def Vector2One() -> Vector2:
2829
2940
  def Vector2Reflect(v: Vector2|list|tuple,normal: Vector2|list|tuple,) -> Vector2:
2830
2941
  """"""
2831
2942
  ...
2943
+ def Vector2Refract(v: Vector2|list|tuple,n: Vector2|list|tuple,r: float,) -> Vector2:
2944
+ """"""
2945
+ ...
2832
2946
  def Vector2Rotate(v: Vector2|list|tuple,angle: float,) -> Vector2:
2833
2947
  """"""
2834
2948
  ...
@@ -2868,6 +2982,9 @@ def Vector3ClampValue(v: Vector3|list|tuple,min_1: float,max_2: float,) -> Vecto
2868
2982
  def Vector3CrossProduct(v1: Vector3|list|tuple,v2: Vector3|list|tuple,) -> Vector3:
2869
2983
  """"""
2870
2984
  ...
2985
+ def Vector3CubicHermite(v1: Vector3|list|tuple,tangent1: Vector3|list|tuple,v2: Vector3|list|tuple,tangent2: Vector3|list|tuple,amount: float,) -> Vector3:
2986
+ """"""
2987
+ ...
2871
2988
  def Vector3Distance(v1: Vector3|list|tuple,v2: Vector3|list|tuple,) -> float:
2872
2989
  """"""
2873
2990
  ...
@@ -2901,6 +3018,9 @@ def Vector3Max(v1: Vector3|list|tuple,v2: Vector3|list|tuple,) -> Vector3:
2901
3018
  def Vector3Min(v1: Vector3|list|tuple,v2: Vector3|list|tuple,) -> Vector3:
2902
3019
  """"""
2903
3020
  ...
3021
+ def Vector3MoveTowards(v: Vector3|list|tuple,target: Vector3|list|tuple,maxDistance: float,) -> Vector3:
3022
+ """"""
3023
+ ...
2904
3024
  def Vector3Multiply(v1: Vector3|list|tuple,v2: Vector3|list|tuple,) -> Vector3:
2905
3025
  """"""
2906
3026
  ...
@@ -2958,14 +3078,80 @@ def Vector3Unproject(source: Vector3|list|tuple,projection: Matrix|list|tuple,vi
2958
3078
  def Vector3Zero() -> Vector3:
2959
3079
  """"""
2960
3080
  ...
3081
+ def Vector4Add(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> Vector4:
3082
+ """"""
3083
+ ...
3084
+ def Vector4AddValue(v: Vector4|list|tuple,add: float,) -> Vector4:
3085
+ """"""
3086
+ ...
3087
+ def Vector4Distance(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> float:
3088
+ """"""
3089
+ ...
3090
+ def Vector4DistanceSqr(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> float:
3091
+ """"""
3092
+ ...
3093
+ def Vector4Divide(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> Vector4:
3094
+ """"""
3095
+ ...
3096
+ def Vector4DotProduct(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> float:
3097
+ """"""
3098
+ ...
3099
+ def Vector4Equals(p: Vector4|list|tuple,q: Vector4|list|tuple,) -> int:
3100
+ """"""
3101
+ ...
3102
+ def Vector4Invert(v: Vector4|list|tuple,) -> Vector4:
3103
+ """"""
3104
+ ...
3105
+ def Vector4Length(v: Vector4|list|tuple,) -> float:
3106
+ """"""
3107
+ ...
3108
+ def Vector4LengthSqr(v: Vector4|list|tuple,) -> float:
3109
+ """"""
3110
+ ...
3111
+ def Vector4Lerp(v1: Vector4|list|tuple,v2: Vector4|list|tuple,amount: float,) -> Vector4:
3112
+ """"""
3113
+ ...
3114
+ def Vector4Max(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> Vector4:
3115
+ """"""
3116
+ ...
3117
+ def Vector4Min(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> Vector4:
3118
+ """"""
3119
+ ...
3120
+ def Vector4MoveTowards(v: Vector4|list|tuple,target: Vector4|list|tuple,maxDistance: float,) -> Vector4:
3121
+ """"""
3122
+ ...
3123
+ def Vector4Multiply(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> Vector4:
3124
+ """"""
3125
+ ...
3126
+ def Vector4Negate(v: Vector4|list|tuple,) -> Vector4:
3127
+ """"""
3128
+ ...
3129
+ def Vector4Normalize(v: Vector4|list|tuple,) -> Vector4:
3130
+ """"""
3131
+ ...
3132
+ def Vector4One() -> Vector4:
3133
+ """"""
3134
+ ...
3135
+ def Vector4Scale(v: Vector4|list|tuple,scale: float,) -> Vector4:
3136
+ """"""
3137
+ ...
3138
+ def Vector4Subtract(v1: Vector4|list|tuple,v2: Vector4|list|tuple,) -> Vector4:
3139
+ """"""
3140
+ ...
3141
+ def Vector4SubtractValue(v: Vector4|list|tuple,add: float,) -> Vector4:
3142
+ """"""
3143
+ ...
3144
+ def Vector4Zero() -> Vector4:
3145
+ """"""
3146
+ ...
2961
3147
  def WaitTime(seconds: float,) -> None:
2962
3148
  """Wait for some time (halt program execution)"""
2963
3149
  ...
2964
3150
  def WaveCopy(wave: Wave|list|tuple,) -> Wave:
2965
3151
  """Copy a wave to a new wave"""
2966
3152
  ...
2967
- def WaveCrop(wave: Any|list|tuple,initSample: int,finalSample: int,) -> None:
2968
- """Crop a wave to defined samples range"""
3153
+ def WaveCrop(wave: Any|list|tuple,initFrame: int,finalFrame: int,) -> None:
3154
+ """Crop a wave to defined frames range"""
2969
3155
  ...
2970
3156
  def WaveFormat(wave: Any|list|tuple,sampleRate: int,sampleSize: int,channels: int,) -> None:
2971
3157
  """Convert wave data to desired format"""
@@ -3132,6 +3318,9 @@ def glfwGetWindowPos(window: Any|list|tuple,xpos: Any,ypos: Any,) -> None:
3132
3318
  def glfwGetWindowSize(window: Any|list|tuple,width: Any,height: Any,) -> None:
3133
3319
  """"""
3134
3320
  ...
3321
+ def glfwGetWindowTitle(window: Any|list|tuple,) -> bytes:
3322
+ """"""
3323
+ ...
3135
3324
  def glfwGetWindowUserPointer(window: Any|list|tuple,) -> Any:
3136
3325
  """"""
3137
3326
  ...
@@ -3342,6 +3531,9 @@ def rlActiveTextureSlot(slot: int,) -> None:
3342
3531
  def rlBegin(mode: int,) -> None:
3343
3532
  """Initialize drawing mode (how to organize vertex)"""
3344
3533
  ...
3534
+ def rlBindFramebuffer(target: int,framebuffer: int,) -> None:
3535
+ """Bind framebuffer (FBO)"""
3536
+ ...
3345
3537
  def rlBindImageTexture(id: int,index: int,format: int,readonly: bool,) -> None:
3346
3538
  """Bind image texture"""
3347
3539
  ...
@@ -3372,6 +3564,9 @@ def rlColor4f(x: float,y: float,z: float,w: float,) -> None:
3372
3564
  def rlColor4ub(r: bytes,g: bytes,b: bytes,a: bytes,) -> None:
3373
3565
  """Define one vertex (color) - 4 byte"""
3374
3566
  ...
3567
+ def rlColorMask(r: bool,g: bool,b: bool,a: bool,) -> None:
3568
+ """Color mask control"""
3569
+ ...
3375
3570
  def rlCompileShader(shaderCode: bytes,type: int,) -> int:
3376
3571
  """Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)"""
3377
3572
  ...
@@ -3430,7 +3625,7 @@ def rlDisableVertexBufferElement() -> None:
3430
3625
  """Disable vertex buffer element (VBO element)"""
3431
3626
  ...
3432
3627
  def rlDisableWireMode() -> None:
3433
- """Disable wire mode ( and point ) maybe rename"""
3628
+ """Disable wire (and point) mode"""
3434
3629
  ...
3435
3630
  def rlDrawRenderBatch(batch: Any|list|tuple,) -> None:
3436
3631
  """Draw render batch data (Update->Draw->Reset)"""
@@ -3439,16 +3634,16 @@ def rlDrawRenderBatchActive() -> None:
3439
3634
  """Update and draw internal render batch"""
3440
3635
  ...
3441
3636
  def rlDrawVertexArray(offset: int,count: int,) -> None:
3442
- """"""
3637
+ """Draw vertex array (currently active vao)"""
3443
3638
  ...
3444
3639
  def rlDrawVertexArrayElements(offset: int,count: int,buffer: Any,) -> None:
3445
- """"""
3640
+ """Draw vertex array elements"""
3446
3641
  ...
3447
3642
  def rlDrawVertexArrayElementsInstanced(offset: int,count: int,buffer: Any,instances: int,) -> None:
3448
- """"""
3643
+ """Draw vertex array elements with instancing"""
3449
3644
  ...
3450
3645
  def rlDrawVertexArrayInstanced(offset: int,count: int,instances: int,) -> None:
3451
- """"""
3646
+ """Draw vertex array (currently active vao) with instancing"""
3452
3647
  ...
3453
3648
  def rlEnableBackfaceCulling() -> None:
3454
3649
  """Enable backface culling"""
@@ -3516,6 +3711,15 @@ def rlFrustum(left: float,right: float,bottom: float,top: float,znear: float,zfa
3516
3711
  def rlGenTextureMipmaps(id: int,width: int,height: int,format: int,mipmaps: Any,) -> None:
3517
3712
  """Generate mipmap data for selected texture"""
3518
3713
  ...
3714
+ def rlGetActiveFramebuffer() -> int:
3715
+ """Get the currently active render texture (fbo), 0 for default framebuffer"""
3716
+ ...
3717
+ def rlGetCullDistanceFar() -> float:
3718
+ """Get cull plane distance far"""
3719
+ ...
3720
+ def rlGetCullDistanceNear() -> float:
3721
+ """Get cull plane distance near"""
3722
+ ...
3519
3723
  def rlGetFramebufferHeight() -> int:
3520
3724
  """Get default framebuffer height"""
3521
3725
  ...
@@ -3582,7 +3786,7 @@ def rlLoadDrawQuad() -> None:
3582
3786
  def rlLoadExtensions(loader: Any,) -> None:
3583
3787
  """Load OpenGL extensions (loader function required)"""
3584
3788
  ...
3585
- def rlLoadFramebuffer(width: int,height: int,) -> int:
3789
+ def rlLoadFramebuffer() -> int:
3586
3790
  """Load an empty framebuffer"""
3587
3791
  ...
3588
3792
  def rlLoadIdentity() -> None:
@@ -3601,10 +3805,10 @@ def rlLoadShaderProgram(vShaderId: int,fShaderId: int,) -> int:
3601
3805
  """Load custom shader program"""
3602
3806
  ...
3603
3807
  def rlLoadTexture(data: Any,width: int,height: int,format: int,mipmapCount: int,) -> int:
3604
- """Load texture in GPU"""
3808
+ """Load texture data"""
3605
3809
  ...
3606
- def rlLoadTextureCubemap(data: Any,size: int,format: int,) -> int:
3607
- """Load texture cubemap"""
3810
+ def rlLoadTextureCubemap(data: Any,size: int,format: int,mipmapCount: int,) -> int:
3811
+ """Load texture cubemap data"""
3608
3812
  ...
3609
3813
  def rlLoadTextureDepth(width: int,height: int,useRenderBuffer: bool,) -> int:
3610
3814
  """Load depth texture/renderbuffer (to be attached to fbo)"""
@@ -3613,10 +3817,10 @@ def rlLoadVertexArray() -> int:
3613
3817
  """Load vertex array (vao) if supported"""
3614
3818
  ...
3615
3819
  def rlLoadVertexBuffer(buffer: Any,size: int,dynamic: bool,) -> int:
3616
- """Load a vertex buffer attribute"""
3820
+ """Load a vertex buffer object"""
3617
3821
  ...
3618
3822
  def rlLoadVertexBufferElement(buffer: Any,size: int,dynamic: bool,) -> int:
3619
- """Load a new attributes element buffer"""
3823
+ """Load vertex buffer elements object"""
3620
3824
  ...
3621
3825
  def rlMatrixMode(mode: int,) -> None:
3622
3826
  """Choose the current matrix to be transformed"""
@@ -3663,6 +3867,9 @@ def rlSetBlendFactorsSeparate(glSrcRGB: int,glDstRGB: int,glSrcAlpha: int,glDstA
3663
3867
  def rlSetBlendMode(mode: int,) -> None:
3664
3868
  """Set blending mode"""
3665
3869
  ...
3870
+ def rlSetClipPlanes(nearPlane: float,farPlane: float,) -> None:
3871
+ """Set clip planes distances"""
3872
+ ...
3666
3873
  def rlSetCullFace(mode: int,) -> None:
3667
3874
  """Set face culling mode"""
3668
3875
  ...
@@ -3699,20 +3906,23 @@ def rlSetTexture(id: int,) -> None:
3699
3906
  def rlSetUniform(locIndex: int,value: Any,uniformType: int,count: int,) -> None:
3700
3907
  """Set shader value uniform"""
3701
3908
  ...
3909
+ def rlSetUniformMatrices(locIndex: int,mat: Any|list|tuple,count: int,) -> None:
3910
+ """Set shader value matrices"""
3911
+ ...
3702
3912
  def rlSetUniformMatrix(locIndex: int,mat: Matrix|list|tuple,) -> None:
3703
3913
  """Set shader value matrix"""
3704
3914
  ...
3705
3915
  def rlSetUniformSampler(locIndex: int,textureId: int,) -> None:
3706
3916
  """Set shader value sampler"""
3707
3917
  ...
3708
- def rlSetVertexAttribute(index: int,compSize: int,type: int,normalized: bool,stride: int,pointer: Any,) -> None:
3709
- """"""
3918
+ def rlSetVertexAttribute(index: int,compSize: int,type: int,normalized: bool,stride: int,offset: int,) -> None:
3919
+ """Set vertex attribute data configuration"""
3710
3920
  ...
3711
3921
  def rlSetVertexAttributeDefault(locIndex: int,value: Any,attribType: int,count: int,) -> None:
3712
- """Set vertex attribute default value"""
3922
+ """Set vertex attribute default value, when attribute to provided"""
3713
3923
  ...
3714
3924
  def rlSetVertexAttributeDivisor(index: int,divisor: int,) -> None:
3715
- """"""
3925
+ """Set vertex attribute data divisor"""
3716
3926
  ...
3717
3927
  def rlTexCoord2f(x: float,y: float,) -> None:
3718
3928
  """Define one vertex (texture coordinate) - 2 float"""
@@ -3739,22 +3949,22 @@ def rlUnloadTexture(id: int,) -> None:
3739
3949
  """Unload texture from GPU memory"""
3740
3950
  ...
3741
3951
  def rlUnloadVertexArray(vaoId: int,) -> None:
3742
- """"""
3952
+ """Unload vertex array (vao)"""
3743
3953
  ...
3744
3954
  def rlUnloadVertexBuffer(vboId: int,) -> None:
3745
- """"""
3955
+ """Unload vertex buffer object"""
3746
3956
  ...
3747
3957
  def rlUpdateShaderBuffer(id: int,data: Any,dataSize: int,offset: int,) -> None:
3748
3958
  """Update SSBO buffer data"""
3749
3959
  ...
3750
3960
  def rlUpdateTexture(id: int,offsetX: int,offsetY: int,width: int,height: int,format: int,data: Any,) -> None:
3751
- """Update GPU texture with new data"""
3961
+ """Update texture with new data on GPU"""
3752
3962
  ...
3753
3963
  def rlUpdateVertexBuffer(bufferId: int,data: Any,dataSize: int,offset: int,) -> None:
3754
- """Update GPU buffer with new data"""
3964
+ """Update vertex buffer object data on GPU buffer"""
3755
3965
  ...
3756
3966
  def rlUpdateVertexBufferElements(id: int,data: Any,dataSize: int,offset: int,) -> None:
3757
- """Update vertex buffer elements with new data"""
3967
+ """Update vertex buffer elements data on GPU buffer"""
3758
3968
  ...
3759
3969
  def rlVertex2f(x: float,y: float,) -> None:
3760
3970
  """Define one vertex (position) - 2 float"""
@@ -3947,6 +4157,8 @@ class Mesh:
3947
4157
  animNormals: Any
3948
4158
  boneIds: bytes
3949
4159
  boneWeights: Any
4160
+ boneMatrices: Any
4161
+ boneCount: int
3950
4162
  vaoId: int
3951
4163
  vboId: Any
3952
4164
  class Model:
@@ -4101,7 +4313,6 @@ class VrDeviceInfo:
4101
4313
  vResolution: int
4102
4314
  hScreenSize: float
4103
4315
  vScreenSize: float
4104
- vScreenCenter: float
4105
4316
  eyeToScreenDistance: float
4106
4317
  lensSeparationDistance: float
4107
4318
  interpupillaryDistance: float
@@ -4157,6 +4368,7 @@ class rlVertexBuffer:
4157
4368
  elementCount: int
4158
4369
  vertices: Any
4159
4370
  texcoords: Any
4371
+ normals: Any
4160
4372
  colors: bytes
4161
4373
  indices: Any
4162
4374
  vaoId: int