raysan5
0e56bc2929
Replace file accesses by memory accesses
...
Several functions used to load external files have been reviewed to just load the full file with LoadFileData() and load data from memory from there. This way all file access functionality is centralized in utils module.
Functions reviewed: LoadDDS(), LoadPKM(), LoadKTX(), LoadPVR(), LoadASTC(), SaveKTX()
2020-05-22 01:47:30 +02:00
raysan5
3a33fe0fd9
Avoid LoadImageEx() usage internally
...
At this point LoadImageEx() could be removed from raylib... still thinking about it...
2020-05-14 13:37:52 +02:00
raysan5
3a6af2cc57
Remove SUPPORT_IMAGE_DRAWING flag
...
ImageDraw() is actually used in multiple functions and it aslo depends on several functions...
2020-05-09 17:17:54 +02:00
raysan5
7a1d3d807f
WARNING: RENAMED: ImageExtractPalette() -> GetImagePalette()
2020-05-09 12:07:18 +02:00
raysan5
959447d8ed
Reorganized texture functions
...
Removed ImageAlphaMask() dependency on [text] LoadBMFont()
2020-05-09 12:05:00 +02:00
raysan5
d357b116fe
Reviewed missing check for JPG
2020-05-07 18:08:35 +02:00
raysan5
fdad1f023b
Avoid all MSVC compile warnings
...
Most warning were related to types conversion (casting required) and unsigned/signed types comparisons.
Added preprocessor directives (_CRT_SECURE_NO_DEPRECATE; _CRT_NONSTDC_NO_DEPRECATE) to avoid warnings about unsafe functions, those functions are safe while used properly and recommended alternatives are MS only.
Some external libraries still generate warnings.
2020-05-06 19:12:09 +02:00
raysan5
51c3bef497
Review exposed #defines and allow user re-defining
...
There are multiple #define values around raylib, usually not exposed for redefinition, just reviewed all of them to allow users redefining them on compile time if required.
Also, multiple #define have been renamed and commented.
2020-05-01 17:31:44 +02:00
raysan5
cc816345bf
WARNING: API BREAK: Removed LoadImagePro()
...
Actually this function is useless and potentially dangerous, internally, a shallow copy of data was done. Same could be accomplished accesing image.data directly.
2020-04-10 19:26:36 +02:00
raysan5
b132da0ac2
WARNING: API BREAK: Reviewed ImageDrawText*() params order
...
To unify with DrawText*() equivalent functions
2020-04-10 19:10:15 +02:00
raysan5
926651b708
Optimized ImageDrawPixel()
...
Now it's blazing fast. It modifies image.data directly.
Previous version could take up to 3-4 seconds to draw a line... now it takes some nanoseconds...
2020-04-09 22:44:10 +02:00
raysan5
0abe557af1
Fixed issue with ImageDrawLine()
2020-04-08 12:37:52 +02:00
raysan5
4ceb4d3bf3
Some code tweaks, comments and defines
2020-04-05 17:50:37 +02:00
raysan5
8941cf3e66
Update textures.c
2020-03-30 17:42:19 +02:00
raysan5
e8a8d544c5
Review formating and signegness issues
2020-03-30 14:38:16 +02:00
Rob Loach
a025636fa1
Update ImageDraw*() functions to match arguments of Draw*() ( #1156 )
...
* Update ImageDraw*() functions to match arguments of Draw*()
Updated draw functions:
ImageDrawPixel()
ImageDrawPixelV()
ImageDrawCircle()
ImageDrawCircleV()
ImageDrawLine()
ImageDrawLineV()
ImageDrawRectangle()
ImageDrawRectangleV()
ImageDrawRectangleRec()
* [nodepadpp] Update Notepad++ ImageDraw defintions
This updates the Notepad++ definitions with the updated ImageDraw methods.
* [examples] Add ImageDraw calls to textures_image_drawing
* Update ImageDraw*() methods
2020-03-29 12:43:34 +02:00
raysan5
d28e73849b
Review TRACELOG() messages
2020-03-27 18:49:21 +01:00
raysan5
7e2b1b4ff0
[textures] Review TRACELOG() messages
2020-03-27 17:43:38 +01:00
raysan5
b9dd459d5a
[textures] Review TRACELOG() messages, categorized
2020-03-27 17:15:44 +01:00
raysan5
7ae7a87f8a
Remove trail spaces
2020-03-25 19:41:51 +01:00
raysan5
5aebd2a16c
Review formating from PR #1138
2020-03-21 20:30:40 +01:00
Sourav Gupta
574c689ff7
Added draw functions to ImageDraw*() ( #1138 )
...
Added draw functions:
ImageClearBackground()
ImageDrawPixel()
ImageDrawLineEx()
ImageDrawCircle()
2020-03-21 20:23:50 +01:00
raysan5
2344941974
Replace external libraries custom allocators by raylib ones #1074
...
NOTE: Two libraries still use custom allocators: glfw and stb_vorbis
2020-03-17 13:40:07 +01:00
raysan5
71b06caed4
Corrected typo
2020-03-15 17:06:08 +01:00
raysan5
4611406c68
REVIEWED: ImageTextEx() to support line breaks #1131
...
NOTE: This functionality has an important issue, line space is fixed to 1.5 font.baseSize pixels, depending on the font and how it has been generated that spacing could be too wide or too narrow...
2020-03-15 16:18:48 +01:00
SasLuca
680f9d5772
Changed if to else if. ( #1122 )
2020-03-08 18:03:23 +01:00
Ray
a6297a2be1
Some code tweaks
2020-03-03 01:21:06 +01:00
Ray
1ee6290fcf
Replaced fabs() by fabsf() when required
2020-02-28 12:54:39 +01:00
Ray
c8464bc731
Corrected return value
2020-02-27 16:22:34 +01:00
Ray
b2098a2d60
REDESIGN: ExportImage()
...
Use new file I/O ABI
2020-02-27 16:15:58 +01:00
Ray
acfa967e89
Corrected issue with variable name
2020-02-27 13:56:27 +01:00
Ray
5ff0776235
Remove trail spaces and some tweaks
2020-02-27 13:33:09 +01:00
Ray
2a408d789c
REDESIGNED: LoadImage() -WIP-
...
Using new file I/O ABI
2020-02-27 13:21:51 +01:00
Ray
5100cb3e7f
REDESIGNED: LoadImageRaw(), LoadAnimatedGIF()
...
Using new file I/O ABI
2020-02-27 13:21:21 +01:00
SasLuca
dec85f741a
Fixed memory leaks in textures.c ( #1097 )
2020-02-11 22:25:27 +01:00
Ray
ea40bda88c
Added func used in comments
2020-02-04 17:52:40 +01:00
Ray
b5fe41f41a
Review libc dependencies and remove when possible
...
Just for clarification, no plans to remove libc dependency, just did some code analysis to see how much raylib depend on stardard C library. My conclusions:
- stdlib.h: primary dependency is for malloc() and free()
- stdio.h: primary dependency is for FILE access, maybe it could go through a custom ABI?
- string.h: just around 8 functions required
- math.h: just around 8 functions required
- others: 1-2 functions required for some other headers
2020-02-04 16:55:24 +01:00
Ray
c3f06b7470
Remove all trail spaces
2020-02-03 19:26:28 +01:00
Ray
cde26c743c
Replace TraceLog() function by TRACELOG macro
...
Added SUPPORT_TRACELOG_DEBUG config
2020-02-03 19:13:24 +01:00
raysan5
bec467705e
Review custom allocators
2020-01-19 11:23:38 +01:00
Ray
237972652d
GetImageAlphaBorder() return 0 in case of blank image
2020-01-15 11:52:50 +01:00
Ray
4525c897e2
GetImageData() returns NULL if image size is 0
2020-01-15 11:22:00 +01:00
raysan5
21c30f43d4
Update year to 2020
2020-01-05 20:01:54 +01:00
raysan5
c0d1425aac
Remove TABS
2019-12-29 13:53:05 +01:00
Ray
e614942a2d
Read texture data as RGBA from FBO on GLES 2.0
2019-12-11 23:22:10 +01:00
raysan5
e8b89b5ecf
REVIEW: GetImageData() and GetImageAlphaBorder()
2019-11-04 13:30:55 +01:00
João Coelho
75b0264f35
fix various problems, thanks CppCheck :) ( #1005 )
...
* explained a bit more the core_window_letterbox example
* fixed a few 'ups' moments that could lead to mild head pain and time loss
2019-10-29 15:57:19 +01:00
raysan5
68dcb55349
Corrected bug on ImageDrawRectangleLines()
2019-10-19 17:26:45 +02:00
Ray
b75511248d
Remove trailing spaces
2019-10-17 17:18:03 +02:00
Ray
12d3e21f1b
REVIEW: ImageAlphaMask()
...
When adding alpha mask to GRAYSCALE image, if using ImageFormat(), it could change pixel values, now we avoid that, mask is just added as an extra channel
2019-10-11 20:08:41 +02:00
Ray
df84f93938
Add security checks on file writting
2019-09-30 17:32:06 +02:00
Ray
1f730b3b35
Review ImageCrop() security checks
2019-09-20 15:55:55 +02:00
Ray
9d53e07883
Added preprocessor macros for GIF
2019-09-19 17:36:48 +02:00
Ray
d089e1cd34
ADDED: LoadAnimatedGIF() -WIP-
...
Still looking for a better way to integrate it into raylib API, maybe add a LoadImageAnim()?
2019-09-19 16:09:36 +02:00
raysan5
112874fe07
Review issue with HDR pixels loading
2019-09-14 20:07:44 +02:00
raysan5
c10348cc85
Review conditions
2019-09-14 19:01:33 +02:00
Michael Vetter
5f1990e044
Fix build caused by GetImageAlphaBorder() ( #931 )
...
Fix build failure introduced in 2a913b6587
2019-08-07 09:23:15 +02:00
Ray
2a913b6587
ADDED: GetImageAlphaBorder()
2019-08-07 00:28:05 +02:00
Leandro Gabriel
89c16baf18
Replace tabs with spaces and update year of copyright notices ( #927 )
...
* Update year of copyright notices
* Fix mistake in comment
* Fix typo ("algorythms")
* Replace tabs with spaces
* Remove trailing whitespace and fix mistake in comment
* Fix ExportImageAsCode missing comment rectangle corner
* Replace tab with spaces
* Replace tabs with spaces
2019-08-03 11:07:41 +02:00
Ray
b4d67499a7
BREAKING CHANGE: Read description
...
Changes:
- Font structure has been redesigned, CharInfo structure contained character rectangle within font texture, it has not much sense, considering that it was an information relative to the font atlas generated and not the character itself, so character rectangles have been moved out from CharInfo to Font.
- CharInfo included a data parameters to contain character pixel data (usually grayscale), generated on TTF font generation. It was inconsistent with other fonts types, so, now CharInfo includes directly an Image of the glyph.
- REDESIGNED: GenImageFontAtlas(), additional recs parameter added, loaded and filled inside the function to export atlas characters rectangles, instead of silently modify the input CharInfo data.
- REVIEWED: ImageTextEx(), funtion retrieved the font atlas image from the GPU, that was slow and problematic in several platforms. Now it uses directly the CharInfo image. Support for unicode codepoints has also been added.
- REDESIGNED: ImageDraw(), now it includes an additional parameter, the color tint, not only it could be useful for several situations but also function signature is more consistent with similar functions.
- ADDED: ImageFromImage() to generate a new image from a piece of another image.
- REVIEWED: GetNextCodepoint(), renamed parameters to be more clear.
Also all examples and games that were affected by those changes have been reviewed.
2019-07-24 15:05:14 +02:00
Ray
2433f30b4b
Reviewed ImageDraw() and ImageResizeCanvas()
...
Added security checks in case provided image to functions hasn't been properly loaded... just to avoid program crashes.
2019-07-23 22:24:25 +02:00
Ray
d21422687a
Some formatting tweaks
2019-06-16 23:36:04 +02:00
Ray
0eece03205
Corrected issue with texture flip X
2019-05-15 12:22:29 +02:00
Ray
97c8a28aaa
Remove trail spaces
2019-05-08 18:33:09 +02:00
Ray
e67ebabb02
Support custom memory management macros
...
Users can define their custom memory management macros.
NOTE: Most external libraries support custom macros in the same way, raylib should redefine those macros to raylib ones, to unify custom memory loading. That redefinition is only implemented as example for stb_image.h in [textures] module.
2019-04-23 14:55:35 +02:00
Ray
01367fcb1e
Review cubemap generation
2019-04-11 16:11:54 +02:00
Ray
b8ada4b877
Review creation years
2019-04-08 12:25:13 +02:00
ChillerDragon
f21761fbbb
Happy new year 2019
2019-04-07 17:49:12 +02:00
Ray
a103086443
Removed trail spaces
2019-04-04 13:50:52 +02:00
raysan5
f02a0334d8
ADDED: GetScreenData()
2019-03-17 11:58:02 +01:00
Ray
29d1323bd1
Work on ImageResizeCanvas()
2019-03-15 13:34:09 +01:00
Ray
cbfa35a39e
REVIEW: ImageResizeCanvas() -WIP-
2019-03-15 00:56:02 +01:00
Ray
477ea4d660
Support external config flags
2019-03-12 16:00:26 +01:00
Ray
d679a97e92
Removed some NULL pointer checks
2019-02-28 18:39:58 +01:00
Ray
374811c440
Change ternary operator formatting
2019-02-22 13:13:11 +01:00
Ray
a886f5e743
Remove TABS
2019-02-22 12:12:21 +01:00
Ray
641895b5ba
Remove end-line spaces
2019-02-21 18:45:19 +01:00
Ray
5d0ea7f110
Corrected issue #758
2019-02-18 16:43:01 +01:00
Jens Pitkanen
eed69d4127
Fix the image manipulation config flag
2019-02-15 17:56:36 +02:00
Jens Pitkanen
f9963d4ed4
Fix config.h flags
2019-02-14 13:52:18 +02:00
Ray
e7466eb0c4
Corrected function usage
2019-02-12 00:40:10 +01:00
Ray
e996fe2ff5
ADDED: GetClipboardText(), SetClipboardText()
2019-02-11 18:03:06 +01:00
Ray
db56d432e4
ADDED: rlLoadTextureDepth()
...
REDESIGNED: rlLoadRenderTexture()
ADDED: rlRenderTextureAttach()
ADDED: rlRenderTextureComplete()
2019-02-04 16:28:17 +01:00
Ray
fce48e85f4
ADDED: LoadTextureCubemap()
...
Probably uncomplete, not tested yet...
2019-02-04 13:27:36 +01:00
raysan5
414c3ee1f9
ADDED: DrawTextureQuad()
...
Useful for tiling and offset parameters definition.
2018-12-26 23:44:16 +01:00
raysan5
9a8320c52b
REVIEWED: DrawRectanglePro()
2018-12-26 10:51:13 +01:00
Ray
965a91cebb
Support PIC image format loading
2018-12-18 18:18:40 +01:00
Ray
f822650a3b
Support externally provided compilation flags
...
Useful in case raylib compilation want to be automated and compilation config flags provided by command line.
2018-12-18 00:20:08 +01:00
Ray
8b75a1a990
Improved textures wrap support
2018-12-03 12:00:05 +01:00
Ray
1774260dab
Some tweaks
2018-11-30 01:57:53 +01:00
Ray
b5c6736592
Reimplement ImageAlphaCrop()
2018-11-27 10:20:41 +01:00
Ray
5167f78d5f
ADDED: OpenURL()
...
Corrected bug on ImageDrawRectangleLines()
2018-11-09 23:09:02 +01:00
Ray
b356ef5564
Modifies some Image functions
...
REVIEWED: ImageDrawRectangle()
ADDED: ImageDrawRectangleLines()
2018-11-07 17:58:26 +01:00
Ray
fc1c9505ba
Remove end-line spaces
2018-11-06 15:10:50 +01:00
Ray
b051f7778f
Corrected typo
2018-10-29 16:39:54 +01:00
Ray
298203a41a
ADDED: Some functions...
...
text: IsEqualText() -WIP-
audio: SaveWAV()
audio: ExportWaveAsCode()
textures: ExportImageAsCode()
2018-10-29 16:18:06 +01:00
Ray
764766bfb2
Some formatting tweaks
2018-10-18 16:00:11 +02:00
Ray
126ab49221
Minor tweaks
2018-10-10 23:55:36 +02:00
Ray
2320c2febf
ADDED: ImageExtractPalette()
2018-10-08 18:57:33 +02:00
Ray
589152b658
Review void pointer incrementation
2018-10-01 15:45:01 +02:00
Ray
d67edb591a
Support KXT image file export
...
[textures] Added SaveKTX()
[rlgl] Exposed rlGetGlTextureFormats()
2018-10-01 15:30:48 +02:00
Ray
2bd18ab91e
Support ExportImage() as raw pixel data
...
Added note on KTX 2.2
2018-09-17 19:00:51 +02:00
Ray
f503fded67
Support image export
2018-09-17 17:06:58 +02:00
Ray
ec5c9686b3
Improved data export capabilities!
...
REVIEWED: ExportImage()
REVIEWED: ExportMesh()
ADDED: ExportWave()
REMOVED: Internal funcs: SavePNG(), SaveBMP()
NOTE: These changes break the API (parameters order)
2018-09-17 16:56:02 +02:00
Ray
ac31f51c5e
Corrected issue with font tint
2018-09-05 10:47:57 +02:00
Ray
00f5f2ead2
Merge pull request #616 from overdev/master
...
[Feature Request] 9-patch drawing function
2018-08-09 22:42:05 +02:00
Jorge A. Gomes
dab78d59f3
Update textures.c
...
See raylib/examples/textures/textures_image_9patch.c for how to use `DrawTextureNPatch` function.
2018-08-08 16:42:39 -03:00
Ray
b042fe12e6
Reviewed spacings on latest PR
2018-08-06 20:49:47 +02:00
Kim Kulling
b2cac82fa0
Fix compiler warings in texture.c and more.
2018-08-05 00:34:35 +02:00
Jorge A. Gomes
28424141f0
Update textures.c
...
Added support form vertical and horizontal 3-patches.
Corrected the distortion caused when destRec size is smaller than 4x4. Now even 1x10 or 0x0 sizes are drawn correctly.
2018-08-03 20:53:15 -03:00
Jorge A. Gomes
7cc2a5585b
Update textures.c
...
Added DrawNinePatch() function implementation.
2018-08-03 04:51:26 -03:00
Ahmad Fatoum
548dbeb1ca
Fix typo (s/proedural/procedural)
2018-07-29 13:04:16 +02:00
raysan5
103bc7dfc6
Corrected issue with GetFontDefault()
...
Note for me: Replace All is NOT your friend...
2018-07-05 19:17:06 +02:00
raysan5
d881c73257
Renamed GetDefaultFont() to GetFontDefault()
...
Library consistency rename... yes, I know, it breaks the API...
2018-07-05 19:08:24 +02:00
Ray
74fd0e7ca4
Added function: ImageColorReplace()
2018-07-03 00:57:58 +02:00
Ray
276974de05
Removed function prototype
...
This function was added in text module as GenImageFontAtlas()
2018-07-02 16:39:04 +02:00
Ray
75ba5aca55
Improved font generation and SDF
...
Added: data to CharInfo struct
Added: LoadFontData()
Added: GenImageFontAtlas()
Removed: LoadFontEx()
Removed: LoadTTF() [internal]
Some code tweaks
2018-06-20 00:52:14 +02:00
Ray
372e4a1139
Reviewed some functions
...
- GetImageData()
- GetImageDataNormalized()
2018-06-12 16:30:03 +02:00
Ray San
64804f30e6
Comment review
2018-06-12 13:27:41 +02:00
Ray San
59fd261491
Added function: GetImageDataNormalized()
...
Reviewed: GetImageData()
Reviewed: ImageFormat()
2018-06-12 13:13:09 +02:00
Ray San
7d0e09ff4c
Corrected bug
2018-06-12 12:05:28 +02:00
raysan5
b48d225a43
Propose new function: GenImageFont()
2018-06-10 19:29:01 +02:00
Ray
817ae07505
Some comments cleaning
...
ImageDraw() code tweak
2018-06-06 00:43:52 +02:00
Ray
0e6458cfee
Added ImageRotate*() functions
2018-06-03 21:05:01 +02:00
Ray
b1b4a11bdb
Corrected issue with function definition
2018-06-02 13:05:23 +02:00
Ray
afc4181752
Work on ImageResizeCanvas()
2018-06-02 12:47:05 +02:00
Ray
2536bea379
Added: ImageResizeCanvas() -WIP-
...
Added note idea on ImageFormat() for future redesign (to support
16bit-32bit pixel-formats)
2018-06-01 00:53:40 +02:00
Ray
129c890a28
Removed assert()
...
Not used in raylib this mechanism
2018-05-30 00:06:23 +02:00
Ray
8f4b53384c
Replaced tabs by spaces
2018-05-29 09:09:40 +02:00
Ray
dbff40944a
Corrected issue with floats on TCC
...
It seems TCC was not casting correctly int values to float in some
specific situations
2018-05-28 00:48:07 +02:00
Ray San
8f4fa5006b
Added a note
2018-05-22 12:09:12 +02:00
Ahmad Fatoum
e025e62445
cmake: Fix PLATFORM_WEB build
...
Did this ever work? Surely, doesn't look like it...
2018-05-21 12:15:39 +02:00
Ray
2aae62cea2
Header tweak and comments
2018-05-17 00:04:36 +02:00
Ray
bb43755a9d
Corrected issue on LoadASTC()
2018-05-12 23:33:03 +02:00
Ray
9ea2a69bfd
Corrected issue on rectangle drawing
2018-05-09 00:23:56 +02:00
Ray San
ec33e7d705
BREAKING CHANGE: Renamed SpriteFont type to Font
...
- Preparing MP3 files support
- Jumped version to raylib 2.0-dev (too many breaking changes...)
2018-05-04 16:59:48 +02:00
Ray San
6324697ffd
Rectangle parameters changed to float
...
- Some examples tweaks
- Reviewed ImageFormat()
- Use float for text fontSize
2018-05-04 16:25:31 +02:00
raysan5
c51203ae7e
Corrected alpha blending on ImageDraw()
2018-04-29 18:39:57 +02:00
Ahmad Fatoum
1841afad11
Refactor all #define SUPPORT_* into a config.h
...
That way, a user needs only to touch a single file to configure what
features raylib is built with.
Include guards are left out intentionally, because config.h should only
be included in source files, not headers.
Later on, config.h can also define the raylib version (#461 ).
2018-04-07 23:37:48 +02:00
Ray
b8bd1d2ea6
Remove unnecesary NPOT check
...
Now PLATFORM checks only used on core and utils modules
2018-04-05 19:22:45 +02:00
Ray
005f2ffb75
Simplified some code
2018-04-05 19:18:44 +02:00
Ray
931b672c92
Added: ImageDrawRectangle()
...
Renamed SaveImageAs() to ExportImage() for consistency on what actually happens with data.
2018-04-04 12:02:20 +02:00
Ray
533780aadf
Review ImageDraw() alpha blending
...
Not sure if math is ok... just left a commented piece of code that uses pre-multiplied alpha.
2018-04-03 12:42:22 +02:00
Martinfx
28a9a181cb
Fix use after free
2018-04-02 13:30:19 +02:00
raysan5
0958904eac
Added comments to review function ImageTextEx()
2018-02-18 19:29:13 +01:00
raysan5
4492a70a4b
Support UTF8 basic characters on ImageTextEx()
...
Supported UTF8 range equivalent to [128..255] (80h..FFh)
Exposed and renamed text function GetGlyphIndex()
Renamed spriteFont parameter name to simply font
Small security check on transmission mission ending screen
2018-02-18 18:07:57 +01:00
Ray
1ce8c80de9
Corrected several issues...
2018-01-28 16:52:18 +01:00
Ray
2dcaddc81c
Review mipmaps generation issue
...
When changing image format, mipmaps are lost and regenerated from
scratch
2018-01-23 13:23:34 +01:00
Ray
04af83ff99
Improved pixel formats support
...
Review rlLoadTexture() function to make it simpler, now OpenGL texture
glInternalFormat, glFormat and glType are retrieved with new function
GetGlFormats()
2018-01-22 00:20:42 +01:00
Ahmad Fatoum
a2edc9d641
MSVC: Fix void pointer arithmetic error
...
GNU C allows it as a compiler extension, but MSVC doesn't.
2018-01-18 13:20:13 +01:00