Johannes Schickel
af13b74d02
GRAPHICS: Unify drawing paths in VectorRendererSpec::drawString.
...
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-22 11:46:49 +02:00
Johannes Schickel
81ae06cae3
GRAPHICS: Simplify VectorRendererSpec::drawString.
...
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-22 11:46:48 +02:00
Torbjörn Andersson
8c2bbb09a8
GRAPHICS: Add missing "break"s in switch, CID 1063214
...
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-19 19:34:41 +02:00
Narek Mailian
6fa3c7751f
GRAPHICS: Gradient blending on borders of rounded squares
2013-08-16 20:54:10 +02:00
Narek Mailian
52ee92625f
GRAPHICS: Change soft-shadow calculation to not use doubles
2013-08-16 20:54:09 +02:00
Narek Mailian
b91e10f931
GRAPHICS: Shadows on tabs
2013-08-16 20:54:09 +02:00
Narek Mailian
5c00dbbd2a
GRAPHICS: Add support for Soft Shadows with rounded squares
2013-08-16 20:54:08 +02:00
Narek Mailian
887a99e211
GRAPHICS: Added changes and improved code from inisider/scummvm (partial text)
...
Includes code from https://github.com/inisider/scummvm/ , which has been
squashed and bugfixed
2013-08-16 20:54:08 +02:00
richiesams
7e8e9bf3d1
GRAPHICS: Create copyRectToSurface member function
2013-08-15 14:31:21 -05:00
Johannes Schickel
a2a5d42a58
GRAPHICS: Fix warnings about mismatching format arguments.
2013-08-12 16:43:35 +02:00
Narek Mailian
1f1d35bd3d
GRAPHICS: Allow VectorRenderer and ThemeEngine to init with 4BPP
2013-08-08 08:35:08 +02:00
Narek Mailian
f545a2f08f
GUI: Change name of GUI-renderers to remove "16-bit"
2013-08-08 08:35:08 +02:00
Narek Mailian
ece8b7fb65
GRAPHICS: Fix fonts/bdf.cpp to allow for 32bpp to be used
2013-08-08 08:27:11 +02:00
Narek Mailian
1d40dca7a0
GRAPHICS: Add error-checking in blendPixelPtr for invalid BPPs
2013-08-08 08:27:11 +02:00
Johannes Schickel
0f59009e6e
GRAPHICS: Fix VectorRendererSpec for RGBA8888.
...
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-08 08:27:11 +02:00
Torbjörn Andersson
b8850522b6
GRAPHICS: Fix incorrect parameter order for getBasePtr.
...
This caused createThumbnail() to crash, e.g. when saving in the
Kyrandia engine. Probably other engines as well.
2013-08-08 06:55:17 +02:00
Johannes Schickel
7f8308e0eb
Merge pull request #365 from lordhoto/protected-pixels
...
Make Graphics::Surface::pixels protected.
2013-08-07 12:24:59 -07:00
Johannes Schickel
363a5a95cf
GRAPHICS: Make Surface::pixels protected.
2013-08-06 03:51:49 +02:00
Johannes Schickel
604e1b0070
GRAPHICS: Fix typo.
2013-08-04 01:01:15 +02:00
Johannes Schickel
260ec7a430
GRAPHICS: Add two new methods to change 'pixels' of a Surface.
...
One method is a simpler setter for 'pixels'. The other one can be used to
setup a Surface with custom data.
2013-08-03 04:02:54 +02:00
Johannes Schickel
5111746911
GRAPHICS: Take advantage of Surface::getPixels.
2013-08-03 04:02:49 +02:00
Johannes Schickel
f03dc05847
GRAPHICS: Add an easy way to query 'pixels' of Surface.
...
This introduced getPixels which is a shortcut for getBasePtr(0, 0).
2013-08-03 04:02:49 +02:00
Johannes Schickel
dbef9fef3b
GRAPHICS: Prefer getBasePtr over direct Surface::pixels access.
2013-08-03 04:02:49 +02:00
Johannes Schickel
affb7c3cb3
GRAPHICS: Prefer getBasePtr over direct Surface::pixels access.
2013-08-03 02:52:34 +02:00
Johannes Schickel
058c22ddaa
GRAPHICS: Allow to query a Surface describing a subarea in Surface.
2013-08-02 18:47:00 +02:00
Johannes Schickel
ff451ba2dc
GRAPHICS: Slight formatting fixes in thumbnail_intern.cpp.
2013-08-02 17:48:31 +02:00
Johannes Schickel
9a787fa586
GRAPHICS: Silence conversion warnings by using an explicit cast.
2013-08-02 17:33:13 +02:00
Johannes Schickel
9db17152c1
GRAPHICS: Make Surface::copyFrom work for any src pitch.
...
Formerly we assumed that the newly created surface has the same pitch as the
source surface. This is a assumption that might be invalid (for example in
case of the Surface returned by OSystem::lockScreen.)
2013-08-01 23:57:10 +02:00
Johannes Schickel
adf8cee449
GRAPHICS: Allow arbitrary input sizes for thumbnail scaling.
...
Instead of a fixed 1/2 or 1/4 scaling we do a two step scaling now:
1) Scale image to width < 160*2 && height < [100,120]*2 with 1/4 or 1/2
nearest-neighbor.
2) Use a bilinear scaler to scale aspect preserving to 160x[100,120]
This fixes bug #3614568 "GRAPHICS: Odd thumbnail sizes crash".
2013-07-13 01:57:23 +02:00
Johannes Schickel
e9bb9ddcf5
GRAPHICS: Be more robust with broken/unsupported thumbnail headers.
...
This fixes future issues like bug #3614654 :
"ALL: ScummVM 1.5.0 can't read newer saved games".
There are a few behavior changes introduced with this commit:
- checkThumbnailHeader will now also report the presence of
unsupported/broken (but skippable) headers.
- skipThumbnail will also try to skip the data for broken/unsupported
thumbnail data.
- loadThumbnail will skip over broken/unsupported thumbnail data but still
return 0 in this case.
2013-07-12 22:54:53 +02:00
Eugene Sandulenko
49210a803a
Merge pull request #331 from sev-/gsoc2012-eventsrecorder
...
GSoC2012: Event Recorder (reworked)
2013-07-04 04:58:54 -07:00
Matthew Hoops
7445459c9d
GRAPHICS: Cleanup the YUV to RGB usage documentation
2013-06-30 17:56:36 -04:00
Eugene Sandulenko
f59512c47e
RECORDER: Implement Events Recorder
2013-05-17 00:18:09 +03:00
Matthew Hoops
2d6b66ef41
GRAPHICS: Fix quantization table id check
2013-04-16 12:00:39 -04:00
Einar Johan Trøan Sømåen
0db8a0b3b1
GRAPHICS: Let JPEGs pixelformat state 0 alpha bits.
2013-02-01 01:54:39 +01:00
Johannes Schickel
b4d0a8ba66
JANITORIAL: Enforce "} // End of namespace" with a single space after }.
2013-01-26 19:38:02 +01:00
Matthew Hoops
6ae97cdfbe
GRAPHICS: Modify the JFIF version warning
...
v1.02 images should only differ with the thumbnail from v1.01, and should be handled correctly by our decoder.
2013-01-26 11:56:13 -05:00
Johannes Schickel
2ef500ce81
Merge pull request #256 from lordhoto/thumbnail-pixelformat
...
GRAPHICS: Serialize PixelFormat for thumbnails and allow 4Bpp surfaces.
2013-01-26 05:37:32 -08:00
Einar Johan Trøan Sømåen
5d4d65d6d9
JANITORIAL: Fix ){ -> ) {
2013-01-24 20:15:13 +01:00
Einar Johan Trøan Sømåen
58777682fe
GRAPHICS: Fix leak in PNG-decoder.
2013-01-24 17:39:16 +01:00
Tomas Jakobsson
befa207bfa
GRAPHICS: Delete iff.cpp and iff.h since all ILBM and PBM decoding is handled by IFFDecoder now
2013-01-06 20:04:50 +01:00
Tomas Jakobsson
fe2b4b39f7
GRAPHICS: New IFFDecoder that decodes ILBM and PBM images
2013-01-06 20:04:42 +01:00
D G Turner
0b72bd2dea
GRAPHICS: Add ability to override outputPitch to ILBM decoder.
...
This allows loading an image into a buffer of a larger width.
Thanks to Tomaz^ for this patch.
2012-12-26 02:54:18 +00:00
D G Turner
5fecf5bcb5
GRAPHICS: Allow ILBM bitmap loading for images with 6 planes.
...
Thanks to Tomaz^ for this.
2012-12-26 02:09:33 +00:00
D G Turner
0eb68f6c97
GRAPHICS: Add support for ILBM files containing uncompressed data.
...
Thanks to Tomaz^ for this patch.
2012-12-26 00:52:30 +00:00
Einar Johan Trøan Sømåen
1ef63578bb
GRAPHICS: Mark decoders used by Wintermute as such.
2012-10-23 21:48:27 +02:00
David-John Willis
e7921438cd
GRAPHICS: Rename NEON_ASPECT_CORRECTOR to USE_ARM_NEON_ASPECT_CORRECTOR
...
* This better matches other ARM codepaths.
* Also remove #ifdef OPENPANDORA as moved to configure.
2012-10-21 18:43:07 +01:00
Matthew Hoops
c645f7dc93
GRAPHICS: Make failing to find the PICT header return false from loadStream
2012-10-16 22:15:09 -04:00
Johannes Schickel
a5bce74635
GRAPHICS: Fix compilation of conversion.cpp on motomagx.
...
Using plain "inline" instead of "FORCEINLINE" allows the compiler to continue
even when it fails to inline crossBlitLogic/crossBlitLogic3BppSource. The
impact of other systems now not inlining the functions anymore is hopefully
small enough to not cause any problems.
2012-10-09 23:32:51 +02:00
Johannes Schickel
c2971374cd
Merge pull request #257 from lordhoto/graphics-conversion
...
Extend crossBlit for abitrary (in-place) conversions and add a in-place conversion to Surface
2012-10-08 14:18:33 -07:00
Johannes Schickel
89abab97e3
JANITORIAL: Remove trailing whitespaces.
...
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Johannes Schickel
dc6b98f64c
GRAPHICS: Slight formatting fixes in aspect.cpp.
2012-09-25 15:16:54 +02:00
clone2727
2e4ee0b2d0
Merge pull request #275 from clone2727/pegasus
...
Pegasus engine (The Journeyman Project: Pegasus Prime)
2012-09-20 13:17:39 -07:00
Matthew Hoops
0677871ea9
GRAPHICS: Update YUV410 conversion docs
2012-09-19 16:00:27 -04:00
Matthew Hoops
09269fce8c
GRAPHICS: Implement different luminance ranges
...
Bink and Theora are now much improved
2012-09-18 16:50:01 -04:00
Matthew Hoops
893a2b37ff
GRAPHICS: Rework YUV->RGB code a bit
2012-09-17 19:30:46 -04:00
Bertrand Augereau
4c02e19742
SCALER: Neon code for aspect correction for OpenPandora
...
It gains 35% on the first function of the profiling on Indy IV
It is now nearly memory-bound (~10%) so it might not be needed to schedule the code better than this
2012-09-17 22:13:34 +02:00
Matthew Hoops
7759f47607
GRAPHICS: Fix BMP palette color count with bpp != 8
2012-09-17 12:35:17 -04:00
Filippos Karapetis
c0babb010a
Merge pull request #278 from bluegr/pcxdecoder
...
GRAPHICS: Add a PCX decoder
2012-09-16 14:06:42 -07:00
Einar Johan Trøan Sømåen
25aa19b272
GRAPHICS: Reinsert attributeBits as a comment to the TGA-decoder
2012-09-15 18:08:34 +02:00
Einar Johan Trøan Sømåen
cffda7710c
GRAPHICS: Force alphaBits to 8 for 32bpp TGAs for now
2012-09-15 17:57:08 +02:00
Matthew Hoops
d5ed8b1901
Merge remote branch 'upstream/master' into pegasus
...
Conflicts:
AUTHORS
2012-09-12 20:18:13 -04:00
Filippos Karapetis
ccccb392b5
GRAPHICS: Add a common PCX image decoder
2012-09-13 01:49:29 +03:00
Matthew Hoops
ed2be9d873
GRAPHICS: Fix ImageDecoder inconsistency with getPalette()
...
Per LordHoto's suggestion
2012-09-09 17:20:07 -04:00
Filippos Karapetis
1f11ce6df2
PNG: call png_set_interlace_handling() before calling png_read_update_info()
...
This matches the documentation, information from the PNG bug tracker and the
behavior of example decoders off the net. It fixes warnings thrown from the PNG
decoder
2012-09-06 01:35:58 +03:00
Matthew Hoops
f35e820e9f
Merge remote branch 'upstream/master' into pegasus
2012-09-05 11:45:25 -04:00
Bertrand Augereau
5f6a98cb5b
SCALER: No need to inline interpolate5Line, it just bloats stretch200To240 for nothing
2012-09-03 01:34:41 +02:00
Matthew Hoops
2f9b1b67b0
ALL: Mark off some things as used by Pegasus
2012-08-31 22:26:02 -04:00
Matthew Hoops
790a74ab9d
Merge remote branch 'upstream/master' into pegasus
2012-08-31 21:58:58 -04:00
Bertrand Augereau
10a947a0be
GRAPHICS: Scope reduction of the sometimes unused alpha component in TGADecoder::readHeader
2012-08-30 18:32:27 +02:00
Bertrand Augereau
3b4d713ba1
GRAPHICS: Undefined behaviour/warnings removal in the TGA decoder
2012-08-30 18:13:00 +02:00
Johannes Schickel
f87154def8
GRAPHICS: Slight formatting change for consistency.
2012-08-29 15:59:15 +02:00
Johannes Schickel
f189d8a541
GRAPHICS: Remove extra semicolon.
2012-08-29 15:58:55 +02:00
Johannes Schickel
933726a7e8
Merge pull request #263 from somaen/tgaloader
...
GRAPHICS: Add in a TGA-decoder
2012-08-29 06:58:22 -07:00
Einar Johan Trøan Sømåen
47a7df2d0f
GRAPHICS: Add in a TGA-decoder
2012-08-29 14:05:54 +02:00
Johannes Schickel
eeb3959259
GRAPHICS: Add an in-place Surface PixelFormat conversion.
2012-08-28 02:27:48 +02:00
Johannes Schickel
e8cf0adf95
GRAPHICS: Slight cleanup in crossBlit code.
2012-08-28 02:27:48 +02:00
Johannes Schickel
a92a509ac8
GRAPHICS: Allow in-place conversion with any color formats in crossBlit.
2012-08-28 02:27:48 +02:00
Johannes Schickel
0d78d46a0e
GRAPHICS: Remove crossBlit's dstBpp >= srcBpp limitation.
2012-08-28 02:27:48 +02:00
Johannes Schickel
3a55adbf5e
GRAPHICS: Fix a bug in crossBlit with 3Bpp source.
...
Formerly it added 2 to the source pixel pointer instead of 3.
2012-08-28 02:27:48 +02:00
Johannes Schickel
a0f46e9396
GRAPHICS: Remove 3Bpp destination support in crossBlit.
2012-08-28 02:27:47 +02:00
Johannes Schickel
ea1bcaad33
GRAPHICS: Refactor crossBlit logic into a template.
2012-08-28 02:27:47 +02:00
Johannes Schickel
05d24e892c
GRAPHICS: Clean up crossBlit a bit.
2012-08-28 02:27:47 +02:00
Matthew Hoops
bb1e60e8b2
Merge remote branch 'upstream/master' into pegasus
...
Conflicts:
AUTHORS
devtools/credits.pl
gui/credits.h
2012-08-26 16:12:25 -04:00
Johannes Schickel
5df8c99768
GPRAHICS: Slight cleanup in png.cpp.
...
This adds an explanation why we use FORBIDDEN_SYMBOL_ALLOW_ALL and removes
some trailing whitespaces.
2012-08-21 02:19:51 +02:00
Johannes Schickel
05eb6eecfc
Merge pull request #262 from somaen/pngwithlibpng
...
GRAPHICS: Reimplement the PNG-decoder using libpng
2012-08-20 17:12:52 -07:00
Einar Johan Trøan Sømåen
af05b1b80e
GRAPHICS: Reimplement the PNG-decoder using libpng
2012-08-20 21:14:59 +02:00
Einar Johan Trøan Sømåen
8982026661
GRAPHICS: Add support for 32bpp BMPs
2012-08-13 02:31:34 +02:00
Matthew Hoops
c839fd50b5
GRAPHICS: Clarify format of the palette in ImageDecoder
2012-08-12 17:44:23 -04:00
Johannes Schickel
b4196e48b1
GRAPHICS: Add a DPI parameter to loadTTFFont.
...
Will be used by WME.
2012-08-09 03:13:00 +02:00
Johannes Schickel
50a93c2e71
GRAPHICS: Small formatting fixes in iff.cpp.
2012-07-25 21:07:19 +02:00
Johannes Schickel
f1a1938253
GRAPHICS: Serialize PixelFormat for thumbnails and allow 4Bpp surfaces.
...
This allows any 2Bpp/4Bpp Surfaces to be written via saveThumbnail
and loadThumbnail now. It furthermore will preserve the loaded Surface
in loadThumbnail.
2012-07-14 03:07:48 +02:00
Matthew Hoops
91efe792d5
Merge remote branch 'upstream/master' into pegasus
2012-06-24 09:37:53 -04:00
Johannes Schickel
82a553a12c
Merge pull request #247 from clone2727/pixelformat-argb-fix
...
GRAPHICS: Fix colorToARGB's alpha value when no alpha channel is present
2012-06-20 09:24:08 -07:00
Matthew Hoops
625f6cc716
Merge remote branch 'upstream/master' into pegasus
2012-06-16 01:43:32 -04:00
Matthew Hoops
984e0012d9
GRAPHICS: Fix colorToARGB's alpha value when no alpha channel is present
2012-06-15 23:11:28 -04:00
Johannes Schickel
aec9b9e22a
ALL: Let overlay related methods in OSystem take a void * and use a proper pitch values.
...
This is a first step to get rid of OverlayColor, which is a requirement for
proper 4Bpp overlay support.
2012-06-16 04:17:14 +02:00
Johannes Schickel
e1e1f01b87
GRAPHICS: Let CursorMan's cursor functions take "const void *" buffers.
2012-06-16 03:28:42 +02:00
Johannes Schickel
0075fa2f98
GRAPHICS: Replace OverlayColor with uint16 in scaler code.
...
Scalers are actually fixed at 2Bpp right now and not at the
depth of OverlayColor.
2012-06-12 04:18:59 +02:00
Johannes Schickel
a401f0a19e
ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
...
All uses of the old target scale API actually wanted to disallow scaling of
the mouse cursor. This commit adapts our API to this and thus simplifies
backend implementations.
Some backends, most notable the Wii and Android, did some implementation of
the cursor target scale, which I didn't adapt yet. I added a TODO for the
porters there.
2012-06-03 02:02:57 +02:00