summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine (follow)
Commit message (Collapse)AuthorAge
* skin_engine: Allow negative numbers for the start offset in %ssJonathan Gordon2012-03-27
| | | | | | i.e %ss(-1, -, %ia) will get the last letter in the %ia tag Change-Id: I6b2764d30c072b549e7424fc6e847ec48850b46a
* skin_engine: fix scrolling lines with dynamic contentJonathan Gordon2012-03-26
| | | | Change-Id: If85220c8b59123814e0e6b1a3b8e00c981271021
* Fix FS#12606 - next track can cause the screen to be clearedJonathan Gordon2012-03-20
| | | | | | | | | | | | | This is a bit of a hack. We now trigger an event when the skin engine is doing a full redraw (which means fullscreen clear) before the lcd_update() to give the current screen a chance to redraw to avoid the screen flicker. This commit fixes the issue for screens which are entirely the list widget (i.e browser and menus), other screens will need aditional fixes (i.e quickscreen, time&date screen) Change-Id: I3725c51518be724ce7aacee9877663c2de6866fa
* skin_engine: Reenable skin debugging in the sim (use --debugwps)Jonathan Gordon2012-03-15
| | | | Change-Id: I2881edda45cd3ea69f5284d93bc93c47bb63b3f2
* Fix compile errorsJonathan Gordon2012-03-15
| | | | Change-Id: Ic985bf57da04847bff716ee41db8f107100ff95b
* skin_engine: New tag to draw a rectangle (optionally with a gradient)Jonathan Gordon2012-03-15
| | | | | | | | | | | %dr(x, y, width, height, [colour1[, colour2]]): x,y - viewport relative pixel coordinates to start the rectangle. width, height - obvious. can be '-' to fill the viewport if both colours are left out the viewports foreground colour will be used if one colour is specified it will fill the rectangle that colour. if both colours are specified it will gradient fill the rectangle. Change-Id: Iad451e99ded663bc7c5d182443659db7d909b388
* Revert "Fix FS#12606 - next track can cause the screen to be cleared"Jonathan Gordon2012-03-15
| | | | This reverts commit cb9bc3bbc8a66c3d5296bfbc68f4487c39c6ac68.
* Fix FS#12606 - next track can cause the screen to be clearedJonathan Gordon2012-03-14
| | | | | | | | | | | | | This is a bit of a hack. We now trigger an event when the skin engine is doing a full redraw (which means fullscreen clear) before the lcd_update() to give the current screen a chance to redraw to avoid the screen flicker. This commit fixes the issue for screens which are entirely the list widget (i.e browser and menus), other screens will need aditional fixes (i.e quickscreen, time&date screen) Change-Id: I3ffdcd8ccad2c663732f8d5983049c837de00fe5
* Add new actions to %Tp (Touchscreen areas)Osborne Jacobs2012-03-13
| | | | | | | | | | | | | | | Add the following actions to %Tp: createbookmark create a new bookmark from the wps listbookmarks list bookmarks from the wps trackinfo show track info from the wps My main motivation was to allow bookmarking and jumping around audio books from the wps on touch enabled targets. You can do it now through the context menu but it requires 4 screen presses instead of 1. Change-Id: I1fa1bf0064dfd22b897eca7c56acc1ce8956f14c Reviewed-on: http://gerrit.rockbox.org/171 Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
* Call skinlist_set_cfg() unconditionally, i.e. also if do_refresh==falseFrank Gevaerts2012-02-29
| | | | | | | | | | | | This call is cheap (except if the list config changes, but then it should be called anyway), and do_refresh isn't always set appropriately, e.g. when the screen has just changed, which could cause the list config to be null at bad times, which caused the standard list to be shown instead of the desired skinned list. Change-Id: I47dd2552d6d1062456ede4529c4891e80a8159ea Reviewed-on: http://gerrit.rockbox.org/113 Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
* fix warningJonathan Gordon2012-02-29
| | | | Change-Id: Iccadc7558b9ffb2d87e5bc7697080dd567f4775f
* skin_engine: ease the restrictions on %x/%xlJonathan Gordon2012-02-29
| | | | | | | | | %x and %xl only require the id and filename now. If you leave off the x,y it will default to 0,0. If you want to use the default x,y you can still put in the num_subimages param on the end (e.g %xl(a, file, 3) ) Change-Id: I8eff793dfdd037e302ace8deec9dc16dcea264a7
* skin_engine: Clean up %x() handling - beware theme issuesJonathan Gordon2012-02-28
| | | | | | | | | Internally remove some hacks around how %x() is handled. %x() inside the default viewport will no longer work if other viewports are used, so if you are using viewports and %x() make sure it is in a viewport! Change-Id: I8ecab805d55fc0f8476ff0516cba38e23400aa20
* Fix build errorsJonathan Gordon2012-02-28
| | | | Change-Id: Ie46e807799034af2a025c607a76e17c50c5b613e
* lcd/skin_engine: Add the ability to draw onto the backdrop layerJonathan Gordon2012-02-28
| | | | | | | | | | | | | | The framebuffer the lcd driver uses can now be changed on the fly which means that regular lcd_* drawing functions can draw onto the "backdrop" buffer. The skin engine can use this to create layered effects. Add the tag %VB to a viewport to draw that viewport onto the backdrop layer. If you want to draw an image onto the backdrop framebuffer use %x(backdrop filename) instead of %X() inside a viewport with %VB. Change-Id: I741498e2af6d4f2d78932cabe8942317893e7cfc
* Add %LR and %LC to get at the current row and columm in skinned lists.Frank Gevaerts2012-02-25
| | | | | | | This allows list items to be rendered differently depending on their on-screen position, allowing things like gradients or nonlinear alignment Change-Id: I1d9c080f97e83707f0e80f57abc762cb2b94f6ed
* FS#12586 - Modify %ss to be able to use numbers for conditionalsJonathan Gordon2012-02-26
| | | | | | i.e %?ss(1,1,%cM)<|one|two|three|...|> or %xd(numbers, %ss(1,1%cM) Change-Id: I74ecb3f253f3be1fd270f75c0ef79addd364a7de
* Store listitem_viewport_cfg->label as skinoffset instead of raw pointerFrank Gevaerts2012-02-22
| | | | | | | | | 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>
* skin engine: Add 'touch' command to the %vs() tagJonathan Gordon2012-02-21
| | | | | | | %vs(label, touch, -) will reset the timeout for the variable without changing the variables value. Change-Id: Idba03f454a82ac7460bb53a4de3aa6903656c585
* skin engine: Make %vs() dynamic so it updated every screen updateJonathan Gordon2012-02-21
| | | | | | This makes it easier to use %?vl() (variable last changed) in a sensible manner. Change-Id: I0bf9ae24bc4516d2fd5691af236cc4439a0863c8
* skin engine: New logical 'and' and 'or' tags to evaluate multiple tags in a ↵Jonathan Gordon2012-02-07
| | | | | | | | | | single conditional. Use these tags to stop having multiple conditionals.. e.g: OLD: %?C<%?Ia<something>> NEW: %?and(%C, %Ia)<something> Change-Id: Ia3bbe4611cf808e87dcd1b1147181461fa08294a
* skin touchregions: change the rwd/ffwd region actions to make it less buggy ↵Jonathan Gordon2012-01-28
| | | | | | in the sbs Change-Id: Ib823860e65909ac227910a16f6caac207b7e22c3
* skin touchregions: fix the 'none' region firing when it shouldnt.Jonathan Gordon2012-01-23
| | | | | | Change the none action return value so the various action layers don't get confused by ACTION_TOUCHSCREEN return codes which shouldn't be happening (i.e when a long press region overlaps a short press region whihc has the none action) Change-Id: I63db2c0b49597ada2c5ebd0ef98e99aeef4f522a
* Rework powermgmt to enable code re-use on appliation and sims.Thomas Martitz2012-01-03
| | | | | | | | | | | | | | | | | | | | | * Introduce CONFIG_BATTERY_MEASURE define, to allow targets (application) to break powermgmt.c's assumption about the ability to read battery voltage. There's now additionally percentage (android) and remaining time measure (maemo). No measure at all also works (sdl app). If voltage can't be measured, then battery_level() is king and it'll be used for power_history and runtime estimation. * Implement target's API in the simulator, i.e. _battery_voltage(), so it doesn't need to implement it's own powermgmt.c and other stubs. Now the sim behaves much more like a native target, although it still changes the simulated battery voltage quickly, * Other changes include include renaming battery_adc_voltage() to _battery_voltage(), for consistency with the new target functions and making some of the apps code aware that voltage and runtime estimation is not always available. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31548 a1c6a512-1295-4272-9138-f99709370657
* Another round of making local functions staticBertrik Sikken2011-12-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31384 a1c6a512-1295-4272-9138-f99709370657
* FS#12378 : Remove various unused code, and comment out some unused code and ↵Boris Gjenero2011-12-14
| | | | | | data for reference or future use. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31256 a1c6a512-1295-4272-9138-f99709370657
* Allow scrolling lines to have their content changed without restarting the ↵Jonathan Gordon2011-12-14
| | | | | | scroll line. This means skin lines with dynamic tags can be updated in realtime instead of delayed git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31247 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#12237 (caused by r30302) where centered skin text isnt eqactly centeredJonathan Gordon2011-12-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31246 a1c6a512-1295-4272-9138-f99709370657
* FS#12412 : Delete old buffer allocation code which has been replaced by ↵Boris Gjenero2011-11-29
| | | | | | core_alloc, and move buffer setup code to core_alloc.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31088 a1c6a512-1295-4272-9138-f99709370657
* Fix fs#12005 - have %pc,%pl and %pr return the number of seconds when used ↵Jonathan Gordon2011-11-28
| | | | | | with %if() instead of a formatted time string git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31082 a1c6a512-1295-4272-9138-f99709370657
* Be less smart about when to reload skins as it caused more problems than it ↵Jonathan Gordon2011-11-28
| | | | | | was worth. If any theme setting is loading from a .cfg reload all skins. Fixes FS#12410 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31081 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#12408 - don't load skins too early causing buflib handles to leakJonathan Gordon2011-11-28
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31080 a1c6a512-1295-4272-9138-f99709370657
* slightly reaarange code to make fml happy :)Jonathan Gordon2011-11-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31071 a1c6a512-1295-4272-9138-f99709370657
* Free a handle when we try to load a backdrop file which doesnt exist or cant ↵Jonathan Gordon2011-11-27
| | | | | | be loaded git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31070 a1c6a512-1295-4272-9138-f99709370657
* Fix the charcell compile error and rmeove an unused #defineJonathan Gordon2011-11-21
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31039 a1c6a512-1295-4272-9138-f99709370657
* skinengine: Load the fms the first time the fm screen is entered instead of ↵Jonathan Gordon2011-11-21
| | | | | | on boot to save some ram git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31038 a1c6a512-1295-4272-9138-f99709370657
* skinengine: Rework skin loading so skins can be un/loaded individually. This ↵Jonathan Gordon2011-11-21
| | | | | | also means that loading a .cfg which doesnt change themes shouldnt have them reloaded git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31037 a1c6a512-1295-4272-9138-f99709370657
* Rename global_settings member glyphs to glyphs_to_cache and add descriptive ↵Fred Bauer2011-11-20
| | | | | | comment. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31032 a1c6a512-1295-4272-9138-f99709370657
* FS#12293 Global default glyph setting in System > Limits > Glyphs To Cache. ↵Fred Bauer2011-11-19
| | | | | | Defaults to 250. This saves a lot of RAM while still allowing non-English users to have adequate glyph coverage. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31031 a1c6a512-1295-4272-9138-f99709370657
* Get rid of a really annoying #ifdef line to check if backdrop support should ↵Jonathan Gordon2011-11-19
| | | | | | be enabled git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31027 a1c6a512-1295-4272-9138-f99709370657
* skin engine: Fix %if() when comparing against a number.Jonathan Gordon2011-11-17
| | | | | | If the tag being checked returns a number as a string (i.e %pv) but doesnt set the intval try to convert the string to a number so the comparisson operators work git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31003 a1c6a512-1295-4272-9138-f99709370657
* OOPS! Don't overwrite the trailing \0 from the skin text with the first ↵Jonathan Gordon2011-11-16
| | | | | | alloc (should fix FS#12388) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30998 a1c6a512-1295-4272-9138-f99709370657
* Fix the gpl notice in the previous commits new files, and fix the yelow ↵Jonathan Gordon2011-11-16
| | | | | | gevearts naughtily ignored git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30996 a1c6a512-1295-4272-9138-f99709370657
* Use buflib for all skin engine allocations.Jonathan Gordon2011-11-15
| | | | | | | | 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
* Fix copy'n'paste bug in skin engineThomas Jarosch2011-11-11
| | | | | | | cppcheckout reported: [apps/gui/skin_engine/skin_tokens.c:1553] -> [apps/gui/skin_engine/skin_tokens.c:1553]: (style) Same expression on both sides of '||'. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30964 a1c6a512-1295-4272-9138-f99709370657
* Adapt icon and skin engine to make use of the new 32bit bitmap capabilities.Thomas Martitz2011-11-08
| | | | | | | | | You can now use 32bit icons in lists and skins (except album art, but can be added if wanted). The code also shows how to free the unused alpha channel data if the bitmap doesn't actually contain such information. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30939 a1c6a512-1295-4272-9138-f99709370657
* Add new lcd_bmp and lcd_bmp_part APIs.Thomas Martitz2011-11-08
| | | | | | | | This new APIs wrap around lcd_[mono|transparent]_bitmap/_part calls and handle all kinds bitmaps. The intended use is to draw bitmaps that come from read_bmp_fd/_file. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30936 a1c6a512-1295-4272-9138-f99709370657
* Redo r30826 (and hopefully not reintroduce font issues) which cleans up the ↵Jonathan Gordon2011-11-08
| | | | | | font API. FONT_UI is deprecated, use screens[screen].getuifont() instead (and .setuifont() to set it after a font has been loaded) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30932 a1c6a512-1295-4272-9138-f99709370657
* Better fix for FS#12337. Use 0 to make the line height calculated from the ↵Thomas Martitz2011-10-29
| | | | | | font height, as before r30773. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30850 a1c6a512-1295-4272-9138-f99709370657
* Fix FS#12357 - New backdrop not displayed after set backdrop from context menuThomas Martitz2011-10-28
| | | | | | The loaded flag wasn't set and skin_backdrop_show() call was missing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30846 a1c6a512-1295-4272-9138-f99709370657