Commit Graph

168 Commits

Author SHA1 Message Date
Francesco Abbate e01ba599ba Optimize glyph set bitmap rectangles by trimming empty regions 2020-06-02 18:46:44 +02:00
Francesco Abbate d46cf80226 Adjust xadvance computation to use rounding instead of truncate 2020-06-02 17:52:02 +02:00
Francesco Abbate 39d7d49586 Reduce y padding in BakeFontBitmap 2020-06-02 17:51:26 +02:00
Francesco Abbate ae032cd185 Ember blender with gamma correction into FontRenderer 2020-06-02 17:18:52 +02:00
Francesco Abbate bc74b2860d Add gamma correct pixel blender 2020-06-02 14:47:06 +02:00
Francesco Abbate c41d6a82e1 Adjust BakeFontBitmap issues 2020-06-01 17:23:18 +02:00
Francesco Abbate c2949edcd7 Check for errors when loading fonts 2020-06-01 17:01:42 +02:00
Francesco Abbate b734390388 Use font_renderer in aGG font testing program 2020-06-01 16:57:33 +02:00
Francesco Abbate e291e7269a Hack to fix font size rendering to align with STB original rendering 2020-06-01 15:33:14 +02:00
Francesco Abbate c333425770 Remove stb from Meson dependencies for Lite 2020-06-01 15:28:07 +02:00
Francesco Abbate 98f5c16932 Remove unused variable 2020-06-01 15:16:07 +02:00
Francesco Abbate 5ca7471fc7 Cosmetic code's cleanup 2020-06-01 14:45:07 +02:00
Francesco Abbate fa06862177 Completely remove usage of stb_truetype 2020-06-01 14:43:45 +02:00
Francesco Abbate 91a82d8ae4 Add missing function to free FontRenderer 2020-06-01 14:42:57 +02:00
Francesco Abbate 0389bd000a Fix y offset in BakeFontBitmap
Compute Y offset more accurately and the way it is required in
renderer.c.

