summaryrefslogtreecommitdiff
path: root/apps/plugins/lib/grey_draw.c (follow)
Commit message (Collapse)AuthorAge
* lcd/grey: Enable viewport fg_pattern and bg_pattern for all bitmap targets.Thomas Martitz2014-01-07
| | | | | | | | | 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
* Adapt OSD in plugin lib to be greylib compatible.Michael Sevakis2012-12-18
| | | | | | | | | | | | | | | Requires addition of viewports and alternate framebuffers to greylib which are essentially similar to the core implementation except that the framebuffer can be any size and relationship to a viewport. Drawing is always fully clipped to the intersecting area. Adapt oscilloscope.c to the API change. FFT will use the new features (later update). Get rid of silly and wrong lcd_bmp_part use in OSD. Remove it from plugin API (must be made incompatible now). Change-Id: Iafa5e2174148fb8ad11db6b9d4add0dcabc5c563
* Speed up mono bitmap drawing on horizontally packed greyscale targets ↵Jens Arnold2009-06-01
| | | | | | (greyscale iPods). Average speedup is 80% on PP5002, and 55% on PP502x. * Simplify mono bitmap drawing in the 16 bit driver and the greylib a bit, also giving a slight speedup (3% on PP502x, 1.5% on coldfire). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21163 a1c6a512-1295-4272-9138-f99709370657
* Use pre-multiplication in scaler to save one multiply per color component on ↵Andrew Mahone2009-05-26
| | | | | | | | ARM and Coldfire, at the cost of an extra add/shift in the horizontal scaler to reduce values to a workable range. SH-1 retains the same basic math, as the use of 16x16->32 hardware multiplication in the earlier scaler stages saves more than removing the 32x32->40 multiply to descale output. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21091 a1c6a512-1295-4272-9138-f99709370657
* Split 8-bit-to-native conversion in bmp.c into a function, add support for ↵Andrew Mahone2009-05-09
| | | | | | plugging unscaled output in BMP and JPEG loaders, use output_row_8_native in JPEG decoder when possible. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20884 a1c6a512-1295-4272-9138-f99709370657
* Optimize hline, fillrect and mono bitmap drawing for chunky displays (16 bit ↵Jens Arnold2009-03-08
| | | | | | colour and greylib). Speeds up text rendering by 20..45% on colour coldfire, by 30..50% on colour ARM, and is noticeable in archos pictureflow. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20242 a1c6a512-1295-4272-9138-f99709370657
* fix greylib scaler output on sh, output_row_grey was not using SC_MUL macroAndrew Mahone2009-02-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20011 a1c6a512-1295-4272-9138-f99709370657
* loader-initialized global plugin API:Andrew Mahone2009-01-16
| | | | | | | | | | | | | | | | | struct plugin_api *rb is declared in PLUGIN_HEADER, and pointed to by __header.api the loader uses this pointer to initialize rb before calling entry_point entry_point is no longer passed a pointer to the plugin API all plugins, and pluginlib functions, are modified to refer to the global rb pluginlib functions which only served to copy the API pointer are removed git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19776 a1c6a512-1295-4272-9138-f99709370657
* Make the greylib text output functions handle unicode. Fixes non-working ↵Jens Arnold2008-12-28
| | | | | | umlauts etc in greyscale pictureflow. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19607 a1c6a512-1295-4272-9138-f99709370657
* Make scaler output truly pluggable, add an 8-bit greyscale output toAndrew Mahone2008-12-26
| | | | | | | pluginlib for use with greylib, and add source for a test scaled bmp viewer using greylib. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19593 a1c6a512-1295-4272-9138-f99709370657
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
* iAudio M3: Optimised LCD driver, with more/better assembly code. Speedup is ↵Jens Arnold2008-03-25
| | | | | | ~80% when boosted, ~15% when unboosted. Also implemented grey phase blitting. * Adapted the greyscale library, and the plugins using it. * Fixed a bug in greyscale scroll down for vertically packed pixels. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16809 a1c6a512-1295-4272-9138-f99709370657
* Revert accidental tree commit. /me needs a smaller enter key...Jens Arnold2008-03-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16805 a1c6a512-1295-4272-9138-f99709370657
* Cabbiev2 gigabeat background: reduce WPS backdrop filesize by storing it as ↵Jens Arnold2008-03-25
| | | | | | 24 bit BMP instead of unnecessary 32 bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16802 a1c6a512-1295-4272-9138-f99709370657
* Greyscale library: Assembler optimised update function for SH1 (Archos ↵Jens Arnold2008-03-05
| | | | | | recorders, Ondios), giving ~50% speedup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16532 a1c6a512-1295-4272-9138-f99709370657
* Greyscale library: Assembler optimised update for coldfire, ~73% speedup ↵Jens Arnold2008-03-02
| | | | | | when using IRAM, ~35% speedup without IRAM. Slight optimisation for other targets as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16482 a1c6a512-1295-4272-9138-f99709370657
* Greyscale library: * Defer application of lcd linearisation + gamma in ↵Jens Arnold2008-01-13
| | | | | | buffered mode to the actual update. This simplifies the update function (grey_update() and grey_update_rect() now are just calls to grey_ub_gray_bitmap_part()), and makes DRMODE_COMPLEMENT work properly. * Make the simulator version work and behave more similar to the target version. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16080 a1c6a512-1295-4272-9138-f99709370657
* Greyscale library: Plugins can now put the management structure in IRAM for ↵Jens Arnold2008-01-13
| | | | | | higher update speed. Use this in doom, mpegplayer, and zxbox. Made the api pointer part of the struct. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16066 a1c6a512-1295-4272-9138-f99709370657
* Greyscale library: * Introduced some extra macros dealing with block size, ↵Jens Arnold2008-01-10
| | | | | | allowing to write some parts with less #ifdefing. * Optimised grey_update_rect() for horizontally packed LCDs, and unbuffered scrolling. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16050 a1c6a512-1295-4272-9138-f99709370657
* Greyscale library: Changed the internal data format once more (separated ↵Jens Arnold2008-01-09
| | | | | | pixel values and phases), allowing for further optimisation of drawing, scrolling etc. * Optimised grey phase blitting in the core reduces CPU load on all architectures, most significantly on coldfire. Previous version was too slow to keep up at 45MHz, leading to unwanted graininess (update frequency was halved). Also fixed screendump on 2bpp targets with vertical pixel packing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16043 a1c6a512-1295-4272-9138-f99709370657
* All-new greyscale library, replacing the old one. Features: (1) ↵Jens Arnold2008-01-04
Drawing/updating is faster than the old grayscale lib at full depth. (2) Always 129 shades instead of 2..33 shades. (3) No graininess caused by frequent updates (mpegplayer, doom, ...). (4) Needs less memory than the old grayscale lib at full depth. * The tradeoff is slightly higher CPU load in the ISR (frames are calculated 'live') and an extra function in the core. * Ported all plugins which used the graylib to use the new one. * Some slight optimisations for archos and H1x0 LCD update. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15998 a1c6a512-1295-4272-9138-f99709370657