Commit Graph

255 Commits

Author SHA1 Message Date
Ray
1be68d8cfe Tweak on variable init 2020-02-27 16:14:50 +01:00
Ray
5ff0776235 Remove trail spaces and some tweaks 2020-02-27 13:33:09 +01:00
Ray
b029fb6d31 REDESIGNED: LoadFontEx()
Using new file I/O ABI
2020-02-27 13:19:58 +01:00
Ray
c5d5d19443 Remove trail spaces 2020-02-26 20:23:55 +01:00
Ray
a77273d8d8 Make sure current text buffer is empty #1109 2020-02-24 11:15:02 +01:00
Ray
d62a2f793f Improved GetFPS() calculation for average 2020-02-19 12:20:15 +01:00
Ray
39e73ccc4d [text] TextLength() security check 2020-02-17 00:47:05 +01:00
Ray
484c6b360f Reviewed Cppcheck issues #1098 2020-02-12 13:16:18 +01:00
raysan5
34fafb733f Corrected issue with toupper() usage 2020-02-09 16:11:32 +01:00
Ray
f4ca5b378a Review missing include 2020-02-06 18:10:52 +01:00
Ray
86bdf60887 Corrected issue with TextToUpper() and TextToLower()
This issue was breaking multiple things...
2020-02-06 17:52:33 +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
Ray
5ec87c4c6f ADDED: TextCopy() #1083 2020-01-26 18:38:46 +01:00
Ray
7ae426c377 Redesigned TextToInteger() 2020-01-24 17:58:19 +01:00
Ray
49b723e76d Correct issue with define 2020-01-22 15:11:22 +01:00
raysan5
9c52a4932d Corrected issue with types 2020-01-19 12:49:33 +01:00
raysan5
bec467705e Review custom allocators 2020-01-19 11:23:38 +01:00
Ray
1f82b0d847 Comment tweak 2020-01-15 13:13:30 +01:00
Ray
b0ce16b460 LoadFontData(): generate empty image for space
This could be required on texture packing ;)
2020-01-15 11:53:46 +01:00
raysan5
b5b3bbb30b Review variable name 2020-01-06 19:49:52 +01:00
raysan5
21c30f43d4 Update year to 2020 2020-01-05 20:01:54 +01:00
raysan5
08adb4b8c3 Check and testing timming #865 2019-12-04 17:59:17 +01:00
Ray
3ffe34f9bb ADDED: DrawTextCodepoint()
- Renamed GetGlyphIndex() parameter
 - Review DrawTextEx() implementation
 - Review DrawTextRecEx() implementation
