projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Various alignment adjustments.
[dcpomatic.git]
/
src
/
lib
/
image.cc
diff --git
a/src/lib/image.cc
b/src/lib/image.cc
index d2f8fbbfd37714df542b8a55235e6aa48e9b8cbf..ce3f5817d5cd78e12f6ae1a67348e8711d224cf1 100644
(file)
--- a/
src/lib/image.cc
+++ b/
src/lib/image.cc
@@
-1027,10
+1027,10
@@
Image::Image (Image const & other)
}
}
}
}
-Image::Image (AVFrame const * frame)
+Image::Image (AVFrame const * frame
, bool aligned
)
: _size (frame->width, frame->height)
, _pixel_format (static_cast<AVPixelFormat>(frame->format))
: _size (frame->width, frame->height)
, _pixel_format (static_cast<AVPixelFormat>(frame->format))
- , _aligned (
true
)
+ , _aligned (
aligned
)
{
DCPOMATIC_ASSERT (_pixel_format != AV_PIX_FMT_NONE);
{
DCPOMATIC_ASSERT (_pixel_format != AV_PIX_FMT_NONE);
@@
-1139,7
+1139,7
@@
Image::aligned () const
PositionImage
PositionImage
-merge (list<PositionImage> images)
+merge (list<PositionImage> images
, bool aligned
)
{
if (images.empty ()) {
return {};
{
if (images.empty ()) {
return {};
@@
-1154,7
+1154,7
@@
merge (list<PositionImage> images)
all.extend (dcpomatic::Rect<int>(i.position, i.image->size().width, i.image->size().height));
}
all.extend (dcpomatic::Rect<int>(i.position, i.image->size().width, i.image->size().height));
}
- auto merged = make_shared<Image>(images.front().image->pixel_format(), dcp::Size(all.width, all.height),
false
);
+ auto merged = make_shared<Image>(images.front().image->pixel_format(), dcp::Size(all.width, all.height),
aligned
);
merged->make_transparent ();
for (auto const& i: images) {
merged->alpha_blend (i.image, i.position - all.position());
merged->make_transparent ();
for (auto const& i: images) {
merged->alpha_blend (i.image, i.position - all.position());
@@
-1312,16
+1312,18
@@
Image::fade (float f)
}
}
}
}
+
shared_ptr<const Image>
shared_ptr<const Image>
-Image::ensure_aligned (shared_ptr<const Image> image)
+Image::ensure_aligned (shared_ptr<const Image> image
, bool aligned
)
{
{
- if (image->aligned()) {
+ if (image->aligned()
== aligned
) {
return image;
}
return image;
}
- return make_shared<Image>(image,
true
);
+ return make_shared<Image>(image,
aligned
);
}
}
+
size_t
Image::memory_used () const
{
size_t
Image::memory_used () const
{