summaryrefslogtreecommitdiff
path: root/apps/gui/bitmap (unfollow)
Commit message (Collapse)Author
2014-03-03Touchscreen: Show a line separator in lists.Thomas Martitz
This patch adds a configurable line separator between list items, very similar to lists in Android. Additionally, below the list item there is a thicker line. It can be disabled in the settings. Its color can be configured as well. Remote and monochrome displays are explicitly unsupported. If there is desire this can be changed but it doesn't seem useful to me. Change-Id: I005313b0d8f5ecd15864bf20e66ea4e3390d8b7d
2014-01-07lists: Adapt put_line().Thomas Martitz
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
2014-01-07icons: Remove automatic left padding if x == 0.Thomas Martitz
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
2013-12-14scroll_engine: Rename scroll_stop* functions to be more consistent with the ↵Thomas Martitz
lcd api. Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
2013-02-13list widget: undo part of aaf3065Jonathan Gordon
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
2013-02-12skin_engine: Add a debug screen to display skin ram usageJonathan Gordon
Change-Id: Ida9c33211d9360ac88e30a2cf8df9f191bee8b45
2013-02-06gui: Fix \t indenting for RTL langs in the lists (DB folder chooser)Jonathan Gordon
Change-Id: If033547ad979a2ebdd463723a31eb15e718e6f8b
2013-01-18lists: Fix item indentation in RTL to match LTR behavior (which is no ↵Thomas Martitz
indentation when the scrollbar isn't shown, apparently). Change-Id: I5c36d34638fa7a9cba9468b7ee07a07a836fadec
2013-01-17touchscreen: Fix kinetic and swipe scrolling outside of the list viewport.Thomas Martitz
There were some bugs, especially when the user scrolled above the list viewport. One bug made Rockbox completely unusable once triggered. Change-Id: I9bb4722ff4381db189058e9a19ea30b2c69e87d9
2012-07-19lists: Support '\t' in list item text to indent the line containing it.Jonathan Gordon
Change-Id: I1583371228ed477b504c135f81cb59a0c3c931e6 Reviewed-on: http://gerrit.rockbox.org/296 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info> Tested-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-06-19Make touchscreen handling work with skinned lists.Frank Gevaerts
Change-Id: I7df93319c8f16f05e840d74b022aab4803bb8f80
2012-06-15touchscreen: Don't hide selection by default. Fixes FS#12675.Thomas Martitz
Change-Id: Ic7e22ce6280d4105c38f7588717f4cf34c1bb5a3
2012-05-18Don't trigger a skin refresh from skinlist_draw()Frank Gevaerts
Thiskin refresh trigger apparently causes the skin and list to continuously refresh, with the side effect that buttons no longer work. Change-Id: I4439406176890ac46a3f217bfff43c6935a03a7c Reviewed-on: http://gerrit.rockbox.org/240 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-05-13Touchscreen: Check if click is outside of list. Fixes FS#12669Thomas Martitz
Change-Id: Ic036f4c399b89c65bdc43bfdf7111bf4a13be484
2012-04-29Fundamentally rewrite much of the audio DSP.Michael Sevakis
Creates a standard buffer passing, local data passing and messaging system for processing stages. Stages can be moved to their own source files to reduce clutter and ease assimilation of new ones. dsp.c becomes dsp_core.c which supports an engine and framework for effects. Formats and change notifications are passed along with the buffer so that they arrive at the correct time at each stage in the chain regardless of the internal delays of a particular one. Removes restrictions on the number of samples that can be processed at a time and it pays attention to destination buffer size restrictions without having to limit input count, which also allows pcmbuf to remain fuller and safely set its own buffer limits as it sees fit. There is no longer a need to query input/output counts given a certain number of input samples; just give it the sizes of the source and destination buffers. Works in harmony with stages that are not deterministic in terms of sample input/output ratio (like both resamplers but most notably the timestretch). As a result it fixes quirks with timestretch hanging up with certain settings and it now operates properly throughout its full settings range. Change-Id: Ib206ec78f6f6c79259c5af9009fe021d68be9734 Reviewed-on: http://gerrit.rockbox.org/200 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-04-17touchscreen/lists: fix two regressionsThomas Martitz
* fix potential stack overflow through recursion * fix using using the scrollbar during active kinetic scrolling animation Change-Id: Iaf124970a60d3f0c2ee7919ac278f2d6ac329e47
2012-04-10touchscreen: fix some issues/crashes with clicking the list title.Thomas Martitz
Change-Id: I31adb012ac39f9b27f6b91f5077ed4195ba1dc02
2012-04-08touchscreen: fix swipe scrolling (jumped back to previous item).Thomas Martitz
Change-Id: I055a5b19dec1db3ad31212dadc11b0f5056be832
2012-04-08touchscreen: Rewrite kinetic scrolling using a state machine.Thomas Martitz
The old code was very confusing. The scrolling modes need to be handled differently, thus a state machine makes sense. Should fix numerious glitches and be easier to maintain. NOTE: Behavior is still a bit glitchy with an SBS in use, because the skin engine sees the touch events earlier than the list code. Change-Id: I4ccead359c81de0d0fc3dea636fe2cb3a28d1bc6
2012-04-05touchscreen: Fix kinetic scrolling when the statusbar is off.Thomas Martitz
The scrolling code cannot differentiate between the BUTTON_TOUCHSCREEN post from normal touches and the one posted in the timeout callback. To fix introduce a global special button (BUTTON_REDRAW) that results in the desired redraw. This existed already as a local kludge for android and is now generalized. Change-Id: I6bfa6c66431c48f5042fcd8fce2ea72cd3457f58
2012-03-01Make %LC and %LR always have predictable and usable values.Frank Gevaerts
%LC is now 1 for non-tiled list items (instead of undefined) %LC and %LR are now -1 in non-list contexts. Change-Id: Ib7090429fa95528bd141d3d7ca95fd917b25b96e
2012-02-25Clean up some variables.Frank Gevaerts
Renames origional_* variables to original_* Removes original_(width,height) variables that weren't actually used Change-Id: I604c2ef9ce9d806551e8c52080a5c895415e088c
2012-02-25Add %LR and %LC to get at the current row and columm in skinned lists.Frank Gevaerts
This allows list items to be rendered differently depending on their on-screen position, allowing things like gradients or nonlinear alignment Change-Id: I1d9c080f97e83707f0e80f57abc762cb2b94f6ed
2012-02-22Store listitem_viewport_cfg->label as skinoffset instead of raw pointerFrank Gevaerts
This fixes the case where some blocks got relocated and the skin render code couldn't find the matching viewports any more. Change-Id: I4394444fb139ee5bc986f374dba82a104013e354 Reviewed-on: http://gerrit.rockbox.org/112 Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2012-02-21Make skinned lists handle the "0 items" case without crashingFrank Gevaerts
Change-Id: Iaf69c93727e0f0e2a48b44c330883f7a620c4d99
2012-02-19Fix another skinned list buflib issueFrank Gevaerts
Change-Id: Ib0eebf56b1bf4f4119ebfd21679f6cd9c8986ea4
2012-02-19Fix a nullpointer dereference in skinned lists.Frank Gevaerts
Unfortunately this doesn't seem to be the only problem with skinned lists. Fixing this still doesn't make them work right. Change-Id: Ibf80eb2a4fa4eb392e2f3ea9744aec68c6181961
2012-02-19make local variable current_list staticBertrik Sikken
Change-Id: Ibe3536a4865c12160e933d3696af4b5507713ffe
2011-11-15Use buflib for all skin engine allocations.Jonathan Gordon
Massive thanks to Michael Chicoine and other testers for finding the early bugs. This removes all skin memory limitations git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30991 a1c6a512-1295-4272-9138-f99709370657
2011-10-17Commit FS#12321 - Touchscreen: List line padding, to more easily select linesThomas Martitz
This adds line padding to lists on touchscreens, in order to make lists reasonably useful without huge fonts. It's configurable: * Automatic (default, line height calculated using a lcd dpi aware function) * Off (status quo, line height = font height) * X pixels (from 2 to 50 in even steps) The automatic setting should/aims to Just Work Out Of The Box on all targets git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30773 a1c6a512-1295-4272-9138-f99709370657
2011-10-15Changed the FOR_NB_SCREENS macro to always be a for loop that declares its ↵Björn Stenberg
own loop variable. This removes the need to declare this variable in the outer scope. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
2011-10-07Fix touchscreen behavior in time&date screen.Thomas Martitz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30725 a1c6a512-1295-4272-9138-f99709370657
2011-09-18Add "%LN" tag to retrieve the list item number of the current item. This ↵Frank Gevaerts
allows e.g. putting item numbers in skinned lists. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30568 a1c6a512-1295-4272-9138-f99709370657
2011-09-11Rework how the skin gets the list item text to save some ram. Also allow the ↵Jonathan Gordon
%LI and %LT tags to take 2 optional parameters to get a different items text/icon: %LT(offset, nowrap) - get the text for the "being drawn"+offset item (offset being + or -). if the second param is "nowrap" (Without quotes) the text will be blank if the item would need to wrap. Same for the icon e.g: %LT(-1) %LT << %LT(1, nowrap) will display: Four Five << Six (or nothing if Five is the last item) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30502 a1c6a512-1295-4272-9138-f99709370657
2011-09-06Add the new file and fix the compile errorJonathan Gordon
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30462 a1c6a512-1295-4272-9138-f99709370657
2011-02-02Touchscreen: Fix minor redraw after entering the context menu.Thomas Martitz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29193 a1c6a512-1295-4272-9138-f99709370657
2011-02-02Redo r29168. Use similar but existing mechanism in the action system which ↵Thomas Martitz
seems to work better. Don't eat buttons on context change if it was waiting for button release (you did need another release). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29192 a1c6a512-1295-4272-9138-f99709370657
2011-01-29Touchscreen/lists: Hopefully fix glitchy behavior that happened after ↵Thomas Martitz
opening the context menu. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29168 a1c6a512-1295-4272-9138-f99709370657
2010-11-10Touchscreen: Improved scroll thresholdThomas Martitz
Remove the hardcoded (and way too small) scroll threshold (the distance moved in pixels before we think the users wants to scroll) and replace it with something based on the actual DPI of the screen. On Android we call the API for that, on other touchscreens we reimplemented Android's formula (as of 2.2) and calculate it. Flyspray: 11727 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28548 a1c6a512-1295-4272-9138-f99709370657
2010-11-05Make the context menu pop up instantly after the long press timeout when ↵Thomas Martitz
holding a list item instead of just after the thumb/styles left the screen. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28499 a1c6a512-1295-4272-9138-f99709370657
2010-10-31FS#11686 - Kinetic list scrolling for touchscreenThomas Martitz
This adds kinetic scrolling to to lists on touchscreen targets and RaaA, like all other OSes on touchscreens have. It's only enabled in the absolute point mode, so for non-touchscreen and in grid mode nothing changes. Kinetic scrolling means that the list keeps scrolling (but is decelerating) after you leave the touchscreen with the finger. Redraw interval and deceleration is hardcoded for now but could be made configurable if desired. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28408 a1c6a512-1295-4272-9138-f99709370657
2010-10-26fix that disktidy plugin and shopper plugin is not usable when Show Icons ↵Teruaki Kawashima
setting is turned off. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28362 a1c6a512-1295-4272-9138-f99709370657
2010-10-09Fix several inaccuracies in list handling on touchscreen.Thomas Martitz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28221 a1c6a512-1295-4272-9138-f99709370657
2010-10-06Pixel-accurate (vertical) list scrolling for touchscreen targets.Thomas Martitz
Looks much smoother now as you don't scroll by whole lines anymore. Add some functions lcd driver to enable the line based scrolling engine to draw the lines with a pixel-based y-offset. This should also allow for a sensible kinetic scrolling mechanism (still a todo). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28214 a1c6a512-1295-4272-9138-f99709370657
2010-09-26Fix FS#11552 - touches outside of the UI viewport can do unexpected list ↵Jonathan Gordon
movements. Also remove naughty // comments from r28145 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28168 a1c6a512-1295-4272-9138-f99709370657
2010-09-23Don't actually reimplement an existing feature for hiding the selection markerThomas Martitz
during scrolling. However, the existing one is part of the list api, so it shouldn't be overridden blindly internally, so do the decision in a different but equivalent way. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28147 a1c6a512-1295-4272-9138-f99709370657
2010-09-23Touchscreen: Improve scrolling in absolute point mode.Thomas Martitz
* Scrolling is now done by wiping over the screen. There's no acceleration or kinetic scrolling yet though. But it works rather well (previously you held the edges of the list to scroll). * Improve scrollbar scrolling so that it keeps scrolling even if you leave the scrollbar area. * Hide selection during scrolling * Prevent accidental hitting of the list title (which means go back) during scrolling * Don't go into context menu after scrolling when leaving the screen on an item In general, it's very much like scrolling in native lists in Android, except there's no kinetic scrolling and everything is still line based, but with the feature that the scrollbar enables jumping around in the list and very fast scrolling. Thanks to Dustin Skoracki for his ideas and half of the code for this. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28145 a1c6a512-1295-4272-9138-f99709370657
2010-06-24I somehow messed up the previous commit, undo the unrelated changes.Maurus Cuelenaere
Also, r26922 wasn't the culprit but r27004. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27108 a1c6a512-1295-4272-9138-f99709370657
2010-06-24Fix touchscreen scrollbar behaviour when it's on the right.Maurus Cuelenaere
This was broken since r26922. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27107 a1c6a512-1295-4272-9138-f99709370657
2010-06-21Make the title area go up one level in the lists again. This Doesnt work if ↵Jonathan Gordon
you have the title in a seperate viewport in the sbs, but that isnt really a problem because if you are doing that there is a good chance you will setup a region for that press anyway git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27015 a1c6a512-1295-4272-9138-f99709370657