aboutsummaryrefslogtreecommitdiff
path: root/graphics/VectorRendererSpec.cpp
AgeCommit message (Collapse)Author
2016-03-26GRAPHICS: Prevent crash when drawing 0-height rounded cornersOri Avtalion
Opening/closing the console when scroll bars were visible caused occasional crashes. Fixes #7089.
2016-02-21GRAPHICS: Remove superfluous ABS usage to silence a warning.Johannes Schickel
2016-02-21GRAPHICS: Skip empty rects and empty shadows in ↵Johannes Schickel
VectorRendererSpec::drawSquareShadow.
2016-02-21GRAPHICS: Skip empty rects in VectorRenderer*'s drawInteriorRoundedSquareAlg.Johannes Schickel
2016-02-21GRAPHICS: Skip empty rects in VectorRendererSpec::drawTriangleFast.Johannes Schickel
2016-02-21GRAPHICS: Skip empty rects in VectorRendererSpec::drawSquareAlg.Johannes Schickel
2016-02-21GRAPHICS: Skip empty rects in VectorRender*'s drawTabAlg.Johannes Schickel
2016-02-21GRAPHICS: Make VectorRendererAA::drawLineAlg never divide by zero.Johannes Schickel
It won't crash any longer in the case dx = dy = 0.
2016-02-21GRAPHICS: Let drawLineAlg in VectorRenderer code take unsigned dx, dy.Johannes Schickel
2016-02-21GRAPHICS: Skip empty rects in VectorRendererSpec::drawTriangleVertAlg.Johannes Schickel
2016-02-21GRAPHICS: Add comments about safe divisions in VectorRendererSpec.cpp.Johannes Schickel
2014-10-28GRAPHICS: Remove trailing whitespaceFilippos Karapetis
2014-05-27GRAPHICS: colour -> color in VectorRendererSpec code.Johannes Schickel
2014-01-10GRAPHICS: Fix dest alpha formula in blendPixelPtrMarcus Comstedt
The original alpha computation formula had a problem: If something was drawn on top of a pixel that was already fully opaque, there would be an overflow in the computed alpha, and the destination alpha would be truncated to 0 (fully transparent). In commit 264ba4a9 this formula was replaced with another one, which did not have overflows but also was not correct. This commits introduces a new formula, where the rounding errors have been turned in another direction; drawing a fully opaque pixel on top of a transparent one would result in a pixel which is almost, but not fully, opaque. However, this is no problem in practice, since drawing fully opaque pixels can be achieved with much less code as a special case, so add that (also improves rendering speed).
2014-01-10GRAPHICS: Fix computation of addA in darkenFill()Marcus Comstedt
The old computation had rounding issues, causing alpha to leak into the red (usually) component. There's a much easier way to compute it that does not lead to such problems: What should really happen is that the two top bits of the A component should be set to 1 (thus adding 75% alpha). So compute it that way for speed and precision.
2013-12-13GRAPHICS: Minor readability fixes to drawBevelSquareAlg method.D G Turner
No functional change.
2013-08-22Merge pull request #361 from rundfunk47/guiimprovementsEugene Sandulenko
GUI: Various GUI Improvements
2013-08-22GRAPHICS: Increase robustness of VectorRendererSpec::drawString.Johannes Schickel
2013-08-22GRAPHICS: Unify drawing paths in VectorRendererSpec::drawString.Johannes Schickel
Formerly, the behavior between when a drawable area was specified and when not was different in a sense which is not expected. For example, when an empty textDrawableArea was passed and the text could be drawn outside the 'area' specified. While when a textDrawableArea covering the whole screen was passed the text was clipped inside 'area'. Now, the code does follow the latter logic in both cases. I am not sure whether this will cause any issues, but a quick check of the launcher and options menu didn't reveal anything...
2013-08-22GRAPHICS: Simplify VectorRendererSpec::drawString.Johannes Schickel
This removes the two additional copy steps for rendering when a drawable text area is specified. Instead it uses Surface::getSubArea to draw directly onto _activeSurface.
2013-08-19GRAPHICS: Add missing "break"s in switch, CID 1063214Torbjörn Andersson
This won't actually make any difference, since the fall through would do nothing and then reach the break in the default case. But I think it's less error-prone this way if the code is ever modified.
2013-08-16GRAPHICS: Gradient blending on borders of rounded squaresNarek Mailian
2013-08-16GRAPHICS: Change soft-shadow calculation to not use doublesNarek Mailian
2013-08-16GRAPHICS: Shadows on tabsNarek Mailian
2013-08-16GRAPHICS: Add support for Soft Shadows with rounded squaresNarek Mailian
2013-08-16GRAPHICS: Added changes and improved code from inisider/scummvm (partial text)Narek Mailian
Includes code from https://github.com/inisider/scummvm/ , which has been squashed and bugfixed
2013-08-12GRAPHICS: Fix warnings about mismatching format arguments.Johannes Schickel
2013-08-08GRAPHICS: Allow VectorRenderer and ThemeEngine to init with 4BPPNarek Mailian
2013-08-08GUI: Change name of GUI-renderers to remove "16-bit"Narek Mailian
2013-08-08GRAPHICS: Add error-checking in blendPixelPtr for invalid BPPsNarek Mailian
2013-08-08GRAPHICS: Fix VectorRendererSpec for RGBA8888.Johannes Schickel
Formerly values in the gradient and blending code overflowed and thus caused incorrect colors. Now there's some special case for 32bpp modes, which needs slightly more operations but assures a correct output.
2013-08-03GRAPHICS: Take advantage of Surface::getPixels.Johannes Schickel
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-06-16ALL: Let overlay related methods in OSystem take a void * and use a proper ↵Johannes Schickel
pitch values. This is a first step to get rid of OverlayColor, which is a requirement for proper 4Bpp overlay support.
2012-02-20GUI: Fix mingw-w64 build errorsWillem Jan Palenstijn
2012-02-20GUI: Implement AAed tabsWillem Jan Palenstijn
The stroke effect isn't properly implemented yet since it isn't used in the modern theme. There are slight bleeding colours around the corners of the tab_background when its corners overlap with the corners of the underlying dialog. These are hard to avoid because the underlying dialog destroys the background that we should be blending these corners with.
2012-02-20GUI: Add AA dialog corners on alpha overlaysWillem Jan Palenstijn
2012-02-20GUI: Minor cleanupWillem Jan Palenstijn
2012-02-20GUI: Speed up alpha blending with black for classic dialog backgroundsWillem Jan Palenstijn
2012-02-20GUI: Keep dst alpha unchanged when blending coloursWillem Jan Palenstijn
2012-02-20GUI: Rewrite AA rounded square rendererWillem Jan Palenstijn
This fixes bleeding of colours between different regions. It also turns 'bevel' into an option that turns the stroke into a bevel, and implements antialiased gradient-fills.
2011-12-29GRAPHICS: Crash fix for bug #3466536 ("Assertion on MIDI gain slider").D G Turner
This fixes the crash, but the Midi Gain slider (and probably any other slider bar in modern theme) still distorts the left corner shape when the slider thumb is at very small values...
2011-12-14GUI: Implement dithering for tabs and round squaresEugene Sandulenko
2011-12-10GRAPHICS: Fix compiler warnings.Alyssa Milburn
2011-12-10GUI: Refactor gradient calculation into separate methodEugene Sandulenko
2011-12-10GUI: Move _gradientBytes to VectorRendererSpecEugene Sandulenko
2011-12-10GUI: Implemented color dithering for backgroundEugene Sandulenko
2011-12-07GUI: Improved pop up and scrollbar arrows lookMaximRussia
Previous triangle drawing was all wrong, rewrote it from the scratch. Added padding to drawsteps in stx files
2011-11-16COMMON: Rename Common::set_to to Common::fill.Johannes Schickel
This makes the name match with the name of the STL function with the same behavior.
2011-11-14COMMON: Remove some double-underscore defines (reserved)Willem Jan Palenstijn