raylib 5.0.0.4__cp312-cp312-manylinux2014_aarch64.whl → 5.5.0.0.dev3__cp312-cp312-manylinux2014_aarch64.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,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
@@ -89,6 +89,9 @@ def CheckCollisionBoxSphere(box: BoundingBox,center: Vector3,radius: float,) ->
89
89
  def CheckCollisionBoxes(box1: BoundingBox,box2: BoundingBox,) -> bool:
90
90
  """Check collision between two bounding boxes"""
91
91
  ...
92
+ def CheckCollisionCircleLine(center: Vector2,radius: float,p1: Vector2,p2: Vector2,) -> bool:
93
+ """Check if circle collides with a line created betweeen two points [p1] and [p2]"""
94
+ ...
92
95
  def CheckCollisionCircleRec(center: Vector2,radius: float,rec: Rectangle,) -> bool:
93
96
  """Check collision between circle and rectangle"""
94
97
  ...
@@ -158,6 +161,12 @@ def ColorFromHSV(hue: float,saturation: float,value: float,) -> Color:
158
161
  def ColorFromNormalized(normalized: Vector4,) -> Color:
159
162
  """Get Color from normalized values [0..1]"""
160
163
  ...
164
+ def ColorIsEqual(col1: Color,col2: Color,) -> bool:
165
+ """Check if two colors are equal"""
166
+ ...
167
+ def ColorLerp(color1: Color,color2: Color,factor: float,) -> Color:
168
+ """Get color lerp interpolation between two colors, factor [0.0f..1.0f]"""
169
+ ...
161
170
  def ColorNormalize(color: Color,) -> Vector4:
162
171
  """Get Color normalized as float [0..1]"""
163
172
  ...
@@ -168,11 +177,17 @@ def ColorToHSV(color: Color,) -> Vector3:
168
177
  """Get HSV values for a Color, hue [0..360], saturation/value [0..1]"""
169
178
  ...
170
179
  def ColorToInt(color: Color,) -> int:
171
- """Get hexadecimal value for a Color"""
180
+ """Get hexadecimal value for a Color (0xRRGGBBAA)"""
172
181
  ...
173
182
  def CompressData(data: str,dataSize: int,compDataSize: Any,) -> str:
174
183
  """Compress data (DEFLATE algorithm), memory must be MemFree()"""
175
184
  ...
185
+ def ComputeCRC32(data: str,dataSize: int,) -> int:
186
+ """Compute CRC32 hash code"""
187
+ ...
188
+ def ComputeMD5(data: str,dataSize: int,) -> Any:
189
+ """Compute MD5 hash code, returns static int[4] (16 bytes)"""
190
+ ...
176
191
  def CreatePhysicsBodyCircle(pos: Vector2,radius: float,density: float,) -> Any:
177
192
  """Creates a new circle physics body with generic parameters"""
178
193
  ...
