<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/apps/gui/skin_engine/skin_render.c, branch master</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>lcd-24bit: Introduce a 24-bit mid-level LCD driver</title>
<updated>2014-06-20T22:15:53+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2014-06-18T05:15:00+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=a1842c04f9cb73210d4cacde61a9e4b115050765'/>
<id>a1842c04f9cb73210d4cacde61a9e4b115050765</id>
<content type='text'>
With LCD driver all calculation will be performed on RGB888 and the hardware/OS
can display from our 24bit framebuffer.

It is not yet as performance optimized as the existing drivers but should be
good enough.The vast number of small changes is due to the fact that
fb_data can be a struct type now, while most of the code expected a scalar type.

lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit
it enforces the generic C code.

All plugins are ported over. Except for rockpaint. It uses so much memory that
it wouldnt fit into the 512k plugin buffer anymore (patches welcome).

Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With LCD driver all calculation will be performed on RGB888 and the hardware/OS
can display from our 24bit framebuffer.

It is not yet as performance optimized as the existing drivers but should be
good enough.The vast number of small changes is due to the fact that
fb_data can be a struct type now, while most of the code expected a scalar type.

lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit
it enforces the generic C code.

All plugins are ported over. Except for rockpaint. It uses so much memory that
it wouldnt fit into the 512k plugin buffer anymore (patches welcome).

Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
</pre>
</div>
</content>
</entry>
<entry>
<title>skin engine: Fix FS#12884.</title>
<updated>2014-01-10T20:54:06+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2014-01-10T20:50:37+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=d4d3f3c494e48304d41eada0a4881a9d2b4b97f4'/>
<id>d4d3f3c494e48304d41eada0a4881a9d2b4b97f4</id>
<content type='text'>
The %Vf and %Vb tags change the colors for the rest of the viewport. This
requires the rest of the vp to be redrawn when they change due to a conditional.
The previous code did this redraw in all cases (conditional or not) which
led to visible blinking.

Change-Id: Ie59dfc6fe8ed76485a2a2bd7caf1315f1944c227
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The %Vf and %Vb tags change the colors for the rest of the viewport. This
requires the rest of the vp to be redrawn when they change due to a conditional.
The previous code did this redraw in all cases (conditional or not) which
led to visible blinking.

Change-Id: Ie59dfc6fe8ed76485a2a2bd7caf1315f1944c227
</pre>
</div>
</content>
</entry>
<entry>
<title>Oops, pasted to the wrong place.</title>
<updated>2014-01-07T21:46:45+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2014-01-07T21:46:45+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=10a2e6738d24c31aa26822499df366c06dc2e88d'/>
<id>10a2e6738d24c31aa26822499df366c06dc2e88d</id>
<content type='text'>
Change-Id: Icb07ddd04171699e997eca171bf8756b5fd9f024
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Icb07ddd04171699e997eca171bf8756b5fd9f024
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a few reds and yellows.</title>
<updated>2014-01-07T21:41:00+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2014-01-07T21:41:00+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=0e6d86e4feb800148c589faa6da4f08c41059c5d'/>
<id>0e6d86e4feb800148c589faa6da4f08c41059c5d</id>
<content type='text'>
Change-Id: I9ad2aca494f2ea3ca5453082ec5491ec031f9ae5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I9ad2aca494f2ea3ca5453082ec5491ec031f9ae5
</pre>
</div>
</content>
</entry>
<entry>
<title>lcd-16bit: Remove {lss,lse,lst}_pattern fields from struct 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-30T05:41:05+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=e1c7b3b8f72becc9079c04253a2985f577850a48'/>
<id>e1c7b3b8f72becc9079c04253a2985f577850a48</id>
<content type='text'>
These where used for line styling during scrolling, which is now done in apps/,
The  viewport struct doesn't need to record these anymore.

Change-Id: I810d9dcb2644b00a798c6e75acab69c74a78e77f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These where used for line styling during scrolling, which is now done in apps/,
The  viewport struct doesn't need to record these anymore.

Change-Id: I810d9dcb2644b00a798c6e75acab69c74a78e77f
</pre>
</div>
</content>
</entry>
<entry>
<title>skin_engine: Adapt put_line().</title>
<updated>2014-01-07T13:13:40+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-12-20T22:34:28+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=91ef65306bf4e459f430d6dc44e5923d6b9f8399'/>
<id>91ef65306bf4e459f430d6dc44e5923d6b9f8399</id>
<content type='text'>
This allows for code unification and removal of a workaround (STYLE_XY_PIXELS).

