| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This reclaims over 7kB of ram.
Change-Id: I4a89c9a673ada7959311f320900060f6db303c07
|
| |
|
|
|
|
| |
This could cause a crash with certain themes and long filenames.
Change-Id: I0a48c91bb089b122a56c4e126ba4d7a175399fa2
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: Id75dfd6ab3957dd27cb7db6f8776f754d85c19b4
|
| |
|
|
|
|
|
|
|
|
|
| |
This simple program shows how to setup timer for periodic
operation. Interrupts are not used yet and simply pending
irq bit is polled and cleared when set. This program
supports my understanding of disassm of ADEC_N63.BIN that
P_CLK is configured for 7.5MHz and timer clock source is P_CLK
directly.
Change-Id: Idd6461bf847c763b78b8c324012ec2515f65dd41
|
| |
|
|
| |
Change-Id: Ib8adcb4c70f2dd3ddd25da8f0606f48926dfd89e
|
| |
|
|
| |
Change-Id: I891e3c612ec0fb27e393561dababfc5ef7eb6e46
|
| |
|
|
| |
Change-Id: I37f77e4ad5abf04006dd6ee2a82de115ef204e3a
|
| |
|
|
| |
Change-Id: Icb07ddd04171699e997eca171bf8756b5fd9f024
|
| |
|
|
| |
Change-Id: I167e988868b53203ea926540699d587e115635e8
|
| |
|
|
| |
Change-Id: I9ad2aca494f2ea3ca5453082ec5491ec031f9ae5
|
| |
|
|
|
|
|
|
|
| |
Greylib performed a horrible hack and stored fg and bg patterns in other
struct viewport fields. One of them was just removed. So instead of
this hack simply enable the *_pattern fields for mono targets as well,
so that greylib can use them normally.
Change-Id: Ib0842ebcc97f5bf9d9382b4471903afa2f96f39f
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: I6b2d2ba73464610556cfd9ecec52fc62adb007c7
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and lcd_puts_scroll_style_xyoffset().
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
|
| |
|
|
| |
Change-Id: Ia4f943b3738ab6e66b0e3f1507c629b36d7eba94
|
| |
|
|
| |
Change-Id: I24da23d132f933fe647416dc58e8f50879715423
|
| |
|
|
| |
Change-Id: Id2c64c116f79b8e61a7af49b9072b3e884ffb455
|
| |
|
|
| |
Change-Id: I39749bf3db915e5a8ddb6e6f25eb201ea0aaf981
|
| |
|
|
|
|
| |
and lcd_puts_scroll_style_offset().
Change-Id: Ia84ae88020d06a1cb634942ab5e635fd5d10ac66
|
| |
|
|
| |
Change-Id: I94cd5cec5ce169a4ddb60fcb3c09e2ffb50a3401
|
| |
|
|
|
|
|
| |
This plugin had a (broken) poor-mans list implementation which can be
better achieved through put_line().
Change-Id: I4ba92ba3a01b84a273b3f0a5d067b24c622ddc9e
|
| |
|
|
|
|
| |
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: Idb6477aca8b19cb346ba2c2f5b91074e4679b0dd
|
| |
|
|
|
|
|
|
| |
It is similar to lcd_gradient_fillrect(), except that it only draws a part
of the complete gradient. This can be used to draw only the bottom half
of a full gradient.
Change-Id: Ib47cc5237f6966e35ba07988bddbb00fd97adf96
|
| |
|
|
|
|
|
|
|
|
|
| |
This function supports installing a custom scroll callback. This will be
called when the scrollengine redraws the line. It allows to draw extended
styles (or anything your can possible imagine) along with the text.
It is also strictly pixel-based, the first pixel-based function that supports
scrolling.
Change-Id: I57f81ac7b3d08b877aea4cb8afa882f175ebcdfc
|
| |
|
|
| |
Change-Id: I033db3d3a838f0a950ce7707de6a0cd4b2595d93
|
| |
|
|
| |
Change-Id: Id617aa6304a5a9263ef6ceed7d9c3010b47e73a8
|
| |
|
|
|
|
|
|
|
| |
disconnect() needs to be called exactly once per call to init_connection().
In case of bus resets, disconnect() was not called, which led to leaking
alloc_maximum() allocated buflib handles, which led to buflib running out
of memory to allocate.
Change-Id: I03025da578dc54e48b6de6bd3e3f40feae7220a6
|
| |
|
|
| |
Change-Id: I56cb05e2367a24341af6a8feb70f291628e78797
|
| |
|
|
| |
Change-Id: I7ae40db0f81d1d51742501936b13b387f94a25e5
|
| |
|
|
| |
Change-Id: I68ed0e914239f0caf83082a41c2480a01b69285a
|
| |
|
|
| |
Change-Id: I62cedf992bb096987050621cfc34f0432e9da170
|
| |
|
|
| |
Change-Id: I9c1825296a788587b8d494d8514b3314847b0ff0
|
| |
|
|
| |
Change-Id: Ic37658ab8d81405e28a4097d38785900fd0951cd
|
| |
|
|
|
|
|
| |
system.h doesn't need it on its own and this change makes it less
dependant on Rockbox internals.
Change-Id: I4e1e4108a52a7b599627a829204eb82b392fc6d6
|
| |
|
|
|
|
|
|
|
|
| |
The old icons looked exactly like the mono version, and all >1 bpp drivers
support rendering mono bitmaps. Therefore a mono bitmap can be used which
requires less ram.
This affects only the builtin icons, not the ones used by cabbiev2.
Change-Id: I3b02b5b04fe8b4bcc69e83310871254d336b648a
|
| |
|
|
|
|
|
|
| |
Some seldomly used drawmode combinations did not work in conjunction with
alpha bitmaps and backdrops. Now all should work (see comment added) by using
more bits.
Change-Id: I2bc96ecf471fa8c1a608a321a235b9c8527b3dc5
|