Instead of returning y offset wrt the baseline position returns it
wrt the top position (the baseline plus the font's ascent).
2020-06-01 14:33:46 +02:00
Francesco Abbate 4c6e15b66c Rename GlyphSetA to GlyphSet 2020-06-01 14:08:50 +02:00
Francesco Abbate 3a8cb05ea6 Replace stb's BakeBitmapFont with AGG based font's renderer 2020-06-01 12:56:23 +02:00
Francesco Abbate edb103716a Add function to render a single unicode codepoint 2020-06-01 11:25:22 +02:00
rxi f00d5d55df Version 1.06 2020-05-31 16:53:53 +01:00
Francesco Abbate 4ec521dd37 Add correct glyphs bitmap location rects with AGG 2020-05-31 13:53:27 +02:00
Francesco Abbate 103336945e Add pixel format to render font in bitmap format
The purpose it to add later subpixel by storing the bitmap with RGB
channels to have subpixel LCD coverage information.

The colorization and gamma blending will be done when blitting the glyph
on the destination surface.
2020-05-30 18:07:31 +02:00
Francesco Abbate 010966d60d Add correct font's height calculation using AGG
Compute the height like in renderer.c
2020-05-30 16:26:10 +02:00
Francesco Abbate 0fea5d9d25 Add in agg_font_render method to get face's units to em 2020-05-30 16:25:13 +02:00
Francesco Abbate 155e76df5f Add font vmetrics in AGG font renderer test 2020-05-30 15:19:12 +02:00
Francesco Abbate 4701c2899c Add function in agg_font_freetype to take face's height 2020-05-30 15:18:36 +02:00
Francesco Abbate a7904eba3b Fix errors in renderer lcd 2020-05-29 18:41:14 +02:00
Francesco Abbate 0e713f7692 WIP: to use AGG font renderer to create a coverage bitmap 2020-05-29 16:00:29 +02:00
rxi b96609b7b8 Removed redundant __APPLE__ case in get_scale() 2020-05-29 09:33:42 +01:00
Francesco Abbate 4a8df09829 Fix y coordinate orientation in font rendering call 2020-05-29 09:27:00 +02:00
Francesco Abbate 31d7cb5ce0 Fix LCD font rendering for BGRA32 pixel format
Now the sizing of fonts is determined by stb_truetype while the
rendering is done via AGG so they are not aligned.

There seems to be an error also about Y text positioning.
2020-05-28 16:08:48 +02:00
Francesco Abbate 23a080ca45 WIP: compiles but completely broken
AGG files imported from AGG repository, sdl-testing branch.

the pixfmt_bgra32_lcd is just implemented and is not tested.
2020-05-28 12:15:24 +02:00
Francesco Abbate 79487074c0 Add missing gui_app flag in meson build 2020-05-25 16:18:06 +02:00
Francesco Abbate 7b9def299d Add dl library because it may be needed by SDL2
Should be fixed to be added only when needed.
2020-05-25 12:23:46 +02:00
Francesco Abbate 618078829c Add meson build configuration
Currently the editor will not work if it is not installed.

There is also a caveat about the 'data' directory which is installed
in the bin directory. This may work but does not seem ok because it is
pollution a shared bin directory and the 'data' folder may not be unique
to Lite.
2020-05-25 12:22:23 +02:00
rxi 61a2a2c4e5 Version 1.05 2020-05-24 13:52:10 +01:00
rxi 61092fbb99 Changed fuzzy matching to favour matching case 2020-05-23 15:08:38 +01:00
rxi 35b642d434 Added rencache invalidation on window-exposed event
Fixes #63
2020-05-22 09:00:48 +01:00
rxi 35ce3d32a9 Fixed string quoting on windows in `system.exec()` 2020-05-22 08:11:05 +01:00
rxi 7aabfebfa0 Fixed mouse-position resolution when dropping a file 2020-05-20 10:33:08 +01:00
rxi 4ae0d477c0 Made lite set project dir to CWD; removed core.project_dir
Fixes #100
2020-05-17 17:05:56 +01:00
rxi c1f731e5a1 Fixed EXEDIR having trailing slash 2020-05-17 16:58:32 +01:00
rxi adad2a65be Version 1.04 2020-05-17 14:58:44 +01:00
rxi 1abb979490 Added null-checks for all push_command() calls in rencache.c 2020-05-17 13:18:26 +01:00
rxi 82fdc63c6a Added global EXEFILE 2020-05-17 09:36:46 +01:00
rxi 5102088aca Deferred showing window until after the first frame has rendered
Fixes #97
2020-05-14 23:06:14 +01:00
rxi 9bf0ed2419 Made rencache warn on exhausting command buffer instead of panicing 2020-05-14 08:52:07 +01:00
rxi 4c2c03ed4d Made draw_text/draw_rect not push command if result is not on-screen 2020-05-14 08:45:45 +01:00
rxi 2b32edf7f0 Added system.exec() to system api 2020-05-13 20:32:53 +01:00
rxi 2f659d5180
Merge pull request #81 from extrowerk/patch-1
Build fix
2020-05-11 13:31:33 +01:00
extrowerk a6013ff181
Build fix 2020-05-11 13:49:18 +02:00
rxi c215eff6d8 Improved idle CPU utilisation when not-focused, added system.wait_event() 2020-05-11 00:21:07 +01:00
rxi b67b680975 Changed get_scale() to always default to 1.0 on macOS 2020-05-10 19:32:01 +01:00
rxi 143f8867a1 Version 1.03 2020-05-09 16:29:34 +01:00
rxi b2756d8a49 Removed xalloc.c/h 2020-05-08 13:41:39 +01:00
rxi 774d95d800 Comment improvement in rencache.c 2020-05-07 22:24:12 +01:00
rxi e551052e91 Added icon to non-windows build 2020-05-06 19:49:34 +01:00
rxi c8980a828f Version 1.02 2020-04-26 14:41:34 +01:00
rxi c658b6f1ca Removed underscore from start of globals, added VERSION
eg. `_SCALE` => `SCALE`
prevents conflict with lua's own _NAME globals
2020-04-25 09:58:01 +01:00
rxi bd43ed3e3f Added _PLATFORM global 2020-04-23 20:03:14 +01:00
rxi 03eee86ddb Made font.gc() do null-check in case font.load() failed 2020-04-22 00:41:23 +01:00
rxi a9b4bdf602 Made system.get_file_info() and list_dir() return (nil,msg) on error 2020-04-21 23:33:04 +01:00
rxi d4284edd5c Replaced system.set_fullscreen with system.set_window_mode
Solves #24
2020-04-07 18:49:11 +01:00
rxi efed38d59c Added system.set_fullscreen() and core:toggle-fullscreen command 2020-03-25 22:44:59 +00:00
basinbaby f37f22fb5f Added set_window_opacity function 2020-02-07 13:01:56 +00:00
rxi 613f9c2ba6 Changed renderer to make tab and newline glyphs invisible
Fixes #16
2020-02-05 20:16:09 +00:00
rxi 86800281c9 Made get_exe_dir() static; removed accidental `const` 2020-01-01 13:25:04 +00:00
rxi ba86b58b80 Added better resolution of exe directory; should fix #1 2019-12-31 10:53:31 +00:00
rxi d8c4bfa6ba Initial commit 2019-12-28 11:17:56 +00:00