Change-Id: Ie92d377414cad943cdb06976af10b4f315f32710
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows for code unification and removal of a workaround (STYLE_XY_PIXELS).

Change-Id: Ie92d377414cad943cdb06976af10b4f315f32710
</pre>
</div>
</content>
</entry>
<entry>
<title>fix some reds.</title>
<updated>2013-12-23T11:35:52+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-12-23T11:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=ec6258f936487cb92e68e7d6ee3ba864786378bd'/>
<id>ec6258f936487cb92e68e7d6ee3ba864786378bd</id>
<content type='text'>
Change-Id: Iecb1305dbd1519434e0f476d2199e728b96091f9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Iecb1305dbd1519434e0f476d2199e728b96091f9
</pre>
</div>
</content>
</entry>
<entry>
<title>playback,talk: Share audiobuffer via core_alloc_maximum().</title>
<updated>2013-12-23T11:17:38+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-05-30T09:24:16+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=22e802e80048defd401462e062afcb10093ac793'/>
<id>22e802e80048defd401462e062afcb10093ac793</id>
<content type='text'>
This fixes the radioart crash that was the result of buffering.c working
on a freed buffer at the same time as buflib (radioart uses buffering.c for the
images). With this change the buffer is owned by buflib exclusively so this
cannot happen.

As a result, audio_get_buffer() doesn't exist anymore. Callers should call
core_alloc_maximum() directly. This buffer needs to be protected as usual
against movement if necessary (previously it was not protected at all which
cased the radioart crash), To get most of it they can adjust the willingness of
the talk engine to give its buffer away (at the expense of disabling voice
interface) with the new talk_buffer_set_policy() function.

Change-Id: I52123012208d04967876a304451d634e2bef3a33
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes the radioart crash that was the result of buffering.c working
on a freed buffer at the same time as buflib (radioart uses buffering.c for the
images). With this change the buffer is owned by buflib exclusively so this
cannot happen.

As a result, audio_get_buffer() doesn't exist anymore. Callers should call
core_alloc_maximum() directly. This buffer needs to be protected as usual
against movement if necessary (previously it was not protected at all which
cased the radioart crash), To get most of it they can adjust the willingness of
the talk engine to give its buffer away (at the expense of disabling voice
interface) with the new talk_buffer_set_policy() function.

Change-Id: I52123012208d04967876a304451d634e2bef3a33
</pre>
</div>
</content>
</entry>
<entry>
<title>scroll_engine: Major rework to support pixel-based scrolling and scroll callbacks.</title>
<updated>2013-12-14T22:11:31+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-01-31T06:24:19+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=50eb528bc1f9d2f7b7260eff8b85a5ed5b96e679'/>
<id>50eb528bc1f9d2f7b7260eff8b85a5ed5b96e679</id>
<content type='text'>
Much of the scrolling work is moved from lcd-bitmap-common to lcd-scroll.c,
a small scroll callback routine remains. This callback can potentially be
overridden by more extensive scrollers.

The callback also gets fed with pixel-based scrolling information, which
finally removes the strict line-based nature of the scroll engine. Along with
this is the change from scroll_stop_viewport_line() to scroll_stop_viewport_rect()
which works on a pixel-based rectangle instead of lines.

The ultimate goal is to move most of the scroll work to apps, which can
much better decide which line decorations to apply etc. This work is laying
the ground work.

Change-Id: I3b2885cf7d8696ddd9253d5a9a73318d3d42831a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Much of the scrolling work is moved from lcd-bitmap-common to lcd-scroll.c,
a small scroll callback routine remains. This callback can potentially be
overridden by more extensive scrollers.

The callback also gets fed with pixel-based scrolling information, which
finally removes the strict line-based nature of the scroll engine. Along with
this is the change from scroll_stop_viewport_line() to scroll_stop_viewport_rect()
which works on a pixel-based rectangle instead of lines.

The ultimate goal is to move most of the scroll work to apps, which can
much better decide which line decorations to apply etc. This work is laying
the ground work.

Change-Id: I3b2885cf7d8696ddd9253d5a9a73318d3d42831a
</pre>
</div>
</content>
</entry>
<entry>
<title>scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api.</title>
<updated>2013-12-14T22:11:30+00:00</updated>
<author>
<name>Thomas Martitz</name>
<email>kugel@rockbox.org</email>
</author>
<published>2013-04-03T14:33:23+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=1c5d0b41eebdb4f8c627b1a0e5f7b699f0b08fb8'/>
<id>1c5d0b41eebdb4f8c627b1a0e5f7b699f0b08fb8</id>
<content type='text'>
Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
</pre>
</div>
</content>
</entry>
</feed>
