Le Philousophe
58ade5240e
GRAPHICS: Add missing drawing primitives
...
This allows to draw polygon and ellipses directly on the surfaces.
2025-01-24 12:11:17 +01:00
Cameron Cawley
027c9bddca
GRAPHICS: Add drawRoundRect to Graphics::Surface
2025-01-06 01:35:05 +02:00
Cameron Cawley
a79a710feb
GRAPHICS: Use a Primitives subclass in Graphics::Surface
2025-01-06 01:35:05 +02:00
Cameron Cawley
3da558fc96
GRAPHICS: Add a common function for detecting transparent surfaces
2024-06-19 02:36:17 +02:00
Eugene Sandulenko
ff24083fd4
GRAPHICS: Make convertTo() work with incomplete palettes
...
We we always assuming that the provided palette is 256 bytes long,
up to the point that we hardcoded this value and skipped this parameter
almost everywhere.
This changes the default parameter to 256 and allows the lesser values
be passed.
2024-05-01 22:42:03 +02:00
Matthew Jimenez
83aa8dc291
GRAPHICS: Remove palette start from surface convertToInPlace.
...
The palette start value was always zero, and was not properly multiplied by three when used in the function
2024-03-31 23:16:59 +03:00
Cameron Cawley
327e0c4f1e
GRAPHICS: Add palette start and size parameters to Surface::convertToInPlace()
2023-11-12 18:36:08 +01:00
Cameron Cawley
1e4abf786b
GRAPHICS: Use crossBlit more for converting surfaces
2023-10-16 17:31:30 +02:00
Le Philousophe
f3ab611ee8
GRAPHICS: Remove spurious warning
...
This partially reverts commit aa9d13f84a
.
It looks like a debug leftover more than an actual warning.
2023-09-02 10:49:14 +02:00
Wyatt Radkiewicz
aa9d13f84a
AGS: Preliminary optimizations of blending funcs
...
Just commiting my first attempts at optimizing BITMAP::draw and the
blendPixel function. Here's an overview of the changes (some are
temporary):
- Put the loop of BITMAP::draw into its own function drawInner.
I templated it so that I could put different paths into the loop that
could be optimized out at compile time if a certain blending function
didn't need it etc.
- I added apple NEON (SIMD) intrensics to the drawInner function,
haven't ported it to SSE yet, but there is a small library that actually
maps neon intrensics to sse ones.
- Removed a few ifs from the normal x loop and put it in the y loop.
2023-08-28 21:16:42 +02:00
Eugene Sandulenko
9862969f69
GRAPHICS: Make setPixel assert in attempts to draw outside of the surface
...
Based on PR#5011 by phcoder.
Expect some of your engines to fail during runtime, fix them.
2023-08-06 14:07:43 +02:00
Walter Agazzi
421295bdc6
GRAPHICS: Change pitch from int16 to int32
...
This is required for games allocating very big surfaces
(e.g. 9000x300 in Chronicle of Innsmouth - Mountains of Madness)
2023-05-20 23:23:58 +02:00
Cameron Cawley
f5f445be5f
GRAPHICS: Add generic versions of applyColorKey() and setAlpha()
2023-04-09 12:49:23 +02:00
Cameron Cawley
ad33a3063b
GRAPHICS: Add Surface::convertFrom()
2023-03-02 15:11:24 +00:00
Vladimir Serbinenko
b9aa479bba
GRAPHICS: Support Floyd dithering for RGB332
...
RGB332 is a special case of CLUT8 but RGB332 support allows to skip passing
palette explicitly and speeds up the dithering
2023-01-12 10:27:20 +03:00
Thierry Crozat
31d76cd039
Graphics: Add flipHorizontal to Surface
...
This complements flipVertical and is needed for the AGS engine.
2022-12-15 22:40:17 +01:00
Eugene Sandulenko
18c88fabfe
GRAPHICS: Add possibility to specify dithering algorithm. Default is Floyd-Steinberg
2022-09-28 23:02:05 +02:00
Eugene Sandulenko
ff9313056d
GRAPHICS: Implement dithering in Surface::convertTo()
2022-09-28 22:38:08 +02:00
Cameron Cawley
07498687bd
GRAPHICS: Add Surface::copyRectToSurfaceWithKey()
2022-06-05 17:28:28 +03:00
Cameron Cawley
085130c6da
GRAPHICS: Move ManagedSurface::clip() to the Surface class
2022-06-03 16:00:46 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Martin Gerhardy
b2878dea3b
GRAPHICS: removed invalid char from comment
2021-07-11 13:56:19 +02:00
Paul Gilbert
baccbedf50
GRAPHICS: Changed surface classes sizes from uint16 to int16
2021-07-04 18:24:27 -07:00
Cameron Cawley
d02daaeb2b
SCUMM: Remove direct use of Graphics::Surface from ARM code ( #2931 )
2021-05-04 00:17:52 +03:00
Eugene Sandulenko
ed9c2f97ca
GRAPHICS: Implemented debug output for Surface
2021-05-02 01:03:01 +02:00
Cameron Cawley
394288db98
GRAPHICS: Move rotoscale code out of TransparentSurface
2021-04-19 03:08:11 +03:00
Cameron Cawley
099b593943
GRAPHICS: Add functions for getting and setting pixels in a surface
2021-03-28 09:50:15 -03:00
Bartosz Gentkowski
529b64d8cd
DOXYGEN: Review of high prio files from graphics
...
Editing doxygen comments in:
- cursorman.h
- font.h
- managed_surface.h
- pixelformat.h
- surface.h
2020-12-01 23:24:37 +00:00
Cameron Cawley
352653b8a2
GRAPHICS: Add a function for scaling a standard Graphics::Surface
...
This also makes use of it in the SCI and Wintermute engines
2020-07-18 12:16:52 +02:00
Cameron Cawley
ba035ac532
GRAPHICS: Add a function to vertically flip surfaces
2020-01-02 20:53:29 +02:00
Colin Snover
076667dc00
COMMON: Add limited support for custom deleters to ScopedPtr
...
Custom deleters of ScopedPtr are not currently fully conforming to
C++11's support for custom deleters in std::unique_ptr for the
sake of simplicity of implementation. Unlike in the standard
library, plain functions and lvalue references are not supported,
nor may custom deleters be passed to the constructor at runtime.
This can be improved in the future, if necessary, by doing what
standard library implementations usually do and creating a Pair
class that uses the Empty Base Optimization idiom to avoid extra
storage overhead of the deleter instance when it is not needed, as
in typical standard library implementations, plus some additional
type traits to support the necessary metaprogramming for the
different type overloads.
2017-11-18 22:35:12 +01:00
Eugene Sandulenko
2bf0ebf317
GRAPHICS: Add possibility to specify Fill maskmode in the constructor
2016-06-14 20:30:24 +02:00
Eugene Sandulenko
60297cb9fa
GRAPHICS: Add mask mode to FloodFill class and document the class.
2016-06-03 16:39:03 +02:00
Eugene Sandulenko
531b190d59
GRAPHICS: Added FloodFill class to Surface.
...
Moved from WAGE engine and is using stack-based classic floodfill
implementation.
2016-06-03 00:45:56 +02:00
Fedor
75305f136f
GRAPHICS: Remove some trailing whitespace in surface.h
2014-10-28 15:03:44 +02:00
Einar Johan Trøan Sømåen
0593c2eab2
GRAPHICS: Fix some Doxygen comments that seem wrong.
2014-08-29 03:26:48 +02:00
Johannes Schickel
53332e8066
GRAPHICS: Make GPL headers consistent in themselves.
2014-02-18 02:39:34 +01:00
Johannes Schickel
14d328faca
GRAPHICS: Fix SharedPtrSurfaceDeleter for nullptr inputs.
2013-11-27 19:44:54 +01:00
RichieSams
701250efb5
GRAPHICS: Remove variable shadowing
2013-09-22 15:54:06 -05:00
RichieSams
6f4e80e36e
ZVISION: Add wrapper function for copyRectToSurface
...
Also rename some arguments to make them more clear
2013-09-12 14:07:42 -05:00
richiesams
7e8e9bf3d1
GRAPHICS: Create copyRectToSurface member function
2013-08-15 14:31:21 -05: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
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
058c22ddaa
GRAPHICS: Allow to query a Surface describing a subarea in Surface.
2013-08-02 18:47:00 +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
eeb3959259
GRAPHICS: Add an in-place Surface PixelFormat conversion.
2012-08-28 02:27:48 +02:00
Matthew Hoops
71756bdf4e
Merge remote branch 'upstream/master' into pegasus
2012-03-20 14:49:16 -04:00