Commit graph

198 commits

Author SHA1 Message Date
Edgar Geier
4e93853765
Remove lifetime from SwashCache 2023-03-01 22:41:59 +01:00
Héctor Ramón Jiménez
22b8a534fa
Avoid division by zero in LayoutRunIter 2023-02-28 20:40:31 +01:00
Héctor Ramón Jiménez
4320ae6329
Use f32 instead of i32 for lengths
This allows users to use logical coordinates instead of physical ones.
2023-02-28 03:39:31 +01:00
Héctor Ramón Jiménez
f08bea22ed
Expose Placement from zeno in swash module 2023-02-27 18:14:26 +01:00
Hojjat
fdd3ee83a5 Fix selection highlighting when paragraph is justified 2023-02-24 13:00:25 -07:00
Jeremy Soller
f4b14f1210
Merge pull request #78 from hojjatabdollahi/main
Alignment and Justification
2023-02-24 10:54:09 -07:00
Hojjat
fff8389bbf Allow set_align to clear the alignment by setting it to None 2023-02-24 08:39:24 -07:00
grovesNL
6a656e9a0f Exclude line y offset in height comparison
We start `line_y` at an initial offset, so we need to account for this
later when checking if the total height is beyond the buffer height.
2023-02-24 11:27:45 -03:30
Hojjat
d313713f44 Removed alignment from Buffer, added alignment per Bufferline to editor-libcosmic 2023-02-23 14:23:56 -07:00
Hojjat
4e7e1cc79e Alignment is based on text direction by default now 2023-02-23 13:45:34 -07:00
Hojjat
27d52a12e9 Fix the trailing space 2023-02-23 13:26:21 -07:00
Hojjat
2442422762 Add justification buttons to editor-libcosmic 2023-02-22 21:59:03 -07:00
Hojjat
59e89bdbaa Justified 2023-02-22 20:48:57 -07:00
Hojjat
00ff5b72f3 Align Left, Right, and Center works 2023-02-22 18:31:49 -07:00
notgull
86d7ba959e Forgot about set_metrics 2023-02-18 18:00:57 -08:00
notgull
c4ee3ba64e Early panic on divide by zero 2023-02-18 17:59:30 -08:00
Héctor Ramón Jiménez
655de0af5f
Implement FontSystem::new_with_fonts helper
This helper is useful to initialize a `FontSystem` with some embedded
fonts, for instance.
2023-02-04 11:30:41 +01:00
Héctor Ramón Jiménez
66288ab2da
Fix Noto Color Emoji font fallback order for Unix 2023-01-31 06:08:07 +01:00
grovesNL
a3e035881b Fill out some more docs 2023-01-29 22:29:17 -03:30
grovesNL
be9b4cb36c Avoid negative width/height in Buffer::set_size
Negative width/height may cause unexpected effects on the layout, which
we can avoid by clamping.
2023-01-26 22:16:23 -03:30
Audrey Dutcher
a5903bb3bf Don't do profile timing on wasm32 2023-01-23 14:18:44 -07:00
Audrey Dutcher
1225106ddc Fix docs 2023-01-19 09:19:54 -07:00
Audrey Dutcher
c6cf57e213 Add enum for cursor affinity; rename constructor to new_with_affinity 2023-01-19 09:19:54 -07:00
Audrey Dutcher
da842ec10d Add cursor affinity 2023-01-19 09:19:54 -07:00
Audrey Dutcher
e00109d77f Downgrade some logging messages 2023-01-05 21:51:10 -07:00
Jeremy Soller
8cc988d374 Run cargo fmt 2023-01-04 20:03:03 -07:00
Jeremy Soller
00bc4d1e88 Fix tests 2023-01-04 20:02:00 -07:00
Audrey Dutcher
210ca61f13 remove highlight_blocks, add LayoutRun::highlight 2023-01-04 18:41:26 -07:00
Audrey Dutcher
25d04ace1c Do not crash when inserting empty string 2023-01-04 18:41:26 -07:00
Audrey Dutcher
961b10d7b1 Add Buffer::highlight_blocks 2023-01-04 18:41:26 -07:00
Audrey Dutcher
4616ca7dd9 Fix Insert('\n') 2023-01-04 18:41:26 -07:00
Audrey Dutcher
8e09a128bb Many upgrades for Editor 2023-01-04 18:41:26 -07:00
Audrey Dutcher
39d3219df9 Add Editor::insert_text 2023-01-04 18:41:26 -07:00
Audrey Dutcher
c5a5913981 re-export fontdb 2023-01-04 18:41:26 -07:00
Audrey Dutcher
58d292a6f1 Add FontSystem::into_locale_and_db for std system 2023-01-04 18:41:26 -07:00
Audrey Dutcher
92b3758909 Add ExactSizeIterator impl for LayoutRunsIter 2023-01-04 18:41:26 -07:00
Audrey Dutcher
06ad8ff7fb run cargo check next time thx 2023-01-04 18:41:26 -07:00
Audrey Dutcher
5533af1a53 Add FontSystem::new_with_locale_and_db for std system 2023-01-04 18:41:26 -07:00
Audrey Dutcher
cd15418315 Add BufferLine::into_text 2023-01-04 18:41:26 -07:00
Andrew Wheeler
8614a7a398 Updated RangeMap to Add Clear(). 2022-12-30 08:33:00 -07:00
Hojjat
b9fef72f76 Added an enum with the option for "No Wraping" 2022-12-20 13:38:34 -07:00
Hojjat
48087b592b Updated Doc String 2022-12-20 13:37:21 -07:00
Hojjat
1454a53b21 Glyph based wrapping implemeted 2022-12-20 04:48:53 -07:00
Hojjat
a4ed73b664 Simplify the layout algorithm 2022-12-20 04:48:53 -07:00
Hojjat
1bc476c06e This solves a few bugs:
Fixes long words in BiDi text.
Fixes issues with small text area and large font (no duplicates)
But I feel I need to rewirte this function. It's too convluted and ugly
2022-12-20 04:48:53 -07:00
Hojjat
499e6ccb06 Bug fix: duplicate lines in specific conditions. 2022-12-20 04:48:53 -07:00
Hojjat
8beeca2822 Fix duplicate visual lines when a word is too long
Words longer than the linewidth used to show up duplicated
2022-12-20 04:48:53 -07:00
Hojjat
e38a302599 Make ShapeWord::x/y_advance pub 2022-12-20 04:48:53 -07:00
Hojjat
25a3367ef9 Turn a consequtive whitespaces into separate words
Currently a sequence like this "hello      " (a word followed by
6 spaces). Would be shaped into two words: ["hello     " , " "]
This causes issues, since the first word is only 5 letters long,  not 10
This commit will break this sequence into:
["hello", " ", " ", " ", " ", " ", " "]
This helps with correct line wrappipng
2022-12-20 04:48:53 -07:00
Hojjat
3ef56b7112 Ignore the last space when wrapping. 2022-12-20 04:48:53 -07:00