<feed xmlns='http://www.w3.org/2005/Atom'>
<title>iced_selection/src/text.rs, branch feat/global-selectable</title>
<subtitle>Text selection for iced
</subtitle>
<id>https://git.pml68.dev/iced_selection/atom?h=feat%2Fglobal-selectable</id>
<link rel='self' href='https://git.pml68.dev/iced_selection/atom?h=feat%2Fglobal-selectable'/>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/'/>
<updated>2025-12-30T17:13:59Z</updated>
<entry>
<title>fix(selectable): prevent clash with other's custom operations</title>
<updated>2025-12-30T17:13:59Z</updated>
<author>
<name>alex-ds13</name>
<email>145657253+alex-ds13@users.noreply.github.com</email>
</author>
<published>2025-12-06T13:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=d23ed3bfe439131004cf8c247fb4b4600fa92aff'/>
<id>urn:sha1:d23ed3bfe439131004cf8c247fb4b4600fa92aff</id>
<content type='text'>
- Make the `global_selection` operation check for the new
  `IndependentSelection` when trying to downcast_mut.
- `IndependentSelection` uses wraps a `RefCell` so it can change its
  inner value. Theres some helper methods to create this
  `IndependentSelection` from an existing value and to then get the
  changed value once the operation is done. This way the `Text` and
  `Rich` simply need to pass this `IndependentSelection` to the
  operation `custom` method which will make sure it wont clash with any
  other custom operations that could be using `&amp;mut bool` as well.
</content>
</entry>
<entry>
<title>feat(selectable): draft implementation of selectable widget</title>
<updated>2025-12-30T17:13:59Z</updated>
<author>
<name>alex-ds13</name>
<email>145657253+alex-ds13@users.noreply.github.com</email>
</author>
<published>2025-12-04T02:40:12Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=de65c1dc7285b15c87862198b98b435345715d7d'/>
<id>urn:sha1:de65c1dc7285b15c87862198b98b435345715d7d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: implement selection across bounds with hacky copy solution</title>
<updated>2025-12-30T17:13:59Z</updated>
<author>
<name>alex-ds13</name>
<email>145657253+alex-ds13@users.noreply.github.com</email>
</author>
<published>2025-11-26T16:11:18Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=688b6b58b2ccf7006ec53acb63e69fa9469c1e11'/>
<id>urn:sha1:688b6b58b2ccf7006ec53acb63e69fa9469c1e11</id>
<content type='text'>
- This commit implements the selection across bounds, which is it allows
  a selection to start out of bounds and allows a selection that started
  on another widget to be dragged in bounds and select multiple
  different widgets. However in order to get the copy working on
  `ctrl/cmd + c` it resorts to a hacky solution where each widget clears
  the clipboard when a drag movement comes into its bounds and when the
  user presses `ctrl/cmd + c` it appends it's selected text to the
  clipboard.
</content>
</entry>
<entry>
<title>fix: graphemes with multi codepoint on multiple visual lines</title>
<updated>2025-12-29T22:23:41Z</updated>
<author>
<name>alex-ds13</name>
<email>145657253+alex-ds13@users.noreply.github.com</email>
</author>
<published>2025-11-26T00:16:59Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=a6c4ffae8f973b54897b60a1c9dd1329e5abd332'/>
<id>urn:sha1:a6c4ffae8f973b54897b60a1c9dd1329e5abd332</id>
<content type='text'>
- The logic for graphemes with multiple codepoints was working when they
  were on a single visual line, however on multiple visual lines the
  lines after the one that contained such grapheme weren't taking that
  into consideration.
</content>
</entry>
<entry>
<title>fix: select graphemes with multi codepoints properly</title>
<updated>2025-12-29T22:23:41Z</updated>
<author>
<name>alex-ds13</name>
<email>145657253+alex-ds13@users.noreply.github.com</email>
</author>
<published>2025-11-25T18:43:51Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=99ee469c86c8c187d874253ad8f0e3274cf97943'/>
<id>urn:sha1:99ee469c86c8c187d874253ad8f0e3274cf97943</id>
<content type='text'>
- We continue to use the graphemes index for the selection ends, however
  when calculating the selection rectangles we now check if the visual
  line had any glyph with `start` and `end` index bigger than 1 before
  or within the range and update the range accordingly. This way all the
  code that checks for word boundaries when selecting by words still
  functions properly.
</content>
</entry>
<entry>
<title>fix: outbounds selecting when inside a scrollable</title>
<updated>2025-12-29T22:23:41Z</updated>
<author>
<name>alex-ds13</name>
<email>145657253+alex-ds13@users.noreply.github.com</email>
</author>
<published>2025-11-25T16:11:31Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=1a55783b3770049cb630e0c28ef4b772e193f219'/>
<id>urn:sha1:1a55783b3770049cb630e0c28ef4b772e193f219</id>
<content type='text'>
- If we were dragging a selection and move the mouse out of bounds of
  the text widget and an the same time it went out of bounds of a parent
  scrollable, the cursor would be levitated so we weren't getting it's
  cursor position. Now we land the cursor before checking the position.
</content>
</entry>
<entry>
<title>fix: take visual bounds into consideration when text is centered</title>
<updated>2025-12-29T22:23:41Z</updated>
<author>
<name>alex-ds13</name>
<email>145657253+alex-ds13@users.noreply.github.com</email>
</author>
<published>2025-11-25T15:56:51Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=4d2fa4298ec818e4f796de4f67416b0f175f740a'/>
<id>urn:sha1:4d2fa4298ec818e4f796de4f67416b0f175f740a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: correct selection on wrapped lines and allow mouse drag out of bounds</title>
<updated>2025-12-29T22:23:41Z</updated>
<author>
<name>alex-ds13</name>
<email>145657253+alex-ds13@users.noreply.github.com</email>
</author>
<published>2025-11-25T14:42:06Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=b46c556f863917a753c55359fb05543db0ccef7c'/>
<id>urn:sha1:b46c556f863917a753c55359fb05543db0ccef7c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: add missing hint_factor fields (iced update)</title>
<updated>2025-12-29T22:23:29Z</updated>
<author>
<name>Polesznyák Márk</name>
<email>contact@pml68.dev</email>
</author>
<published>2025-12-24T21:43:10Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=c49b3e1bb36e983ec9812e3645c45e7c1d37c491'/>
<id>urn:sha1:c49b3e1bb36e983ec9812e3645c45e7c1d37c491</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: update as necessary for upstream iced changes</title>
<updated>2025-12-08T19:39:24Z</updated>
<author>
<name>Polesznyák Márk</name>
<email>contact@pml68.dev</email>
</author>
<published>2025-12-08T19:39:24Z</published>
<link rel='alternate' type='text/html' href='https://git.pml68.dev/iced_selection/commit/?id=4321b4bc1f70ba85c683dac09fc2dc90af1da1f3'/>
<id>urn:sha1:4321b4bc1f70ba85c683dac09fc2dc90af1da1f3</id>
<content type='text'>
</content>
</entry>
</feed>
