Commit Graph

122 Commits

Author SHA1 Message Date
Hajime Hoshi
a6dd6196b4 internal/affine: Cache scaling ColorM for heuristic optimization
Closes #1474
2021-01-28 02:23:22 +09:00
Hajime Hoshi
c8454bdfed text: Integrate emptyGlyphs and glyphImageCache to reduce runtine.mapaccess2 2021-01-05 13:12:46 +09:00
Hajime Hoshi
927c477d2b text: Change getGlyphImages to getGlyphImage to avoid allocating slices 2021-01-05 12:21:41 +09:00
Hajime Hoshi
cd779b678a text: Add comments 2020-11-03 20:35:55 +09:00
Hajime Hoshi
c70ebdc697 text: Misspelling 2020-11-03 19:54:51 +09:00
Hajime Hoshi
2d9e2a0483 text: Add CacheGlyphs
Fixes #1413
2020-11-03 17:12:51 +09:00
Hajime Hoshi
ec6821b1e1 text: Refactoring 2020-11-03 16:36:10 +09:00
Hajime Hoshi
5ec05ed79d text: Cleaning up the cache after the rendering finishes
Before this fix, cleaning up the cache happens during making glyph
images, and this can be problematic when the text includes more
glyphs than the cache limit.

After this fix, Draw allows to have more glyph cache than the limit
temporarily.
2020-11-03 15:58:35 +09:00
Hajime Hoshi
a046700ae1 text: Remove the optimization for GopherJS 2020-10-07 01:13:31 +09:00
Hajime Hoshi
1b816eb249 ebiten: Remove the error returning value from NewImageFromImage
Updates #1380
2020-10-06 01:03:33 +09:00
Hajime Hoshi
c6053bcf14 ebiten: Remove the error returning value from NewImage
Updates #1380
2020-10-06 00:48:56 +09:00
Hajime Hoshi
54da0d9763 ebiten: Remove the returning value from (*Image).DrawImage
Updates #1380
2020-10-06 00:21:17 +09:00
Hajime Hoshi
fe97e7b0a5 ebiten: Remove the filter argument from NewImage and NewImageFromImage
Updates #503
2020-10-05 01:40:44 +09:00
Hajime Hoshi
bf515bb594 Update version to v2.0.0-alpha 2020-10-04 04:30:40 +09:00
Hajime Hoshi
c08f47f445 text: Bug fix: Draw didn't work correctly with non-integer glyph bounds
Fixes #1377
2020-10-03 23:04:50 +09:00
Hajime Hoshi
c1be079ae9 text: Bug fix: Treat negative kernings correctly
Fixes #1378
2020-10-03 20:02:29 +09:00
Hajime Hoshi
f189404370 text: Update bitmapfont to v2 2020-09-23 22:59:46 +09:00
Hajime Hoshi
0699ca193c text: Improve comments 2020-07-30 00:54:57 +09:00
Hajime Hoshi
481c160c2a text: Replace MeasureString with BoundString
Fixes #1272
2020-07-30 00:51:10 +09:00
Hajime Hoshi
bb3a4cda22 text: Fix comments 2020-07-30 00:21:51 +09:00
Hajime Hoshi
35d1c8ae7a text: Improve documentations
Updates #1271
2020-07-30 00:02:35 +09:00
Hajime Hoshi
911750c4a6 text: Add comments 2020-07-20 23:47:46 +09:00
Hajime Hoshi
780465b702 ebitenutil: Cache ColorM and reuse them at DrawRect
Fixes #1221
2020-06-29 22:35:28 +09:00
Hajime Hoshi
3d7c102472 shaderir: Add func params 2020-05-13 23:31:17 +09:00
Peter Wunder
abc2801ff1
text: Add MeasureString method (#1152)
(sorta-kinda continuation from #1151)

This PR adds a MeasureString(string, font.Face) method next to the Draw() method in Ebiten's
text package. It should work with any supported font.Face, even "non-standard" faces like
those produced by packages like https://github.com/AndreKR/multiface. MeasureString's code
was adapted from the Draw method, so it's just as reliable.
2020-05-13 18:03:39 +09:00
Hajime Hoshi
47d5c3b5e1 Add testing package 2020-04-01 18:10:48 +09:00
Zachary Burkett
bb60818e8d
Add linebreak support to text.Draw (#1075)
Closes #1074
2020-02-12 23:15:57 +09:00
Hajime Hoshi
4a9a7f936d Make go vet a little happier on macOS
Updates #889
2019-07-22 20:16:22 +09:00
Hajime Hoshi
710f56531f graphics: Experimental: (*image.Image).SubImage
Fixes #722
2018-10-28 02:19:14 +09:00
Hajime Hoshi
fe4f12fa6f text: Fix style 2018-08-27 23:42:17 +09:00
Hajime Hoshi
1c088dc8b6 text: Use bitmapfont package for testing 2018-08-19 20:16:57 +09:00
Hajime Hoshi
d752408da3 Fix comments not to use the term 'this function' 2018-07-15 01:04:46 +09:00
Hajime Hoshi
92631e64ed Remove internal/sync
nosync package for GopherJS is problematic since nosync's mutex
assumes that Lock call is never duplicated, which is not true in
actual applications.

See also #603.
2018-05-09 23:41:08 +09:00
Hajime Hoshi
81dfc13b21 text: Remove duplicated glyphs 2018-04-28 22:50:45 +09:00
Hajime Hoshi
be3d529767 text: Bug fix: one image should be used for multiple glyphs (#535) 2018-04-26 02:41:01 +09:00
Hajime Hoshi
6caebc2310 text: Avoid creating 0-sized image 2018-04-26 02:11:45 +09:00
Hajime Hoshi
059bab0b13 text: Optimization: reduce ColorM calc 2018-04-23 22:42:38 +09:00
Hajime Hoshi
5257e6f9a7 text: Unify draw calls for multiple runes (#535) 2018-04-23 22:15:45 +09:00
Hajime Hoshi
9902497e3d test: Use flock to make tests exclusive
Fixes #575
2018-04-07 00:59:52 +09:00
Hajime Hoshi
9092ec083d text: Remove uniqFace for performance
Fixes #554. Add comments for #498.
2018-03-15 23:00:23 +09:00
Hajime Hoshi
c581219bb5 text: Utilize shared textures
Fixes #529
2018-03-04 02:38:48 +09:00
Hajime Hoshi
3736fd3cfc text: Add text_test.go 2018-02-24 04:55:15 +09:00
Hajime Hoshi
c79b795e84 text: Cache GlyphAdvance result 2018-02-18 21:38:48 +09:00
Hajime Hoshi
31ae457a8c text: Refactoring 2018-02-12 22:24:25 +09:00
Hajime Hoshi
57dd7db893 text: Use uint32 for map keys instead of color.Color interface 2018-02-12 19:32:21 +09:00
Hajime Hoshi
c4f02ac07c text: Limit color matrices cache size 2018-02-12 04:07:59 +09:00
Hajime Hoshi
12cef4d27e text: Cache color matrices for performance 2018-02-12 03:33:11 +09:00
Hajime Hoshi
9118772fd1 text: Optimization for browsers 2018-02-12 02:57:51 +09:00
Hajime Hoshi
950219f5b6 text: Remove font struct 2018-02-12 00:57:01 +09:00
Hajime Hoshi
8c1a8b64eb text: Avoid copying structs for browsers 2018-02-12 00:42:35 +09:00
Hajime Hoshi
da51377cc5 text: Optimize speed: Don't use a struct for map keys
Especially for browsers
2018-02-12 00:25:21 +09:00
Hajime Hoshi
a5f9382878 text: Refactoring 2018-02-11 16:17:59 +09:00
Hajime Hoshi
05671e784b text: Reuse font.Face instances if they are DeepEqual-ly same (#498) 2018-02-11 16:05:31 +09:00
Hajime Hoshi
103cd63b32 text: Now package text is stable 2018-02-04 17:49:32 +09:00
Hajime Hoshi
3cf5ca4df3 doc: Improve comments 2017-10-08 03:14:33 +09:00
Hajime Hoshi
d1333e92a5 doc: Improve comments 2017-10-01 20:48:28 +09:00
Hajime Hoshi
631264fce1 Add 'internal/math' package 2017-08-06 20:05:14 +09:00
Hajime Hoshi
064b359c78 text: Bug fix: space was not used correctly 2017-07-21 00:44:37 +09:00
Hajime Hoshi
b58d8bb996 text: Swap arguments face and text 2017-07-20 02:20:15 +09:00
Hajime Hoshi
94c4a76dcf text: Refactoring: create glyph object in appendGlyph 2017-07-19 02:57:49 +09:00
Hajime Hoshi
28934c4fd2 text: Refactoring: Rename atlas.size -> atlas.glyphSize 2017-07-19 02:52:38 +09:00
Hajime Hoshi
842c535c01 text: Refactoring: Remove some members from atlas 2017-07-19 02:50:55 +09:00
Hajime Hoshi
fd57753089 text: Refactoring: Reduce a global variable 2017-07-18 10:49:12 +09:00
Hajime Hoshi
86296ea89b text: Refactoring 2017-07-18 02:16:39 +09:00
Hajime Hoshi
9efc794547 text: Don't use Ceil as much as possible for accuracy 2017-07-17 17:00:51 +09:00
Hajime Hoshi
198ffa9ef8 text: doc 2017-07-17 16:17:01 +09:00
Hajime Hoshi
20a43a88e8 text: Remove 'lineHeight' argument 2017-07-17 06:42:48 +09:00
Hajime Hoshi
e0d0f477dc text: Fix comment 2017-07-17 06:39:06 +09:00
Hajime Hoshi
f64ac89d56 text: doc 2017-07-17 02:15:00 +09:00
Hajime Hoshi
b42f417e3b text: Update doc 2017-07-17 02:13:30 +09:00
Hajime Hoshi
9908fe0d31 text: Refactoring 2017-07-17 01:54:30 +09:00
Hajime Hoshi
1e84e21857 Add 'text' package (#363) 2017-07-17 01:54:24 +09:00