Age | Commit message (Collapse) | Author |
|
Also move mis-placed doc-string.
|
|
Commit b9c0eed206b0 introduced a GCC conversion warning because of an
assignment of a long int value to an int.
Own Code
|
|
Add support for Variable/Multiple Master font features. These are fonts
that contain a range of design variations along multiple axes. This
contains no client-facing options.
See D12977 for details and examples
Differential Revision: https://developer.blender.org/D12977
Reviewed by Brecht Van Lommel
|
|
|
|
|
|
Reverting for now, breaks on GCC
|
|
Add support for Variable/Multiple Master font features. These are fonts
that contain a range of design variations along multiple axes. This
contains no client-facing options.
See D12977 for details and examples
Differential Revision: https://developer.blender.org/D12977
Reviewed by Brecht Van Lommel
|
|
Second attempt to silence sign-conversion warning on Linux, introduced
in rB524a9e3db810. Confirmed fix on buildbot.
|
|
rB524a9e3db810 introduced sign-conversion warning on Linux.
Own Code
|
|
Allow use of multiple fonts acting together like a fallback stack,
where if a glyph is not found in one it can be retrieved from another.
See D12622 for much more detail
Differential Revision: https://developer.blender.org/D12622
Reviewed by Brecht Van Lommel
|
|
Internally many offsets for BLF were integers but exposed as floats,
since these are used in pixel-space, many callers were converging them
back to integers. Simplify logic by using ints.
|
|
Support sub-pixel kerning and hinting for future support for improved
character placement. No user visible changes have been made.
- Calculate sub-pixel offsets, using integer maths.
- Use convenience functions to perform the conversions and hide the
underlying values.
- Use `ft_pix` type to distinguish values that use sub-pixel integer
values from freetype and values rounded to pixels.
This was originally based on D12999 by @harley with the user visible
changes removed so they can be applied separately.
|
|
Replace comparisons of FT_Error against 0 with FT_Err_Ok instead.
See D14052 for more details.
Differential Revision: https://developer.blender.org/D14052
Reviewed by Campbell Barton
|
|
Use a shorter/simpler license convention, stops the header taking so
much space.
Follow the SPDX license specification: https://spdx.org/licenses
- C/C++/objc/objc++
- Python
- Shell Scripts
- CMake, GNUmakefile
While most of the source tree has been included
- `./extern/` was left out.
- `./intern/cycles` & `./intern/atomic` are also excluded because they
use different header conventions.
doc/license/SPDX-license-identifiers.txt has been added to list SPDX all
used identifiers.
See P2788 for the script that automated these edits.
Reviewed By: brecht, mont29, sergey
Ref D14069
|
|
Removes unnecessary calls to blf_glyph_cache_find, simplifies
blf_font_size, and reduces calls to it. blf_glyph_cache_new
and blf_glyph_cache_find made static.
See D13374 for more details.
Differential Revision: https://developer.blender.org/D13374
Reviewed by Campbell Barton
|
|
Cache the font size's ideal fixed width column size in the glyph cache
rather than the font itself to improve performance.
See D13226 for more details.
Differential Revision: https://developer.blender.org/D13226
Reviewed by Campbell Barton
|
|
blf_glyph_cache_free does not need to be public.
See D13395 for more details.
Differential Revision: https://developer.blender.org/D13395
Reviewed by Campbell Barton
|
|
Ref T92709
|
|
Allow the use of floating-point values for font point sizes, which
allows greater precision and flexibility for text output.
See D8960 for more information, details, and justification.
Differential Revision: https://developer.blender.org/D8960
Reviewed by Campbell Barton
|
|
- Use doxy formatted functions.
- Use doxy sections.
|
|
Cleanup and Simplification of blf_glyph.c
See D13095 for details.
Differential Revision: https://developer.blender.org/D13095
Reviewed by Campbell Barton
|
|
This patch removes the need to lock the thread just to get to some
generic (not glyph-specific) font metrics.
See D12976 for more details.
Differential Revision: https://developer.blender.org/D12976
Reviewed by Campbell Barton
|
|
|
|
Simplification of BLF glyph loading
See D13026 for details.
Differential Revision: https://developer.blender.org/D13026
Reviewed by Campbell Barton
|
|
Optimization of font kerning by only caching kerning values after a
pair is encountered. Also saves unscaled values so they don't have to
be rebuilt between font size changes.
See D12274 for more details and speed comparison.
Differential Revision: https://developer.blender.org/D12274
Reviewed by Campbell Barton
|
|
Simplification of BLF code after removal of kerning modes.
See D12262 for more details.
Differential Revision: https://developer.blender.org/D12262
Reviewed by Campbell Barton
|
|
blf_kerning_cache_new was performing many unnecessary hash lookups,
calling blf_glyph_search 32768 times. Use a lookup table to reduce this
to the number of ASCII characters (128 calls).
|
|
It wasn't obvious this was only for ASCII characters.
|
|
This patch makes some non-functional changes to BLF code. Some size
defines added, comments changed, simplification of macro
BLF_KERNING_VARS.
See D12200 for more details.
Differential Revision: https://developer.blender.org/D12200
Reviewed by Campbell Barton
|
|
Also use doxy style function reference `#` prefix chars when
referencing identifiers.
|
|
Apparently `textureSize` doesn't work with
`sampler1DArray` on this OS.
Thanks to @dave1853 for finding the source of the
problem.
|
|
|
|
This makes more sense as this module has more to it than just
GL extensions.
|
|
This is to modernize the API:
- Add meaningful name to all textures (except DRW textures).
- Remove unused err_out argument: only used for offscreen python.
- Add mipmap count to creation functions for future changes.
- Clarify the data usage in creation functions.
This is a cleanup commit, there is no functional change.
# Conflicts:
# source/blender/gpu/GPU_texture.h
|
|
Use creation + update function instead.
|
|
Quiet warning/error about int and float multiplication.
Differential Revision: https://developer.blender.org/D7893
Reviewed by Ray Molenkamp
|
|
Adds the ability to print text in bold or italics style, synthesized from a single base UI font.
Differential Revision: https://developer.blender.org/D7893
Reviewed by Brecht Van Lommel
|
|
|
|
These were stored as float but were originally cast from an int
and were often cast back to int.
Also use int pairs for dimensions values.
|
|
|
|
- Move gpuPush/Pop from GPU_draw.h into GPU_state.h
as this is for pushing/popping state.
- Add 'GPU_STANDALONE' define, to bypass use of user-preferences
for theme colors and pixelsize, as well as pbvh init/free functions.
Needed to get GHOST tests working again.
|
|
The glyph can come from a different cache.
|
|
The current code allocates and transfers a lot of memory to the GPU,
but only a small portion of this memory is actually used.
In addition, the code calls many costly gl operations during the
caching process.
This commit significantly reduce the amount of memory by allocating
and transferring a flat array without pads to the GPU.
It also calls as little as possible the gl operations during the cache.
This code also simulate a billinear filter `GL_LINEAR` using a 1D texture.
**Average drawing time:**
|before:|0.00003184 sec
|now:|0.00001943 sec
|fac:|1.6385156675048407
**5 worst times:**
|before:|[0.001075, 0.001433, 0.002143, 0.002915, 0.003242]
|now:|[0.00094, 0.000993, 0.001502, 0.002284, 0.002328]
Differential Revision: https://developer.blender.org/D6886
|
|
Two main reasons for the lag:
- Allocation of memory with transfer to GPU.
- BLF_cache_clear();
The (partial) solution is to avoid memory allocating in some setups
through the `GPU_texture_clear`.
Differential Revision: https://developer.blender.org/D6837
|
|
This reverts commit a21f5ec56245f7f1fbede4aa3c140a582c3a6a1b.
|
|
Two main reasons for the lag:
- Allocation of memory with transfer to GPU.
- BLF_cache_clear();
The memory allocation seems to be unnecessary, so I removed it.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6837
|
|
Functions that utilize glyph cache should lock and unlock cache by
calling `blf_glyph_cache_acquire()` and `blf_glyph_cache_release()`.
Function `blf_glyph_cache_acquire()` will create glyph cache, if it doesn't exist.
Locking mutex is global and shared by all fonts.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D5701
|
|
Some statements were split across multiple lines because of their
trailing comments.
In most cases it's clearer to put the comments above.
|
|
We were missing a null pointer check for invalid fonts.
|
|
|