<feed xmlns='http://www.w3.org/2005/Atom'>
<title>phosphor, branch v1.0.0</title>
<subtitle>Rust library for creating graphical programs
</subtitle>
<id>https://code.benbridle.com/phosphor/atom?h=v1.0.0</id>
<link rel='self' href='https://code.benbridle.com/phosphor/atom?h=v1.0.0'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/'/>
<updated>2023-12-24T09:06:32Z</updated>
<entry>
<title>Add information to Cargo.toml</title>
<updated>2023-12-24T09:06:32Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-24T09:06:32Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=8866d8f43679dbfa286e3fb827c238dc616619df'/>
<id>urn:sha1:8866d8f43679dbfa286e3fb827c238dc616619df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use Git URLs for dependencies instead of local file paths</title>
<updated>2023-12-24T09:05:56Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-24T09:05:49Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=6500dd529b0ddb06966786c6a65ded6141f12620'/>
<id>urn:sha1:6500dd529b0ddb06966786c6a65ded6141f12620</id>
<content type='text'>
Dependencies are now fetched from the benbridle.com git server, instead
of Ben's local filesystem.
</content>
</entry>
<entry>
<title>Use geometry types forwarded by buffer</title>
<updated>2023-12-24T09:02:42Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-24T09:02:42Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=e2d9f83b27f894794fb4563e32a7bf8b21c15d07'/>
<id>urn:sha1:e2d9f83b27f894794fb4563e32a7bf8b21c15d07</id>
<content type='text'>
Previously, this crate was defining its own set of aliases for types
from the geometry crate, which were clashing with the aliases already
defined by the buffer crate. The buffer aliases are now used instead.
</content>
</entry>
<entry>
<title>Add a feature flag to enable each supported display server</title>
<updated>2023-12-24T09:00:00Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-24T08:59:00Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=b57645384a2ab3ef2ea56629fae44073060db646'/>
<id>urn:sha1:b57645384a2ab3ef2ea56629fae44073060db646</id>
<content type='text'>
This commit forwards the winit display server feature flags as phosphor
feature flags, so that downstream software can choose which display
servers to enable or disable support for. Disabling support for a
display server has the effect of reducing compile times and binary size.
</content>
</entry>
<entry>
<title>Stop tracking the Cargo.lock file</title>
<updated>2023-12-24T08:50:55Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-24T08:50:31Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=9807bf1420dfcc834af113f1bb655a94da650a5c'/>
<id>urn:sha1:9807bf1420dfcc834af113f1bb655a94da650a5c</id>
<content type='text'>
Libraries are never supposed to track the Cargo.lock file, it was tracked
in this repository a while ago by mistake.
</content>
</entry>
<entry>
<title>Prevent crash when window dimension resizes to zero</title>
<updated>2023-12-19T08:17:35Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-19T08:16:15Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=8ad5f17d122cdd9c7ba0bb23ae6035e73ecd01de'/>
<id>urn:sha1:8ad5f17d122cdd9c7ba0bb23ae6035e73ecd01de</id>
<content type='text'>
If an application attempted to change either of the window dimensions to
zero, the surface would resize to the new dimensions and cause the window
definition in the display server to enter an invalid state, causing the
display server to crash the application.

This change ensures that the window dimensions are always greater than zero.
</content>
</entry>
<entry>
<title>Redraw the window when the logical dimensions change</title>
<updated>2023-12-19T08:17:35Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-19T08:10:42Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=11c29a04f33c5611de6ec79c2e8452bece1bb952'/>
<id>urn:sha1:11c29a04f33c5611de6ec79c2e8452bece1bb952</id>
<content type='text'>
Previously the window would only be redrawn when the physical dimensions
changed, which meant that the effects of a pixel scale change would not
be visible until the application requested a re-render.
</content>
</entry>
<entry>
<title>Make window rendering code more efficient</title>
<updated>2023-12-19T08:17:35Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-19T08:02:55Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=68017c61c1ec1d0657f2e22f0d4044a955b84ccc'/>
<id>urn:sha1:68017c61c1ec1d0657f2e22f0d4044a955b84ccc</id>
<content type='text'>
The code to scale the window buffer and draw it to the window surface
has been made more efficient through the use of slice::copy_from_within
and slice::fill, instead of what was slow pixel-by-pixel iteration over
long horizontal strips.
</content>
</entry>
<entry>
<title>Use logical position for cursor position</title>
<updated>2023-12-19T08:17:35Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-19T07:59:23Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=1fb788cc09fa349957da501dd911435f1957c03a'/>
<id>urn:sha1:1fb788cc09fa349957da501dd911435f1957c03a</id>
<content type='text'>
Previously the physical cursor position instead of the logical cursor
position was being passed to WindowController::on_cursor_move, which
meant that the cursor position that the application was receiving would
be incorrect when the window scale was greater than 1.
</content>
</entry>
<entry>
<title>Use pixel scale as window resize increment</title>
<updated>2023-12-19T08:17:35Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2023-12-19T07:52:42Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/phosphor/commit/?id=8e019fb17d49dd1d605e81a59a84febfd4fc41c8'/>
<id>urn:sha1:8e019fb17d49dd1d605e81a59a84febfd4fc41c8</id>
<content type='text'>
When resizing a window, the window width and height will be made to be a
multiple of the current pixel scale. This is to prevent thin black strips
from rendering along the bottom edge and the right edge of the window
when the dimensions of the window exceed the dimensions of the scaled
screen content.
</content>
</entry>
</feed>