2019-12-01 13:28:14 +01:00
raysan5
d5aab98ac9 Review PR #1015
Just simplified code a bit
2019-11-24 14:08:27 +01:00
brankoku
1f66f0d9a2 [text] TextFormat() caching (#1015) 2019-11-24 14:01:35 +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
Ray
d73abe73e5 REDESIGN: TextToUtf8()
ADDED: CodepointToUtf8()
2019-10-28 20:53:32 +01:00
Ray
f6df47dfe5 ADDED: TextToUtf8() -WIP-
RENAMED: TextCountCodepoints() -> GetCodepointsCount()
2019-10-27 23:56:48 +01:00
Ray
06910eedfd Minor comment tweak 2019-10-22 23:15:26 +02:00
Ray
ca92f43c27 Review some defines 2019-10-22 00:37:10 +02:00
Ray
ab52f98480 Update text.c 2019-10-21 17:37:47 +02:00
Ray
b75511248d Remove trailing spaces 2019-10-17 17:18:03 +02:00
Ray
e40c26dea5 REVIEWED: GetCodepoints() issue
- Improved LoadBMFont()
2019-10-17 17:07:09 +02:00
Ray
7baa2975ec REDESIGNED: IsFileExtension()
Now it accepts a ';' separated list of extensions, useful to check multiple extensions
2019-10-11 20:13:11 +02:00
Ray
e0cb892d2d ADDED: GetCodepoints()
Get the unicode equivalent characters (as int array) from a UTF-8 text array... maybe this function is renamed to be clearer to users...
2019-10-11 20:12:15 +02:00
Ray
e67c842faa Tweak on atlas size computing
Some generated fonts were not fitting the image...
2019-08-24 20:03:47 +02:00
Ray
2f42b0ce85 REVIEW: TextSplit()
Just adding a security check
2019-08-19 15:09:54 +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
632d064b21 Review text functions return value
It needs to be freed
2019-07-22 21:29:50 +02:00
Ray
1b249ac1e1 Define some globals 2019-06-19 15:43:35 +02:00
Ray
f951f0c536 RENAMED: LoadDefaultFont() -> LoadFontDefault()
Renamed internal function for consistency with similar functions.
2019-06-16 23:42:51 +02:00
Ray
d21422687a Some formatting tweaks 2019-06-16 23:36:04 +02:00
Demizdor
509d9411a1 Fixed DrawTextRecEx() selection when wordwrap is ON 2019-05-10 13:57:24 +03:00
Ray
528e164ac5 Corrected issue with wrong text measuring 2019-05-06 10:17:34 +02:00
Demizdor
86f9ea6e7a Fixed selection in DrawTextRecEx() 2019-04-24 22:08:57 +03: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
Demizdor
f3a5a6871d Initial unicode implementation for UTF8 encoded text 2019-04-21 12:27:46 +03: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
36fa0207f2 Some spacing review 2019-02-28 23:06:37 +01:00
Skabunkel
a90c9c5ade Removed unnecessary 2019-02-28 17:50:47 +01:00
Skabunkel
fc11b360af ... tabs again... _facepalm_ 2019-02-24 01:57:31 +01:00
Skabunkel
03f7483537 Missed one 2019-02-24 01:56:17 +01:00
Skabunkel
f2d5cddfc8 Fixed segmentation fult created by quick fix 2019-02-24 01:48:29 +01:00
Skabunkel
374b4d3faf Tabs to spaces 2019-02-24 00:17:54 +01:00
Skabunkel
795c5e949d #764 - Quick fix that clears alot of memory, there seems to be more hiding somewhere else. 2019-02-24 00:13:50 +01:00
Ray
374811c440 Change ternary operator formatting 2019-02-22 13:13:11 +01:00
Ray
8382ab9ada
Merge pull request #761 from Demizdor/master
Fixed height bug in DrawTextRecEx()
2019-02-22 12:15:19 +01:00
Ray
a886f5e743 Remove TABS 2019-02-22 12:12:21 +01:00
Demizdor
40a76cf021 Fixed height bug in DrawTextRecEx() 2019-02-22 12:27:20 +02:00
Ray
641895b5ba Remove end-line spaces 2019-02-21 18:45:19 +01:00
Jens Pitkanen
f9963d4ed4 Fix config.h flags 2019-02-14 13:52:18 +02:00
Ray
6dbec47488 Redesigned TextSplit() function 2019-02-11 18:02:32 +01:00
Jak Barnes
1e15616b69 Fixed as issue where strrchr in LoadBMFont would only look for forward slashes, instead of backslashes causing strlen to fail on a null string 2019-02-10 16:01:44 +00:00
Ray
7615512af1 ADDED: TextToInteger()
Custom implementation that returns -1 if it fails (no negative values supported)
2019-02-06 14:20:14 +01:00
Ray
5755c5e310 Review DrawTextRecEx() formatting 2019-02-04 09:57:02 +01:00
Ray
01ace743d0
Merge pull request #734 from Demizdor/master
Added DrawTextRecEx()
2019-02-03 20:47:13 +01:00
Rob Loach
90d5bb79e5
Fix font cannot be narrowed to type 'int'
Getting the following strict error....

```
src/text.c:117:105: error: constant expression evaluates to 2398692640 which
      cannot be narrowed to type 'int' [-Wc++11-narrowing]
...0x00000000, 0x00000000, 0x00200020, 0x0001b000, 0x00000000, 0x00000000, 0x8ef92520, 0x00020a00...
                                                                             ^~~~~~~~~~
```

Switching it to an unsigned int fixes it.
2019-01-23 22:28:10 -05:00
Demizdor
6f66425946 Added DrawTextRecEx() 2019-01-23 21:36:54 +02:00
Ray
e91c84e33a Remove comment 2019-01-21 10:25:59 +01:00
raysan5
1038e79b36 Corrected issue with text measure on Latin-1 chars
Considering chars inputs come in UTF8 form!
2019-01-05 15:04:18 +01:00
raysan5
0619571149 ADDED: DrawTextRec() and example 2018-12-29 14:44:28 +01:00
raysan5
01338b0a14 WARNING: BREAKING CHANGE
Added a bunch of useful text management functions.
Consequently, some already available functions like `FormatText()` and `SubText()` has been renamed for consistency. Created temporal fallbacks for old names.
raylib version bumped to 2.3.
2018-12-26 13:26:34 +01:00
raysan5
96207a8a02 REVIEWED: LoadFontEx()
Changed parameters order for consistency with LoadFontData() and other functions when an array is passed by parameter and array size is the following parameter.
2018-12-25 15:17:42 +01:00
Ray
87ad244ee0 Exposed LoadFontFromImage() 2018-12-20 12:58:27 +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
7361ed24e2 Added support for .otf fonts
stb_truetype supports some .otf fonts, just exposed that functionality.
2018-12-10 00:29:52 +01:00
Ray
a8ac6e2ef9 Increase text management buffers size 2018-12-04 13:15:42 +01:00
Ray
fc1c9505ba Remove end-line spaces 2018-11-06 15:10:50 +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
72431c6c36 Code tweaks 2018-10-24 13:45:17 +02:00
Ray
550dd40cb3 ADDED: SplitText() function 2018-10-23 15:43:19 +02:00
Ray
3b674cd281 Some security checks on font loading 2018-10-18 17:48:33 +02:00
Ray
764766bfb2 Some formatting tweaks 2018-10-18 16:00:11 +02:00
noshbar
ec6b21bd91 Fixes memory leak in text.c
GenImageFontAtlas() allocates an array of stbrp_rect for the packing functions, but it never frees them.
2018-10-10 22:41:20 +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
5b09630d45 Update mini_al to v0.8.8
Some minor tweaks around
2018-09-14 12:47:31 +02:00
Ray
dfb8837c46 Support aliased font texture generation
Useful for bitmaps pixelated fonts where anti-aliasing is not desired!
Change also enables additional font generation mechanisms in a future (cleartype, hinting...).
2018-09-06 16:56:21 +02:00
Ray
d0608b031a Corrected issue with types 2018-09-05 10:47:40 +02:00
Ray
b042fe12e6 Reviewed spacings on latest PR 2018-08-06 20:49:47 +02:00
Kim Kulling
ecf8bff4aa Fix compiler warnings, first part 2018-08-04 10:32:16 +02:00
Ray
292499bdeb Reviewed LoadFontData() and GenImageFontAtlas() 2018-07-15 20:03:05 +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
afe81d94ce Re-added: LoadFontEx() 2018-06-30 19:58:44 +02:00
Ray
0e135118fd Improved GenImageFontAtlas() 2018-06-21 00:18:13 +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
raysan5
559b9b8cc3 Corrected possible memory leak 2018-05-21 18:57:54 +02:00