<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/firmware/drivers/lcd-bitmap-common.c, branch working</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling.</title>
<updated>2014-01-12T00:34:06+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2014-01-12T00:30:26+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=488a1b983e1c2fac14de25aa781caf12628e53c8'/>
<id>488a1b983e1c2fac14de25aa781caf12628e53c8</id>
<content type='text'>
With the new lcd_putsxy_scroll_func() code can register custom scroll functions
(put_line() makes use of that). In order for the custom scroller to be able
to properly manage its userdata pointer (set via struct scrollinfo::userdata)
the scroll engine must inform the scroller about start and stop of scrolling.

To inform about start the lcd_scroll_* functions now return true when
the line will scroll. To inform about stop the scroll engine calls into the
scroller one last time, with the text set to NULL.

put_line() can use this to release the userdata registered per scrolling line
so that it can be recycled.

This fixes that some scrolling lines became glitchy after some time because
the userdata was recycled too early.

Change-Id: Iff0a6ce2a4f9ae2bada1b8e62f4f5950224942a9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the new lcd_putsxy_scroll_func() code can register custom scroll functions
(put_line() makes use of that). In order for the custom scroller to be able
to properly manage its userdata pointer (set via struct scrollinfo::userdata)
the scroll engine must inform the scroller about start and stop of scrolling.

To inform about start the lcd_scroll_* functions now return true when
the line will scroll. To inform about stop the scroll engine calls into the
scroller one last time, with the text set to NULL.

put_line() can use this to release the userdata registered per scrolling line
so that it can be recycled.

This fixes that some scrolling lines became glitchy after some time because
the userdata was recycled too early.

Change-Id: Iff0a6ce2a4f9ae2bada1b8e62f4f5950224942a9
</pre>
</div>
</content>
</entry>
<entry>
<title>scroll engine: Factor out renderer function so it can be called by lcd code.</title>
<updated>2014-01-11T18:17:58+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2014-01-11T18:17:58+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=26b317e094a37c43d23e661cf99fe858c159f1b2'/>
<id>26b317e094a37c43d23e661cf99fe858c159f1b2</id>
<content type='text'>
This is used by lcd_puts_scroll_worker() to render the line immediately
instead of waiting for the next scroll tick when only the text was updated.
Previously lcd_puts_scroll_worker() did not render anything in this case
which could lead to visible blinking.

This fixes blinking scrolling lines with dynamic text in the skin engine.

Change-Id: I475bde8c8eb7c92f505e3c5ecf4d32bb90690536
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is used by lcd_puts_scroll_worker() to render the line immediately
instead of waiting for the next scroll tick when only the text was updated.
Previously lcd_puts_scroll_worker() did not render anything in this case
which could lead to visible blinking.

This fixes blinking scrolling lines with dynamic text in the skin engine.

Change-Id: I475bde8c8eb7c92f505e3c5ecf4d32bb90690536
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd_nine_segment_bmp: Fixes for non-ideal image dimensions.</title>
<updated>2014-01-08T23:43:46+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2014-01-08T23:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=fde92de2243729dfa0edb5301a31c2c15d7bf707'/>
<id>fde92de2243729dfa0edb5301a31c2c15d7bf707</id>
<content type='text'>
1) The 9-segment images need not be multiple of 3 pixels anymore. If it
isn't the inner segments will be smaller than the corners.

2) If the desired actual images is not a multiple of the segment sizes the
function drawed more than the desired rectangle. This is fixed by
drawing the last segment only partially.

Change-Id: Ic918facd8734fa4a4aa72536f0b67de82d81651e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1) The 9-segment images need not be multiple of 3 pixels anymore. If it
isn't the inner segments will be smaller than the corners.

2) If the desired actual images is not a multiple of the segment sizes the
function drawed more than the desired rectangle. This is fixed by
drawing the last segment only partially.

Change-Id: Ic918facd8734fa4a4aa72536f0b67de82d81651e
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd-16bit: Move lcd_gradient_fillrect/_part() to lcd-16bit-common.c.</title>
<updated>2014-01-07T13:13:48+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-04-16T21:50:43+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=deb6ac3693a6fb5c47abd0c32f966f5e38b6a68a'/>
<id>deb6ac3693a6fb5c47abd0c32f966f5e38b6a68a</id>
<content type='text'>
Change-Id: I6b2d2ba73464610556cfd9ecec52fc62adb007c7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I6b2d2ba73464610556cfd9ecec52fc62adb007c7
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd-common: Remove direct style (line decorations) from lcd-puts* functions.</title>
<updated>2014-01-07T13:13:48+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-04-16T21:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=36e469db8bb7789c89ff642b51c1471669b830f5'/>
<id>36e469db8bb7789c89ff642b51c1471669b830f5</id>
<content type='text'>
This logic is moved into apps (put_line()) which can better handle line
decorations with respect to scrolling, mulitline and other complications.

