| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
| |
Change-Id: I02d6bf492bb42e173a7b436427e3cc3560d80183
|
| |
|
|
|
|
|
|
|
|
|
| |
Because inline strings have to be copied (to escape '$') the local buffer
can be exhaused. The code didn't check for this. The buffer is increased
to handle filenames plus some extra chars but truncates to avoid overflow.
If you have longer strings please pass them via $t tag, in which case
put_line() imposes no additional length-limitation.
Change-Id: I0ca20adbe72f6d44cb442f34d665c16b12cbbaeb
|
| |
|
|
|
|
|
|
| |
put_line() needs to change fore- and background colors if required by
the line style. This should really only be done if required, and be undone
as to not compromise subsequent lines. This fixes %Vf and %Vb skin tags.
Change-Id: I85e5a0d1d64aa9eb76a891d9ce1de1320274a69a
|
| |
|
|
| |
Change-Id: Ib8adcb4c70f2dd3ddd25da8f0606f48926dfd89e
|
| |
|
|
| |
Change-Id: Icb07ddd04171699e997eca171bf8756b5fd9f024
|
| |
|
|
| |
Change-Id: I9ad2aca494f2ea3ca5453082ec5491ec031f9ae5
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This allows for code unification and removal of a workaround (STYLE_XY_PIXELS).
Change-Id: Ie92d377414cad943cdb06976af10b4f315f32710
|
| |
|
|
|
|
|
| |
This enables removing large portions of code, simplifiyng the drawing routine.
All of the removed code is functionaltiy now available through put_line().
Change-Id: Ib8e61772134189a8c3c6d22345c0b45e912bea76
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function is a fully-fletched, high-level pixel-based line printer, that
combines functionality of several firmware and list functions. It can
draw spacing, icons and text in a single call, in any order and each multiple
times. It can also apply line decorations at the same time.
It features printf-like semantics by accepting a format string that contain
format tags as well as inline text.
It's accessible directly, but also through the multi-screen api for plugins.
Change-Id: I70f5a77bbf4b0252521f2e47ead377b9d6d29b54
|
| |
|
|
|
|
|
| |
This is needed by the upcoming put_line() api to apply different drawmodes
depending on the format.
Change-Id: I626a7369a6e75c9c46af1ca5e4f1a9d401899b68
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Since x is viewport-relative the icon isn't necessarily placed at the physical
display boundaries so that the padding isn't always useful. In fact it does
more harm if one wants to place an icon exactly at 0 of a (non-default)
viewport.
Calling code looks still mostly fine. I've only modified list drawer to include
the padding in the call-site.
Change-Id: I6b16b3d4377c3553234667b79837adde10e0edf2
|
| |
|
|
| |
Change-Id: I2a76c306be8f11827cb8d1f12641d710f49274aa
|
| |
|
|
| |
Change-Id: I32e06cc41c70e225622c87539feaca5f92131065
|
| |
|
|
|
|
|
| |
Hopefully this will fix various skin related bugs which happen
on usb plug/unplug!
Change-Id: Ie1d8378fca38dae02e42ed02a68bdb3663651b4d
|
| |
|
|
| |
Change-Id: Iecb1305dbd1519434e0f476d2199e728b96091f9
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
callbacks.
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
|
| |
|
|
|
|
| |
lcd api.
Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
|
| |
|
|
|
|
|
|
|
|
|
| |
* Remove explicit tracking of elapsed time of previous track.
* Remove function to obtain auto skip flag.
* Most playback events now carry the extra information instead and
pass 'struct track_event *' for data.
* Tweak scrobbler to use PLAYBACK_EVENT_TRACK_FINISH, which makes
it cleaner and removes the struct mp3entry.
Change-Id: I500d2abb4056a32646496efc3617406e36811ec5
|
| |
|
|
| |
Change-Id: I4adb8a152e9b99fcd26d95da7334d7d0cbe2a036
|
| |
|
|
| |
Change-Id: Ie2da1a1ba9d2dad76e2f1c45abd907c3ede4f56c
|
| |
|
|
| |
Change-Id: Ic6ba4b786eef00eab7f20abd5fbf2bcb8977993a
|
| |
|
|
| |
Change-Id: Ia50cd846d5451b0cb5cf3a6f8097ea9fe3b3c60a
|
| |
|
|
|
|
|
|
|
|
|
| |
This logic checks whether the skin's albumart dimensions differ from the
previous skin to force rebuffering if necessary. This was broken since
a while as the necessary information was reset.
Change-Id: I3b9f3a819c6af202af8ad66c13742f704ce45ab1
Reviewed-on: http://gerrit.rockbox.org/476
Tested-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
|
| |
|
|
|
|
| |
(hopefully) Fixes FS#12838
Change-Id: I932184afaf7b65121a0c459cd03c8482e3bad22b
|
| |
|
|
|
| |
This reverts commit a395a346719908e7d02ab7a742eb2b938dcc893d.
And fixes FS#12836 - need to rethink how to do this later.
|
| |
|
|
| |
Change-Id: Ie3e35292ba8d74f0ff3d1bb3483a5e83aae0e6b6
|
| |
|
|
|
|
|
|
| |
d6c6c07 changed the AA load tag to make sure the image width/heights
fit in the viewport, Revert this because it doesn't actually make
sense to check it here.
Change-Id: I3fe4b074ef8fe88560f2f894ec651027ea3642f4
|
| |
|
|
|
|
| |
Fix the %in tag so %xd(a, %in) works as expected
Change-Id: I33dd3ae092a66b1363c9cf3afa08075e4534af7c
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the need to resize progress bar when using a slider.
Slider stays in bounds. Progress bar is not resized.
Works well with square sliders that should not overlap
edge of progress bar. also works with rounded sliders.
You can also make progress bar the full width of screen
while using a slider. Before if you would make the
progress bar the full width of the screen and add a slider
the progress bar would look like it was padded on both ends.
This fixes FS#12823
Change-Id: I60345efc5cd0f46286f2591ed032f0d9320d1c3e
Reviewed-on: http://gerrit.rockbox.org/402
Reviewed-by: Hayden Pearce <saint.lascivious@gmail.com>
Tested-by: Hayden Pearce <saint.lascivious@gmail.com>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
|
| |
|
|
|
|
|
| |
It fixed a simulator warning in the skin debug screen but broke
the icons in the database folder chooser. Proper fix shortly.
Change-Id: If366daacc440f937c40960112477b8f6136b72b9
|
| |
|
|
| |
Change-Id: Ida9c33211d9360ac88e30a2cf8df9f191bee8b45
|
| |
|
|
| |
Change-Id: I1327fcd01d6f817be6c7018d30d33446c9b57287
|
| |
|
|
| |
Change-Id: I465bd6a70e911c7a56213af82b4db64c25c294f7
|
| |
|
|
| |
Change-Id: Ic0a0d300c9b7701c9173121d9d36a4dd4a28d8bd
|
| |
|
|
| |
Change-Id: If033547ad979a2ebdd463723a31eb15e718e6f8b
|
| |
|
|
|
|
| |
indentation when the scrollbar isn't shown, apparently).
Change-Id: I5c36d34638fa7a9cba9468b7ee07a07a836fadec
|
| |
|
|
|
|
|
| |
There were some bugs, especially when the user scrolled above the
list viewport. One bug made Rockbox completely unusable once triggered.
Change-Id: I9bb4722ff4381db189058e9a19ea30b2c69e87d9
|
| |
|
|
|
|
|
|
|
| |
AA was broken when an RTL language is used, causing it to not
be displayed.
Also fix th out of bounds handling when width/height > viewport
Change-Id: I4899cd32ec58107c987e3cc0e8df582963bdcf62
|
| |
|
|
|
|
|
|
|
| |
With radioart enabled there appears to be buffer corruption when
the image is loaded causing the player to data abort in skin_render_line()
So, disable the code untill someone can fix it.
Change-Id: I6acf3f76ce38aa2784b1b24ed6da29a9c5bee479
|
| |
|
|
|
|
|
|
|
|
| |
Use %x9(id) to draw an image in the whole current viewport using the
9 segment drawer (which draws the corners as normal and *tiles*
the middle segments to the needed width/height).
Future work is to make it scale instead of tile
Change-Id: Ic3ed1cad93f96091694801eb442e0da5a2401203
|
| |
|
|
| |
Change-Id: I5875dc5c59606867299cc0e30d869b817e879ade
|
| |
|
|
|
|
|
|
| |
Keeping the touchscreen pressed during a screen transition can lead
to accidental actions. action_wait_for_release() currently doesn't work
properly for touchscreen, so it's better to not transition before release.
Change-Id: I37bd67945b05fff1b4a5452313f6415a247e3af9
|
| |
|
|
| |
Change-Id: Id4880267e8478cebe073b958a58fef1ac22dd336
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
with no button pressed.
If e.g. two yesno screens directly follow each other the button release of the
first one was incorrectly accepted in the second one. The fix exposed another
problem in action.c if action_wait_for_release() is called when no button is
actually pressed. The next press was silently eaten.
This time re-introducing FS#12723 is avoided by leaving the offending hunk
out in yesno.c.
Change-Id: Icfe57375067f51f5c8177f3585cd47ceec9dcf0d
|
| |
|
|
|
|
|
|
|
| |
USB mode to make sure the filedescriptor is correct.
Change-Id: I2905eaf27533d935a0458b630372584e353c7160
Reviewed-on: http://gerrit.rockbox.org/294
Reviewed-by: Michael Giacomelli <mgiacomelli@gmail.com>
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
|
| |
|
|
|
|
| |
action.c."
This reverts commit 15775c8badac65ad9d7477a1706c019703c15b47.
|