@@ -184,7 +199,9 @@ def CreatePhysicsBodyRectangle(pos: Vector2,width: float,height: float,density:
184
199
  ...
185
200
  DEFAULT: int
186
201
  DROPDOWNBOX: int
202
+ DROPDOWN_ARROW_HIDDEN: int
187
203
  DROPDOWN_ITEMS_SPACING: int
204
+ DROPDOWN_ROLL_UP: int
188
205
  def DecodeDataBase64(data: str,outputSize: Any,) -> str:
189
206
  """Decode Base64 string data, memory must be MemFree()"""
190
207
  ...
@@ -209,7 +226,7 @@ def DisableCursor() -> None:
209
226
  def DisableEventWaiting() -> None:
210
227
  """Disable waiting for events on EndDrawing(), automatic events polling"""
211
228
  ...
212
- def DrawBillboard(camera: Camera3D,texture: Texture,position: Vector3,size: float,tint: Color,) -> None:
229
+ def DrawBillboard(camera: Camera3D,texture: Texture,position: Vector3,scale: float,tint: Color,) -> None:
213
230
  """Draw a billboard texture"""
214
231
  ...
215
232
  def DrawBillboardPro(camera: Camera3D,texture: Texture,source: Rectangle,position: Vector3,up: Vector3,size: Vector2,origin: Vector2,rotation: float,tint: Color,) -> None:
@@ -233,7 +250,7 @@ def DrawCircle(centerX: int,centerY: int,radius: float,color: Color,) -> None:
233
250
  def DrawCircle3D(center: Vector3,radius: float,rotationAxis: Vector3,rotationAngle: float,color: Color,) -> None:
234
251
  """Draw a circle in 3D world space"""
235
252
  ...
236
- def DrawCircleGradient(centerX: int,centerY: int,radius: float,color1: Color,color2: Color,) -> None:
253
+ def DrawCircleGradient(centerX: int,centerY: int,radius: float,inner: Color,outer: Color,) -> None:
237
254
  """Draw a gradient-filled circle"""
238
255
  ...
239
256
  def DrawCircleLines(centerX: int,centerY: int,radius: float,color: Color,) -> None:
@@ -317,6 +334,12 @@ def DrawModel(model: Model,position: Vector3,scale: float,tint: Color,) -> None:
317
334
  def DrawModelEx(model: Model,position: Vector3,rotationAxis: Vector3,rotationAngle: float,scale: Vector3,tint: Color,) -> None:
318
335
  """Draw a model with extended parameters"""
319
336
  ...
337
+ def DrawModelPoints(model: Model,position: Vector3,scale: float,tint: Color,) -> None:
338
+ """Draw a model as points"""
339
+ ...
340
+ def DrawModelPointsEx(model: Model,position: Vector3,rotationAxis: Vector3,rotationAngle: float,scale: Vector3,tint: Color,) -> None:
341
+ """Draw a model as points with extended parameters"""
342
+ ...
320
343
  def DrawModelWires(model: Model,position: Vector3,scale: float,tint: Color,) -> None:
321
344
  """Draw a model wires (with texture if set)"""
322
345
  ...
@@ -324,10 +347,10 @@ def DrawModelWiresEx(model: Model,position: Vector3,rotationAxis: Vector3,rotati
324
347
  """Draw a model wires (with texture if set) with extended parameters"""
325
348
  ...
326
349
  def DrawPixel(posX: int,posY: int,color: Color,) -> None:
327
- """Draw a pixel"""
350
+ """Draw a pixel using geometry [Can be slow, use with care]"""
328
351
  ...
329
352
  def DrawPixelV(position: Vector2,color: Color,) -> None:
330
- """Draw a pixel (Vector version)"""
353
+ """Draw a pixel using geometry (Vector version) [Can be slow, use with care]"""
331
354
  ...
332
355
  def DrawPlane(centerPos: Vector3,size: Vector2,color: Color,) -> None:
333
356
  """Draw a plane XZ"""
@@ -350,13 +373,13 @@ def DrawRay(ray: Ray,color: Color,) -> None:
350
373
  def DrawRectangle(posX: int,posY: int,width: int,height: int,color: Color,) -> None:
351
374
  """Draw a color-filled rectangle"""
352
375
  ...
353
- def DrawRectangleGradientEx(rec: Rectangle,col1: Color,col2: Color,col3: Color,col4: Color,) -> None:
376
+ def DrawRectangleGradientEx(rec: Rectangle,topLeft: Color,bottomLeft: Color,topRight: Color,bottomRight: Color,) -> None:
354
377
  """Draw a gradient-filled rectangle with custom vertex colors"""
355
378
  ...
356
- def DrawRectangleGradientH(posX: int,posY: int,width: int,height: int,color1: Color,color2: Color,) -> None:
379
+ def DrawRectangleGradientH(posX: int,posY: int,width: int,height: int,left: Color,right: Color,) -> None:
357
380
  """Draw a horizontal-gradient-filled rectangle"""
358
381
  ...
359
- def DrawRectangleGradientV(posX: int,posY: int,width: int,height: int,color1: Color,color2: Color,) -> None:
382
+ def DrawRectangleGradientV(posX: int,posY: int,width: int,height: int,top: Color,bottom: Color,) -> None:
360
383
  """Draw a vertical-gradient-filled rectangle"""
361
384
  ...
362
385
  def DrawRectangleLines(posX: int,posY: int,width: int,height: int,color: Color,) -> None:
@@ -374,7 +397,10 @@ def DrawRectangleRec(rec: Rectangle,color: Color,) -> None:
374
397
  def DrawRectangleRounded(rec: Rectangle,roundness: float,segments: int,color: Color,) -> None:
375
398
  """Draw rectangle with rounded edges"""
376
399
  ...
377
- def DrawRectangleRoundedLines(rec: Rectangle,roundness: float,segments: int,lineThick: float,color: Color,) -> None:
400
+ def DrawRectangleRoundedLines(rec: Rectangle,roundness: float,segments: int,color: Color,) -> None:
401
+ """Draw rectangle lines with rounded edges"""
402
+ ...
403
+ def DrawRectangleRoundedLinesEx(rec: Rectangle,roundness: float,segments: int,lineThick: float,color: Color,) -> None:
378
404
  """Draw rectangle with rounded edges outline"""
379
405
  ...
380
406
  def DrawRectangleV(position: Vector2,size: Vector2,color: Color,) -> None:
@@ -530,6 +556,9 @@ def ExportImageToMemory(image: Image,fileType: str,fileSize: Any,) -> str:
530
556
  def ExportMesh(mesh: Mesh,fileName: str,) -> bool:
531
557
  """Export mesh data to file, returns true on success"""
532
558
  ...
559
+ def ExportMeshAsCode(mesh: Mesh,fileName: str,) -> bool:
560
+ """Export mesh as code file (.h) defining multiple arrays of vertex attributes"""
561
+ ...
533
562
  def ExportWave(wave: Wave,fileName: str,) -> bool:
534
563
  """Export wave data to file, returns true on success"""
535
564
  ...
@@ -819,9 +848,6 @@ def GetMouseDelta() -> Vector2:
819
848
  def GetMousePosition() -> Vector2:
820
849
  """Get mouse position XY"""
821
850
  ...
822
- def GetMouseRay(mousePosition: Vector2,camera: Camera3D,) -> Ray:
823
- """Get a ray trace from mouse position"""
824
- ...
825
851
  def GetMouseWheelMove() -> float:
826
852
  """Get mouse wheel movement for X or Y, whichever is larger"""
827
853
  ...
@@ -894,6 +920,12 @@ def GetScreenHeight() -> int:
894
920
  def GetScreenToWorld2D(position: Vector2,camera: Camera2D,) -> Vector2:
895
921
  """Get the world space position for a 2d camera screen space position"""
896
922
  ...
923
+ def GetScreenToWorldRay(position: Vector2,camera: Camera3D,) -> Ray:
924
+ """Get a ray trace from screen position (i.e mouse)"""
925
+ ...
926
+ def GetScreenToWorldRayEx(position: Vector2,camera: Camera3D,width: int,height: int,) -> Ray:
927
+ """Get a ray trace from screen position (i.e mouse) in a viewport"""
928
+ ...
897
929
  def GetScreenWidth() -> int:
898
930
  """Get current screen width"""
899
931
  ...
@@ -903,6 +935,12 @@ def GetShaderLocation(shader: Shader,uniformName: str,) -> int:
903
935
  def GetShaderLocationAttrib(shader: Shader,attribName: str,) -> int:
904
936
  """Get shader attribute location"""
905
937
  ...
938
+ def GetShapesTexture() -> Texture:
939
+ """Get texture that is used for shapes drawing"""
940
+ ...
941
+ def GetShapesTextureRectangle() -> Rectangle:
942
+ """Get texture source rectangle that is used for shapes drawing"""
943
+ ...
906
944
  def GetSplinePointBasis(p1: Vector2,p2: Vector2,p3: Vector2,p4: Vector2,t: float,) -> Vector2:
907
945
  """Get (evaluate) spline point: B-Spline"""
908
946
  ...
@@ -973,7 +1011,7 @@ def GuiColorPanel(bounds: Rectangle,text: str,color: Any,) -> int:
973
1011
  """Color Panel control"""
974
1012
  ...
975
1013
  def GuiColorPanelHSV(bounds: Rectangle,text: str,colorHsv: Any,) -> int:
976
- """Color Panel control that returns HSV color value, used by GuiColorPickerHSV()"""
1014
+ """Color Panel control that updates Hue-Saturation-Value color value, used by GuiColorPickerHSV()"""
977
1015
  ...
978
1016
  def GuiColorPicker(bounds: Rectangle,text: str,color: Any,) -> int:
979
1017
  """Color Picker control (multiple color controls)"""
@@ -982,7 +1020,7 @@ def GuiColorPickerHSV(bounds: Rectangle,text: str,colorHsv: Any,) -> int:
982
1020
  """Color Picker control that avoids conversion to RGB on each call (multiple color controls)"""
983
1021
  ...
984
1022
  def GuiComboBox(bounds: Rectangle,text: str,active: Any,) -> int:
985
- """Combo Box control, returns selected item index"""
1023
+ """Combo Box control"""
986
1024
  ...
987
1025
  def GuiDisable() -> None:
988
1026
  """Disable gui controls (global state)"""
@@ -994,7 +1032,7 @@ def GuiDrawIcon(iconId: int,posX: int,posY: int,pixelSize: int,color: Color,) ->
994
1032
  """Draw icon using pixel size at specified position"""
995
1033
  ...
996
1034
  def GuiDropdownBox(bounds: Rectangle,text: str,active: Any,editMode: bool,) -> int:
997
- """Dropdown Box control, returns selected item"""
1035
+ """Dropdown Box control"""
998
1036
  ...
999
1037
  def GuiDummyRec(bounds: Rectangle,text: str,) -> int:
1000
1038
  """Dummy control for placeholders"""
@@ -1018,7 +1056,7 @@ def GuiGetStyle(control: int,property: int,) -> int:
1018
1056
  """Get one style property"""
1019
1057
  ...
1020
1058
  def GuiGrid(bounds: Rectangle,text: str,spacing: float,subdivs: int,mouseCell: Any,) -> int:
1021
- """Grid control, returns mouse cell position"""
1059
+ """Grid control"""
1022
1060
  ...
1023
1061
  def GuiGroupBox(bounds: Rectangle,text: str,) -> int:
1024
1062
  """Group Box control with text name"""
@@ -1030,16 +1068,16 @@ def GuiIsLocked() -> bool:
1030
1068
  """Check if gui is locked (global state)"""
1031
1069
  ...
1032
1070
  def GuiLabel(bounds: Rectangle,text: str,) -> int:
1033
- """Label control, shows text"""
1071
+ """Label control"""
1034
1072
  ...
1035
1073
  def GuiLabelButton(bounds: Rectangle,text: str,) -> int:
1036
- """Label button control, show true when clicked"""
1074
+ """Label button control, returns true when clicked"""
1037
1075
  ...
1038
1076
  def GuiLine(bounds: Rectangle,text: str,) -> int:
1039
1077
  """Line separator control, could contain text"""
1040
1078
  ...
1041
1079
  def GuiListView(bounds: Rectangle,text: str,scrollIndex: Any,active: Any,) -> int:
1042
- """List View control, returns selected list item index"""
1080
+ """List View control"""
1043
1081
  ...
1044
1082
  def GuiListViewEx(bounds: Rectangle,text: list[str],count: int,scrollIndex: Any,active: Any,focus: Any,) -> int:
1045
1083
  """List View with extended parameters"""
@@ -1063,7 +1101,7 @@ def GuiPanel(bounds: Rectangle,text: str,) -> int:
1063
1101
  """Panel control, useful to group controls"""
1064
1102
  ...
1065
1103
  def GuiProgressBar(bounds: Rectangle,textLeft: str,textRight: str,value: Any,minValue: float,maxValue: float,) -> int:
1066
- """Progress Bar control, shows current progress value"""
1104
+ """Progress Bar control"""
1067
1105
  ...
1068
1106
  def GuiScrollPanel(bounds: Rectangle,text: str,content: Rectangle,scroll: Any,view: Any,) -> int:
1069
1107
  """Scroll Panel control"""
@@ -1087,13 +1125,13 @@ def GuiSetTooltip(tooltip: str,) -> None:
1087
1125
  """Set tooltip string"""
1088
1126
  ...
1089
1127
  def GuiSlider(bounds: Rectangle,textLeft: str,textRight: str,value: Any,minValue: float,maxValue: float,) -> int:
1090
- """Slider control, returns selected value"""
1128
+ """Slider control"""
1091
1129
  ...
1092
1130
  def GuiSliderBar(bounds: Rectangle,textLeft: str,textRight: str,value: Any,minValue: float,maxValue: float,) -> int:
1093
- """Slider Bar control, returns selected value"""
1131
+ """Slider Bar control"""
1094
1132
  ...
1095
1133
  def GuiSpinner(bounds: Rectangle,text: str,value: Any,minValue: int,maxValue: int,editMode: bool,) -> int:
1096
- """Spinner control, returns selected value"""
1134
+ """Spinner control"""
1097
1135
  ...
1098
1136
  def GuiStatusBar(bounds: Rectangle,text: str,) -> int:
1099
1137
  """Status Bar control, shows info text"""
@@ -1108,13 +1146,13 @@ def GuiTextInputBox(bounds: Rectangle,title: str,message: str,buttons: str,text:
1108
1146
  """Text Input Box control, ask for text, supports secret"""
1109
1147
  ...
1110
1148
  def GuiToggle(bounds: Rectangle,text: str,active: Any,) -> int:
1111
- """Toggle Button control, returns true when active"""
1149
+ """Toggle Button control"""
1112
1150
  ...
1113
1151
  def GuiToggleGroup(bounds: Rectangle,text: str,active: Any,) -> int:
1114
- """Toggle Group control, returns active toggle index"""
1152
+ """Toggle Group control"""
1115
1153
  ...
1116
1154
  def GuiToggleSlider(bounds: Rectangle,text: str,active: Any,) -> int:
1117
- """Toggle Slider control, returns true when clicked"""
1155
+ """Toggle Slider control"""
1118
1156
  ...
1119
1157
  def GuiUnlock() -> None:
1120
1158
  """Unlock gui controls (global state)"""
@@ -1122,6 +1160,9 @@ def GuiUnlock() -> None:
1122
1160
  def GuiValueBox(bounds: Rectangle,text: str,value: Any,minValue: int,maxValue: int,editMode: bool,) -> int:
1123
1161
  """Value Box control, updates input text with numbers"""
1124
1162
  ...
1163
+ def GuiValueBoxFloat(bounds: Rectangle,text: str,textValue: str,value: Any,editMode: bool,) -> int:
1164
+ """Value box control for float values"""
1165
+ ...
1125
1166
  def GuiWindowBox(bounds: Rectangle,title: str,) -> int:
1126
1167
  """Window Box control, shows a window that can be closed"""
1127
1168
  ...
@@ -1133,15 +1174,6 @@ def HideCursor() -> None:
1133
1174
  """Hides cursor"""
1134
1175
  ...
1135
1176
  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
1177
  ICON_229: int
1146
1178
  ICON_230: int
1147
1179
  ICON_231: int
@@ -1287,13 +1319,18 @@ ICON_GRID_FILL: int
1287
1319
  ICON_HAND_POINTER: int
1288
1320
  ICON_HEART: int
1289
1321
  ICON_HELP: int
1322
+ ICON_HELP_BOX: int
1290
1323
  ICON_HEX: int
1291
1324
  ICON_HIDPI: int
1325
+ ICON_HOT: int
1292
1326
  ICON_HOUSE: int
1293
1327
  ICON_INFO: int
1328
+ ICON_INFO_BOX: int
1294
1329
  ICON_KEY: int
1295
1330
  ICON_LASER: int
1296
1331
  ICON_LAYERS: int
1332
+ ICON_LAYERS2: int
1333
+ ICON_LAYERS_ISO: int
1297
1334
  ICON_LAYERS_VISIBLE: int
1298
1335
  ICON_LENS: int
1299
1336
  ICON_LENS_BIG: int
@@ -1307,7 +1344,9 @@ ICON_LOCK_CLOSE: int
1307
1344
  ICON_LOCK_OPEN: int
1308
1345
  ICON_MAGNET: int
1309
1346
  ICON_MAILBOX: int
1347
+ ICON_MAPS: int
1310
1348
  ICON_MIPMAPS: int
1349
+ ICON_MLAYERS: int
1311
1350
  ICON_MODE_2D: int
1312
1351
  ICON_MODE_3D: int
1313
1352
  ICON_MONITOR: int
@@ -1331,6 +1370,7 @@ ICON_PLAYER_RECORD: int
1331
1370
  ICON_PLAYER_STOP: int
1332
1371
  ICON_POT: int
1333
1372
  ICON_PRINTER: int
1373
+ ICON_PRIORITY: int
1334
1374
  ICON_REDO: int
1335
1375
  ICON_REDO_FILL: int
1336
1376
  ICON_REG_EXP: int
@@ -1377,6 +1417,7 @@ ICON_UNDO: int
1377
1417
  ICON_UNDO_FILL: int
1378
1418
  ICON_VERTICAL_BARS: int
1379
1419
  ICON_VERTICAL_BARS_FILL: int
1420
+ ICON_WARNING: int
1380
1421
  ICON_WATER_DROP: int
1381
1422
  ICON_WAVE: int
1382
1423
  ICON_WAVE_SINUS: int
@@ -1451,6 +1492,9 @@ def ImageDrawCircleV(dst: Any,center: Vector2,radius: int,color: Color,) -> None
1451
1492
  def ImageDrawLine(dst: Any,startPosX: int,startPosY: int,endPosX: int,endPosY: int,color: Color,) -> None:
1452
1493
  """Draw line within an image"""
1453
1494
  ...
1495
+ def ImageDrawLineEx(dst: Any,start: Vector2,end: Vector2,thick: int,color: Color,) -> None:
1496
+ """Draw a line defining thickness within an image"""
1497
+ ...
1454
1498
  def ImageDrawLineV(dst: Any,start: Vector2,end: Vector2,color: Color,) -> None:
1455
1499
  """Draw line within an image (Vector version)"""
1456
1500
  ...
@@ -1478,6 +1522,21 @@ def ImageDrawText(dst: Any,text: str,posX: int,posY: int,fontSize: int,color: Co
1478
1522
  def ImageDrawTextEx(dst: Any,font: Font,text: str,position: Vector2,fontSize: float,spacing: float,tint: Color,) -> None:
1479
1523
  """Draw text (custom sprite font) within an image (destination)"""
1480
1524
  ...
1525
+ def ImageDrawTriangle(dst: Any,v1: Vector2,v2: Vector2,v3: Vector2,color: Color,) -> None:
1526
+ """Draw triangle within an image"""
1527
+ ...
1528
+ def ImageDrawTriangleEx(dst: Any,v1: Vector2,v2: Vector2,v3: Vector2,c1: Color,c2: Color,c3: Color,) -> None:
1529
+ """Draw triangle with interpolated colors within an image"""
1530
+ ...
1531
+ def ImageDrawTriangleFan(dst: Any,points: Any,pointCount: int,color: Color,) -> None:
1532
+ """Draw a triangle fan defined by points within an image (first vertex is the center)"""
1533
+ ...
1534
+ def ImageDrawTriangleLines(dst: Any,v1: Vector2,v2: Vector2,v3: Vector2,color: Color,) -> None:
1535
+ """Draw triangle outline within an image"""
1536
+ ...
1537
+ def ImageDrawTriangleStrip(dst: Any,points: Any,pointCount: int,color: Color,) -> None:
1538
+ """Draw a triangle strip defined by points within an image"""
1539
+ ...
1481
1540
  def ImageFlipHorizontal(image: Any,) -> None:
1482
1541
  """Flip image horizontally"""
1483
1542
  ...
@@ -1487,9 +1546,15 @@ def ImageFlipVertical(image: Any,) -> None:
1487
1546
  def ImageFormat(image: Any,newFormat: int,) -> None:
1488
1547
  """Convert image data to desired format"""
1489
1548
  ...
1549
+ def ImageFromChannel(image: Image,selectedChannel: int,) -> Image:
1550
+ """Create an image from a selected channel of another image (GRAYSCALE)"""
1551
+ ...
1490
1552
  def ImageFromImage(image: Image,rec: Rectangle,) -> Image:
1491
1553
  """Create an image from another image piece"""
1492
1554
  ...
1555
+ def ImageKernelConvolution(image: Any,kernel: Any,kernelSize: int,) -> None:
1556
+ """Apply custom square convolution kernel to image"""
1557
+ ...
1493
1558
  def ImageMipmaps(image: Any,) -> None:
1494
1559
  """Compute all mipmap levels for a provided image"""
1495
1560
  ...
@@ -1538,8 +1603,8 @@ def IsAudioStreamPlaying(stream: AudioStream,) -> bool:
1538
1603
  def IsAudioStreamProcessed(stream: AudioStream,) -> bool:
1539
1604
  """Check if any audio stream buffers requires refill"""
1540
1605
  ...
1541
- def IsAudioStreamReady(stream: AudioStream,) -> bool:
1542
- """Checks if an audio stream is ready"""
1606
+ def IsAudioStreamValid(stream: AudioStream,) -> bool:
1607
+ """Checks if an audio stream is valid (buffers initialized)"""
1543
1608
  ...
1544
1609
  def IsCursorHidden() -> bool:
1545
1610
  """Check if cursor is not visible"""
@@ -1553,8 +1618,11 @@ def IsFileDropped() -> bool:
1553
1618
  def IsFileExtension(fileName: str,ext: str,) -> bool:
1554
1619
  """Check file extension (including point: .png, .wav)"""
1555
1620
  ...
1556
- def IsFontReady(font: Font,) -> bool:
1557
- """Check if a font is ready"""
1621
+ def IsFileNameValid(fileName: str,) -> bool:
1622
+ """Check if fileName is valid for the platform/OS"""
1623
+ ...
1624
+ def IsFontValid(font: Font,) -> bool:
1625
+ """Check if a font is valid (font data loaded, WARNING: GPU texture not checked)"""
1558
1626
  ...
1559
1627
  def IsGamepadAvailable(gamepad: int,) -> bool:
1560
1628
  """Check if a gamepad is available"""
@@ -1574,8 +1642,8 @@ def IsGamepadButtonUp(gamepad: int,button: int,) -> bool:
1574
1642
  def IsGestureDetected(gesture: int,) -> bool:
1575
1643
  """Check if a gesture have been detected"""
1576
1644
  ...
1577
- def IsImageReady(image: Image,) -> bool:
1578
- """Check if an image is ready"""
1645
+ def IsImageValid(image: Image,) -> bool:
1646
+ """Check if an image is valid (data and parameters)"""
1579
1647
  ...
1580
1648
  def IsKeyDown(key: int,) -> bool:
1581
1649
  """Check if a key is being pressed"""
@@ -1592,14 +1660,14 @@ def IsKeyReleased(key: int,) -> bool:
1592
1660
  def IsKeyUp(key: int,) -> bool:
1593
1661
  """Check if a key is NOT being pressed"""
1594
1662
  ...
1595
- def IsMaterialReady(material: Material,) -> bool:
1596
- """Check if a material is ready"""
1663
+ def IsMaterialValid(material: Material,) -> bool:
1664
+ """Check if a material is valid (shader assigned, map textures loaded in GPU)"""
1597
1665
  ...
1598
1666
  def IsModelAnimationValid(model: Model,anim: ModelAnimation,) -> bool:
1599
1667
  """Check model animation skeleton match"""
1600
1668
  ...
1601
- def IsModelReady(model: Model,) -> bool:
1602
- """Check if a model is ready"""
1669
+ def IsModelValid(model: Model,) -> bool:
1670
+ """Check if a model is valid (loaded in GPU, VAO/VBOs)"""
1603
1671
  ...
1604
1672
  def IsMouseButtonDown(button: int,) -> bool:
1605
1673
  """Check if a mouse button is being pressed"""
@@ -1613,32 +1681,32 @@ def IsMouseButtonReleased(button: int,) -> bool:
1613
1681
  def IsMouseButtonUp(button: int,) -> bool:
1614
1682
  """Check if a mouse button is NOT being pressed"""
1615
1683
  ...
1616
- def IsMusicReady(music: Music,) -> bool:
1617
- """Checks if a music stream is ready"""
1618
- ...
1619
1684
  def IsMusicStreamPlaying(music: Music,) -> bool:
1620
1685
  """Check if music is playing"""
1621
1686
  ...
1687
+ def IsMusicValid(music: Music,) -> bool:
1688
+ """Checks if a music stream is valid (context and buffers initialized)"""
1689
+ ...
1622
1690
  def IsPathFile(path: str,) -> bool:
1623
1691
  """Check if a given path is a file or a directory"""
1624
1692
  ...
1625
- def IsRenderTextureReady(target: RenderTexture,) -> bool:
1626
- """Check if a render texture is ready"""
1693
+ def IsRenderTextureValid(target: RenderTexture,) -> bool:
1694
+ """Check if a render texture is valid (loaded in GPU)"""
1627
1695
  ...
1628
- def IsShaderReady(shader: Shader,) -> bool:
1629
- """Check if a shader is ready"""
1696
+ def IsShaderValid(shader: Shader,) -> bool:
1697
+ """Check if a shader is valid (loaded on GPU)"""
1630
1698
  ...
1631
1699
  def IsSoundPlaying(sound: Sound,) -> bool:
1632
1700
  """Check if a sound is currently playing"""
1633
1701
  ...
1634
- def IsSoundReady(sound: Sound,) -> bool:
1635
- """Checks if a sound is ready"""
1702
+ def IsSoundValid(sound: Sound,) -> bool:
1703
+ """Checks if a sound is valid (data loaded and buffers initialized)"""
1636
1704
  ...
1637
- def IsTextureReady(texture: Texture,) -> bool:
1638
- """Check if a texture is ready"""
1705
+ def IsTextureValid(texture: Texture,) -> bool:
1706
+ """Check if a texture is valid (loaded in GPU)"""
1639
1707
  ...
1640
- def IsWaveReady(wave: Wave,) -> bool:
1641
- """Checks if wave data is ready"""
1708
+ def IsWaveValid(wave: Wave,) -> bool:
1709
+ """Checks if wave data is valid (data loaded and parameters)"""
1642
1710
  ...
1643
1711
  def IsWindowFocused() -> bool:
1644
1712
  """Check if window is currently focused (only PLATFORM_DESKTOP)"""
@@ -1777,6 +1845,7 @@ KEY_ZERO: int
1777
1845
  LABEL: int
1778
1846
  LINE_COLOR: int
1779
1847
  LISTVIEW: int
1848
+ LIST_ITEMS_BORDER_WIDTH: int
1780
1849
  LIST_ITEMS_HEIGHT: int
1781
1850
  LIST_ITEMS_SPACING: int
1782
1851
  LOG_ALL: int
@@ -1803,7 +1872,7 @@ def LoadDirectoryFiles(dirPath: str,) -> FilePathList:
1803
1872
  """Load directory filepaths"""
1804
1873
  ...
1805
1874
  def LoadDirectoryFilesEx(basePath: str,filter: str,scanSubdirs: bool,) -> FilePathList:
1806
- """Load directory filepaths with extension filtering and recursive directory scan"""
1875
+ """Load directory filepaths with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result"""
1807
1876
  ...
1808
1877
  def LoadDroppedFiles() -> FilePathList:
1809
1878
  """Load dropped filepaths"""
@@ -1821,7 +1890,7 @@ def LoadFontData(fileData: str,dataSize: int,fontSize: int,codepoints: Any,codep
1821
1890
  """Load font data for further use"""
1822
1891
  ...
1823
1892
  def LoadFontEx(fileName: str,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"""
1893
+ """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
1894
  ...
1826
1895
  def LoadFontFromImage(image: Image,key: Color,firstChar: int,) -> Font:
1827
1896
  """Load font from Image (XNA style)"""
@@ -1835,6 +1904,9 @@ def LoadImage(fileName: str,) -> Image:
1835
1904
  def LoadImageAnim(fileName: str,frames: Any,) -> Image:
1836
1905
  """Load image sequence from file (frames appended to image.data)"""
1837
1906
  ...
1907
+ def LoadImageAnimFromMemory(fileType: str,fileData: str,dataSize: int,frames: Any,) -> Image:
1908
+ """Load image sequence from memory buffer"""
1909
+ ...
1838
1910
  def LoadImageColors(image: Image,) -> Any:
1839
1911
  """Load color data from image as a Color array (RGBA - 32bit)"""
1840
1912
  ...
@@ -1853,9 +1925,6 @@ def LoadImagePalette(image: Image,maxPaletteSize: int,colorCount: Any,) -> Any:
1853
1925
  def LoadImageRaw(fileName: str,width: int,height: int,format: int,headerSize: int,) -> Image:
1854
1926
  """Load image from RAW file data"""
1855
1927
  ...
1856
- def LoadImageSvg(fileNameOrString: str,width: int,height: int,) -> Image:
1857
- """Load image from SVG file data or string with specified size"""
1858
- ...
1859
1928
  def LoadMaterialDefault() -> Material:
1860
1929
  """Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)"""
1861
1930
  ...
@@ -1951,13 +2020,19 @@ MOUSE_CURSOR_RESIZE_EW: int
1951
2020
  MOUSE_CURSOR_RESIZE_NESW: int
1952
2021
  MOUSE_CURSOR_RESIZE_NS: int
1953
2022
  MOUSE_CURSOR_RESIZE_NWSE: int
2023
+ def MakeDirectory(dirPath: str,) -> int:
2024
+ """Create directories (including full path requested), returns 0 on success"""
2025
+ ...
1954
2026
  def MatrixAdd(left: Matrix,right: Matrix,) -> Matrix:
1955
2027
  """"""
1956
2028
  ...
2029
+ def MatrixDecompose(mat: Matrix,translation: Any,rotation: Any,scale: Any,) -> None:
2030
+ """"""
2031
+ ...
1957
2032
  def MatrixDeterminant(mat: Matrix,) -> float:
1958
2033
  """"""
1959
2034
  ...
1960
- def MatrixFrustum(left: float,right: float,bottom: float,top: float,near: float,far: float,) -> Matrix:
2035
+ def MatrixFrustum(left: float,right: float,bottom: float,top: float,nearPlane: float,farPlane: float,) -> Matrix:
1961
2036
  """"""
1962
2037
  ...
1963
2038
  def MatrixIdentity() -> Matrix:
@@ -2111,6 +2186,9 @@ def QuaternionAdd(q1: Vector4,q2: Vector4,) -> Vector4:
2111
2186
  def QuaternionAddValue(q: Vector4,add: float,) -> Vector4:
2112
2187
  """"""
2113
2188
  ...
2189
+ def QuaternionCubicHermiteSpline(q1: Vector4,outTangent1: Vector4,q2: Vector4,inTangent2: Vector4,t: float,) -> Vector4:
2190
+ """"""
2191
+ ...
2114
2192
  def QuaternionDivide(q1: Vector4,q2: Vector4,) -> Vector4:
2115
2193
  """"""
2116
2194
  ...
@@ -2276,6 +2354,10 @@ RL_SHADER_UNIFORM_IVEC2: int
2276
2354
  RL_SHADER_UNIFORM_IVEC3: int
2277
2355
  RL_SHADER_UNIFORM_IVEC4: int
2278
2356
  RL_SHADER_UNIFORM_SAMPLER2D: int
2357
+ RL_SHADER_UNIFORM_UINT: int
2358
+ RL_SHADER_UNIFORM_UIVEC2: int
2359
+ RL_SHADER_UNIFORM_UIVEC3: int
2360
+ RL_SHADER_UNIFORM_UIVEC4: int
2279
2361
  RL_SHADER_UNIFORM_VEC2: int
2280
2362
  RL_SHADER_UNIFORM_VEC3: int
2281
2363
  RL_SHADER_UNIFORM_VEC4: int
@@ -2314,6 +2396,7 @@ SHADER_ATTRIB_FLOAT: int
2314
2396
  SHADER_ATTRIB_VEC2: int
2315
2397
  SHADER_ATTRIB_VEC3: int
2316
2398
  SHADER_ATTRIB_VEC4: int
2399
+ SHADER_LOC_BONE_MATRICES: int
2317
2400
  SHADER_LOC_COLOR_AMBIENT: int
2318
2401
  SHADER_LOC_COLOR_DIFFUSE: int
2319
2402
  SHADER_LOC_COLOR_SPECULAR: int
@@ -2334,6 +2417,8 @@ SHADER_LOC_MATRIX_NORMAL: int
2334
2417
  SHADER_LOC_MATRIX_PROJECTION: int
2335
2418
  SHADER_LOC_MATRIX_VIEW: int
2336
2419
  SHADER_LOC_VECTOR_VIEW: int
2420
+ SHADER_LOC_VERTEX_BONEIDS: int
2421
+ SHADER_LOC_VERTEX_BONEWEIGHTS: int
2337
2422
  SHADER_LOC_VERTEX_COLOR: int
2338
2423
  SHADER_LOC_VERTEX_NORMAL: int
2339
2424
  SHADER_LOC_VERTEX_POSITION: int
@@ -2402,6 +2487,9 @@ def SetExitKey(key: int,) -> None:
2402
2487
  def SetGamepadMappings(mappings: str,) -> int:
2403
2488
  """Set internal gamepad mappings (SDL_GameControllerDB)"""
2404
2489
  ...
2490
+ def SetGamepadVibration(gamepad: int,leftMotor: float,rightMotor: float,) -> None:
2491
+ """Set gamepad vibration for both motors"""
2492
+ ...
2405
2493
  def SetGesturesEnabled(flags: int,) -> None:
2406
2494
  """Enable a set of gestures using flags"""
2407
2495
  ...
@@ -2627,6 +2715,12 @@ def TextSplit(text: str,delimiter: str,count: Any,) -> list[str]:
2627
2715
  def TextSubtext(text: str,position: int,length: int,) -> str:
2628
2716
  """Get a piece of a text string"""
2629
2717
  ...
2718
+ def TextToCamel(text: str,) -> str:
2719
+ """Get Camel case notation version of provided string"""
2720
+ ...
2721
+ def TextToFloat(text: str,) -> float:
2722
+ """Get float value from text (negative values not supported)"""
2723
+ ...
2630
2724
  def TextToInteger(text: str,) -> int:
2631
2725
  """Get integer value from text (negative values not supported)"""
2632
2726
  ...
@@ -2636,14 +2730,17 @@ def TextToLower(text: str,) -> str:
2636
2730
  def TextToPascal(text: str,) -> str:
2637
2731
  """Get Pascal case notation version of provided string"""
2638
2732
  ...
2733
+ def TextToSnake(text: str,) -> str:
2734
+ """Get Snake case notation version of provided string"""
2735
+ ...
2639
2736
  def TextToUpper(text: str,) -> str:
2640
2737
  """Get upper case version of provided string"""
2641
2738
  ...
2642
2739
  def ToggleBorderlessWindowed() -> None:
2643
- """Toggle window state: borderless windowed (only PLATFORM_DESKTOP)"""
2740
+ """Toggle window state: borderless windowed [resizes window to match monitor resolution] (only PLATFORM_DESKTOP)"""
2644
2741
  ...
2645
2742
  def ToggleFullscreen() -> None:
2646
- """Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)"""
2743
+ """Toggle window state: fullscreen/windowed [resizes monitor to match window resolution] (only PLATFORM_DESKTOP)"""
2647
2744
  ...
2648
2745
  def TraceLog(*args) -> None:
2649
2746
  """VARARG FUNCTION - MAY NOT BE SUPPORTED BY CFFI"""
@@ -2651,7 +2748,7 @@ def TraceLog(*args) -> None:
2651
2748
  def UnloadAudioStream(stream: AudioStream,) -> None:
2652
2749
  """Unload audio stream and free memory"""
2653
2750
  ...
2654
- def UnloadAutomationEventList(list_0: Any,) -> None:
2751
+ def UnloadAutomationEventList(list_0: AutomationEventList,) -> None:
2655
2752
  """Unload automation events list from file"""
2656
2753
  ...
2657
2754
  def UnloadCodepoints(codepoints: Any,) -> None:
@@ -2747,6 +2844,9 @@ def UpdateMeshBuffer(mesh: Mesh,index: int,data: Any,dataSize: int,offset: int,)
2747
2844
  def UpdateModelAnimation(model: Model,anim: ModelAnimation,frame: int,) -> None:
2748
2845
  """Update model animation pose"""
2749
2846
  ...
2847
+ def UpdateModelAnimationBoneMatrices(model: Model,anim: ModelAnimation,frame: int,) -> None:
2848
+ """Update model animation mesh bone matrices (Note GPU skinning does not work on Mac)"""
2849
+ ...
2750
2850
  def UpdateMusicStream(music: Music,) -> None:
2751
2851
  """Updates buffers for music streaming"""
2752
2852
  ...
@@ -2811,6 +2911,12 @@ def Vector2Lerp(v1: Vector2,v2: Vector2,amount: float,) -> Vector2:
2811
2911
  def Vector2LineAngle(start: Vector2,end: Vector2,) -> float:
2812
2912
  """"""
2813
2913
  ...
2914
+ def Vector2Max(v1: Vector2,v2: Vector2,) -> Vector2:
2915
+ """"""
2916
+ ...
2917
+ def Vector2Min(v1: Vector2,v2: Vector2,) -> Vector2:
2918
+ """"""
2919
+ ...
2814
2920
  def Vector2MoveTowards(v: Vector2,target: Vector2,maxDistance: float,) -> Vector2:
2815
2921
  """"""
2816
2922
  ...
@@ -2829,6 +2935,9 @@ def Vector2One() -> Vector2:
2829
2935
  def Vector2Reflect(v: Vector2,normal: Vector2,) -> Vector2:
2830
2936
  """"""
2831
2937
  ...
2938
+ def Vector2Refract(v: Vector2,n: Vector2,r: float,) -> Vector2:
2939
+ """"""
2940
+ ...
2832
2941
  def Vector2Rotate(v: Vector2,angle: float,) -> Vector2:
2833
2942
  """"""
2834
2943
  ...
@@ -2868,6 +2977,9 @@ def Vector3ClampValue(v: Vector3,min_1: float,max_2: float,) -> Vector3:
2868
2977
  def Vector3CrossProduct(v1: Vector3,v2: Vector3,) -> Vector3:
2869
2978
  """"""
2870
2979
  ...
2980
+ def Vector3CubicHermite(v1: Vector3,tangent1: Vector3,v2: Vector3,tangent2: Vector3,amount: float,) -> Vector3:
2981
+ """"""
2982
+ ...
2871
2983
  def Vector3Distance(v1: Vector3,v2: Vector3,) -> float:
2872
2984
  """"""
2873
2985
  ...
@@ -2901,6 +3013,9 @@ def Vector3Max(v1: Vector3,v2: Vector3,) -> Vector3:
2901
3013
  def Vector3Min(v1: Vector3,v2: Vector3,) -> Vector3:
2902
3014
  """"""
2903
3015
  ...
3016
+ def Vector3MoveTowards(v: Vector3,target: Vector3,maxDistance: float,) -> Vector3:
3017
+ """"""
3018
+ ...
2904
3019
  def Vector3Multiply(v1: Vector3,v2: Vector3,) -> Vector3:
2905
3020
  """"""
2906
3021
  ...
@@ -2958,14 +3073,80 @@ def Vector3Unproject(source: Vector3,projection: Matrix,view: Matrix,) -> Vector
2958
3073
  def Vector3Zero() -> Vector3:
2959
3074
  """"""
2960
3075
  ...
3076
+ def Vector4Add(v1: Vector4,v2: Vector4,) -> Vector4:
3077
+ """"""
3078
+ ...
3079
+ def Vector4AddValue(v: Vector4,add: float,) -> Vector4:
3080
+ """"""
3081
+ ...
3082
+ def Vector4Distance(v1: Vector4,v2: Vector4,) -> float:
3083
+ """"""
3084
+ ...
3085
+ def Vector4DistanceSqr(v1: Vector4,v2: Vector4,) -> float:
3086
+ """"""
3087
+ ...
3088
+ def Vector4Divide(v1: Vector4,v2: Vector4,) -> Vector4:
3089
+ """"""
3090
+ ...
3091
+ def Vector4DotProduct(v1: Vector4,v2: Vector4,) -> float:
3092
+ """"""
3093
+ ...
3094
+ def Vector4Equals(p: Vector4,q: Vector4,) -> int:
3095
+ """"""
3096
+ ...
3097
+ def Vector4Invert(v: Vector4,) -> Vector4:
3098
+ """"""
3099
+ ...
3100
+ def Vector4Length(v: Vector4,) -> float:
3101
+ """"""
3102
+ ...
3103
+ def Vector4LengthSqr(v: Vector4,) -> float:
3104
+ """"""
3105
+ ...
3106
+ def Vector4Lerp(v1: Vector4,v2: Vector4,amount: float,) -> Vector4:
3107
+ """"""
3108
+ ...
3109
+ def Vector4Max(v1: Vector4,v2: Vector4,) -> Vector4:
3110
+ """"""
3111
+ ...
3112
+ def Vector4Min(v1: Vector4,v2: Vector4,) -> Vector4:
3113
+ """"""
3114
+ ...
3115
+ def Vector4MoveTowards(v: Vector4,target: Vector4,maxDistance: float,) -> Vector4:
3116
+ """"""
3117
+ ...
3118
+ def Vector4Multiply(v1: Vector4,v2: Vector4,) -> Vector4:
3119
+ """"""
3120
+ ...
3121
+ def Vector4Negate(v: Vector4,) -> Vector4:
3122
+ """"""
3123
+ ...
3124
+ def Vector4Normalize(v: Vector4,) -> Vector4:
3125
+ """"""
3126
+ ...
3127
+ def Vector4One() -> Vector4:
3128
+ """"""
3129
+ ...
3130
+ def Vector4Scale(v: Vector4,scale: float,) -> Vector4:
3131
+ """"""
3132
+ ...
3133
+ def Vector4Subtract(v1: Vector4,v2: Vector4,) -> Vector4:
3134
+ """"""
3135
+ ...
3136
+ def Vector4SubtractValue(v: Vector4,add: float,) -> Vector4:
3137
+ """"""
3138
+ ...
3139
+ def Vector4Zero() -> Vector4:
3140
+ """"""
3141
+ ...
2961
3142
  def WaitTime(seconds: float,) -> None:
2962
3143
  """Wait for some time (halt program execution)"""
2963
3144
  ...
2964
3145
  def WaveCopy(wave: Wave,) -> Wave:
2965
3146
  """Copy a wave to a new wave"""
2966
3147
  ...
2967
- def WaveCrop(wave: Any,initSample: int,finalSample: int,) -> None:
2968
- """Crop a wave to defined samples range"""
3148
+ def WaveCrop(wave: Any,initFrame: int,finalFrame: int,) -> None:
3149
+ """Crop a wave to defined frames range"""
2969
3150
  ...
2970
3151
  def WaveFormat(wave: Any,sampleRate: int,sampleSize: int,channels: int,) -> None:
2971
3152
  """Convert wave data to desired format"""
@@ -3132,6 +3313,9 @@ def glfwGetWindowPos(window: Any,xpos: Any,ypos: Any,) -> None:
3132
3313
  def glfwGetWindowSize(window: Any,width: Any,height: Any,) -> None:
3133
3314
  """"""
3134
3315
  ...
3316
+ def glfwGetWindowTitle(window: Any,) -> str:
3317
+ """"""
3318
+ ...
3135
3319
  def glfwGetWindowUserPointer(window: Any,) -> Any:
3136
3320
  """"""
3137
3321
  ...
@@ -3342,6 +3526,9 @@ def rlActiveTextureSlot(slot: int,) -> None:
3342
3526
  def rlBegin(mode: int,) -> None:
3343
3527
  """Initialize drawing mode (how to organize vertex)"""
3344
3528
  ...
3529
+ def rlBindFramebuffer(target: int,framebuffer: int,) -> None:
3530
+ """Bind framebuffer (FBO)"""
3531
+ ...
3345
3532
  def rlBindImageTexture(id: int,index: int,format: int,readonly: bool,) -> None:
3346
3533
  """Bind image texture"""
3347
3534
  ...
@@ -3372,6 +3559,9 @@ def rlColor4f(x: float,y: float,z: float,w: float,) -> None:
3372
3559
  def rlColor4ub(r: str,g: str,b: str,a: str,) -> None:
3373
3560
  """Define one vertex (color) - 4 byte"""
3374
3561
  ...
3562
+ def rlColorMask(r: bool,g: bool,b: bool,a: bool,) -> None:
3563
+ """Color mask control"""
3564
+ ...
3375
3565
  def rlCompileShader(shaderCode: str,type: int,) -> int:
3376
3566
  """Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)"""
3377
3567
  ...
@@ -3430,7 +3620,7 @@ def rlDisableVertexBufferElement() -> None:
3430
3620
  """Disable vertex buffer element (VBO element)"""
3431
3621
  ...
3432
3622
  def rlDisableWireMode() -> None:
3433
- """Disable wire mode ( and point ) maybe rename"""
3623
+ """Disable wire (and point) mode"""
3434
3624
  ...
3435
3625
  def rlDrawRenderBatch(batch: Any,) -> None:
3436
3626
  """Draw render batch data (Update->Draw->Reset)"""
@@ -3439,16 +3629,16 @@ def rlDrawRenderBatchActive() -> None:
3439
3629
  """Update and draw internal render batch"""
3440
3630
  ...
3441
3631
  def rlDrawVertexArray(offset: int,count: int,) -> None:
3442
- """"""
3632
+ """Draw vertex array (currently active vao)"""
3443
3633
  ...
3444
3634
  def rlDrawVertexArrayElements(offset: int,count: int,buffer: Any,) -> None:
3445
- """"""
3635
+ """Draw vertex array elements"""
3446
3636
  ...
3447
3637
  def rlDrawVertexArrayElementsInstanced(offset: int,count: int,buffer: Any,instances: int,) -> None:
3448
- """"""
3638
+ """Draw vertex array elements with instancing"""
3449
3639
  ...
3450
3640
  def rlDrawVertexArrayInstanced(offset: int,count: int,instances: int,) -> None:
3451
- """"""
3641
+ """Draw vertex array (currently active vao) with instancing"""
3452
3642
  ...
3453
3643
  def rlEnableBackfaceCulling() -> None:
3454
3644
  """Enable backface culling"""
@@ -3516,6 +3706,15 @@ def rlFrustum(left: float,right: float,bottom: float,top: float,znear: float,zfa
3516
3706
  def rlGenTextureMipmaps(id: int,width: int,height: int,format: int,mipmaps: Any,) -> None:
3517
3707
  """Generate mipmap data for selected texture"""
3518
3708
  ...
3709
+ def rlGetActiveFramebuffer() -> int:
3710
+ """Get the currently active render texture (fbo), 0 for default framebuffer"""
3711
+ ...
3712
+ def rlGetCullDistanceFar() -> float:
3713
+ """Get cull plane distance far"""
3714
+ ...
3715
+ def rlGetCullDistanceNear() -> float:
3716
+ """Get cull plane distance near"""
3717
+ ...
3519
3718
  def rlGetFramebufferHeight() -> int:
3520
3719
  """Get default framebuffer height"""
3521
3720
  ...
@@ -3582,7 +3781,7 @@ def rlLoadDrawQuad() -> None:
3582
3781
  def rlLoadExtensions(loader: Any,) -> None:
3583
3782
  """Load OpenGL extensions (loader function required)"""
3584
3783
  ...
3585
- def rlLoadFramebuffer(width: int,height: int,) -> int:
3784
+ def rlLoadFramebuffer() -> int:
3586
3785
  """Load an empty framebuffer"""
3587
3786
  ...
3588
3787
  def rlLoadIdentity() -> None:
@@ -3601,10 +3800,10 @@ def rlLoadShaderProgram(vShaderId: int,fShaderId: int,) -> int:
3601
3800
  """Load custom shader program"""
3602
3801
  ...
3603
3802
  def rlLoadTexture(data: Any,width: int,height: int,format: int,mipmapCount: int,) -> int:
3604
- """Load texture in GPU"""
3803
+ """Load texture data"""
3605
3804
  ...
3606
3805
  def rlLoadTextureCubemap(data: Any,size: int,format: int,) -> int:
3607
- """Load texture cubemap"""
3806
+ """Load texture cubemap data"""
3608
3807
  ...
3609
3808
  def rlLoadTextureDepth(width: int,height: int,useRenderBuffer: bool,) -> int:
3610
3809
  """Load depth texture/renderbuffer (to be attached to fbo)"""
@@ -3613,10 +3812,10 @@ def rlLoadVertexArray() -> int:
3613
3812
  """Load vertex array (vao) if supported"""
3614
3813
  ...
3615
3814
  def rlLoadVertexBuffer(buffer: Any,size: int,dynamic: bool,) -> int:
3616
- """Load a vertex buffer attribute"""
3815
+ """Load a vertex buffer object"""
3617
3816
  ...
3618
3817
  def rlLoadVertexBufferElement(buffer: Any,size: int,dynamic: bool,) -> int:
3619
- """Load a new attributes element buffer"""
3818
+ """Load vertex buffer elements object"""
3620
3819
  ...
3621
3820
  def rlMatrixMode(mode: int,) -> None:
3622
3821
  """Choose the current matrix to be transformed"""
@@ -3663,6 +3862,9 @@ def rlSetBlendFactorsSeparate(glSrcRGB: int,glDstRGB: int,glSrcAlpha: int,glDstA
3663
3862
  def rlSetBlendMode(mode: int,) -> None:
3664
3863
  """Set blending mode"""
3665
3864
  ...
3865
+ def rlSetClipPlanes(nearPlane: float,farPlane: float,) -> None:
3866
+ """Set clip planes distances"""
3867
+ ...
3666
3868
  def rlSetCullFace(mode: int,) -> None:
3667
3869
  """Set face culling mode"""
3668
3870
  ...
@@ -3699,20 +3901,23 @@ def rlSetTexture(id: int,) -> None:
3699
3901
  def rlSetUniform(locIndex: int,value: Any,uniformType: int,count: int,) -> None:
3700
3902
  """Set shader value uniform"""
3701
3903
  ...
3904
+ def rlSetUniformMatrices(locIndex: int,mat: Any,count: int,) -> None:
3905
+ """Set shader value matrices"""
3906
+ ...
3702
3907
  def rlSetUniformMatrix(locIndex: int,mat: Matrix,) -> None:
3703
3908
  """Set shader value matrix"""
3704
3909
  ...
3705
3910
  def rlSetUniformSampler(locIndex: int,textureId: int,) -> None:
3706
3911
  """Set shader value sampler"""
3707
3912
  ...
3708
- def rlSetVertexAttribute(index: int,compSize: int,type: int,normalized: bool,stride: int,pointer: Any,) -> None:
3709
- """"""
3913
+ def rlSetVertexAttribute(index: int,compSize: int,type: int,normalized: bool,stride: int,offset: int,) -> None:
3914
+ """Set vertex attribute data configuration"""
3710
3915
  ...
3711
3916
  def rlSetVertexAttributeDefault(locIndex: int,value: Any,attribType: int,count: int,) -> None:
3712
- """Set vertex attribute default value"""
3917
+ """Set vertex attribute default value, when attribute to provided"""
3713
3918
  ...
3714
3919
  def rlSetVertexAttributeDivisor(index: int,divisor: int,) -> None:
3715
- """"""
3920
+ """Set vertex attribute data divisor"""
3716
3921
  ...
3717
3922
  def rlTexCoord2f(x: float,y: float,) -> None:
3718
3923
  """Define one vertex (texture coordinate) - 2 float"""
@@ -3739,22 +3944,22 @@ def rlUnloadTexture(id: int,) -> None:
3739
3944
  """Unload texture from GPU memory"""
3740
3945
  ...
3741
3946
  def rlUnloadVertexArray(vaoId: int,) -> None:
3742
- """"""
3947
+ """Unload vertex array (vao)"""
3743
3948
  ...
3744
3949
  def rlUnloadVertexBuffer(vboId: int,) -> None:
3745
- """"""
3950
+ """Unload vertex buffer object"""
3746
3951
  ...
3747
3952
  def rlUpdateShaderBuffer(id: int,data: Any,dataSize: int,offset: int,) -> None:
3748
3953
  """Update SSBO buffer data"""
3749
3954
  ...
3750
3955
  def rlUpdateTexture(id: int,offsetX: int,offsetY: int,width: int,height: int,format: int,data: Any,) -> None:
3751
- """Update GPU texture with new data"""
3956
+ """Update texture with new data on GPU"""
3752
3957
  ...
3753
3958
  def rlUpdateVertexBuffer(bufferId: int,data: Any,dataSize: int,offset: int,) -> None:
3754
- """Update GPU buffer with new data"""
3959
+ """Update vertex buffer object data on GPU buffer"""
3755
3960
  ...
3756
3961
  def rlUpdateVertexBufferElements(id: int,data: Any,dataSize: int,offset: int,) -> None:
3757
- """Update vertex buffer elements with new data"""
3962
+ """Update vertex buffer elements data on GPU buffer"""
3758
3963
  ...
3759
3964
  def rlVertex2f(x: float,y: float,) -> None:
3760
3965
  """Define one vertex (position) - 2 float"""