Firmware doesn't need this. The remaining drawing function know only one style,
that is foreground on background/backdrop (changing drawmode is still supported).

Change-Id: I707060edc388a7d723a7d09b0cf5cbda6ec56708
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This logic is moved into apps (put_line()) which can better handle line
decorations with respect to scrolling, mulitline and other complications.

Firmware doesn't need this. The remaining drawing function know only one style,
that is foreground on background/backdrop (changing drawmode is still supported).

Change-Id: I707060edc388a7d723a7d09b0cf5cbda6ec56708
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd-common: Remove support for specifying y_offset from lcd_puts* functions.</title>
<updated>2014-01-07T13:13:48+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-04-16T21:33:19+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=ad0985ea1c4841498084dc3bc2158492f207e6fb'/>
<id>ad0985ea1c4841498084dc3bc2158492f207e6fb</id>
<content type='text'>
This main (and only) purpose for it was to adjust the pixel position of the text
in otherwise linebased (scrolling) functions. With pixel-based scrolling
this isnt necessary anymore.

Change-Id: I2a45b8ca6a3f8f50aa2f6630201b30ce9ddfe043
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This main (and only) purpose for it was to adjust the pixel position of the text
in otherwise linebased (scrolling) functions. With pixel-based scrolling
this isnt necessary anymore.

Change-Id: I2a45b8ca6a3f8f50aa2f6630201b30ce9ddfe043
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd-common: Remove support for custom line heights from viewport.</title>
<updated>2014-01-07T13:13:48+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-04-16T14:06:13+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=49780944809651f28e8135bf6d67dcd8ceeb2585'/>
<id>49780944809651f28e8135bf6d67dcd8ceeb2585</id>
<content type='text'>
Since scrolling is now pixel-based this is not necessary anymore. custom line
height is handled by put_line() but can also possible to implement with
lcd_puts_scroll_func().

Change-Id: Iee9b12bf99afac93d95d2a1a6f5d5b4db237b21c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since scrolling is now pixel-based this is not necessary anymore. custom line
height is handled by put_line() but can also possible to implement with
lcd_puts_scroll_func().

Change-Id: Iee9b12bf99afac93d95d2a1a6f5d5b4db237b21c
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd-common/scroll_engine: Remove unused functions lcd_puts_style_xyoffset() and lcd_puts_scroll_style_xyoffset().</title>
<updated>2014-01-07T13:13:48+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-04-14T16:15:09+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=9a4686b563ac9e27615e1032792bd9878bb291f7'/>
<id>9a4686b563ac9e27615e1032792bd9878bb291f7</id>
<content type='text'>
With this functions removed there is no exported function in firmware left
that draws line decorations. Also no function supports specifying an y-offset
anymore (was used for pixel accurate positioning of otherwise strictly line-based
API calls).

Both should be handled in apps/ now.

Change-Id: Iba4b28ccc6e686c7db63e34b51ad4badae983fce
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this functions removed there is no exported function in firmware left
that draws line decorations. Also no function supports specifying an y-offset
anymore (was used for pixel accurate positioning of otherwise strictly line-based
API calls).

Both should be handled in apps/ now.

Change-Id: Iba4b28ccc6e686c7db63e34b51ad4badae983fce
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd-common/scroll_engine: Remove unused functions lcd_puts_scroll_style().</title>
<updated>2014-01-07T13:13:48+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-04-14T16:13:12+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=775ebe4ff6508d13712beb6bc18e546adb39f47d'/>
<id>775ebe4ff6508d13712beb6bc18e546adb39f47d</id>
<content type='text'>
Change-Id: Ia4f943b3738ab6e66b0e3f1507c629b36d7eba94
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ia4f943b3738ab6e66b0e3f1507c629b36d7eba94
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd-common: Remove unused function lcd_puts_style_offset().</title>
<updated>2014-01-07T13:13:48+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-04-13T16:20:42+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=7cd07290e6fc21ab8b2b6d438d7a6b24b3708e35'/>
<id>7cd07290e6fc21ab8b2b6d438d7a6b24b3708e35</id>
<content type='text'>
Change-Id: I24da23d132f933fe647416dc58e8f50879715423
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I24da23d132f933fe647416dc58e8f50879715423
</pre>
</div>
</content>
</entry>
</feed>
