mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
*RasterPlayer: Included transparency support. Thanks Mindtraveller.
git-svn-id: svn://ultimatepp.org/upp/trunk@2690 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
b0329a5304
commit
f30aa3d40c
1 changed files with 5 additions and 3 deletions
|
|
@ -70,6 +70,7 @@ bool RasterPlayer::LoadBuffer(const String &buffer) {
|
|||
Rect r;
|
||||
for (int i = 0; i < raster->GetPageCount(); ++i) {
|
||||
if (previous) {
|
||||
iw.Alpha().DrawImage(r, previous, GrayColor(255));
|
||||
iw.DrawImage(r, previous);
|
||||
previous = Null;
|
||||
}
|
||||
|
|
@ -77,15 +78,16 @@ bool RasterPlayer::LoadBuffer(const String &buffer) {
|
|||
r = raster->GetPageRect(i);
|
||||
switch (raster->GetPageDisposal(i)) {
|
||||
case 1:
|
||||
case 2: iw.DrawRect(r, White());
|
||||
case 2: iw.DrawRect(r, SColorFace());
|
||||
break;
|
||||
//case 2: iw.DrawRect(sz, White()); // It seems gif files do not comply with standard
|
||||
// break;
|
||||
case 4: if (i > 0)
|
||||
previous = ::GetRect_(images[i-1], r);
|
||||
iw.DrawRect(sz, White());
|
||||
previous = GetRect_(images[i-1], r);
|
||||
iw.DrawRect(sz, SColorFace());
|
||||
break;
|
||||
}
|
||||
iw.Alpha().DrawImage(r.left, r.top, raster->GetImage(0, 0, r.right-r.left, r.bottom-r.top), GrayColor(255));
|
||||
iw.DrawImage(r.left, r.top, raster->GetImage(0, 0, r.right-r.left, r.bottom-r.top));
|
||||
images.Add(iw);
|
||||
delays.Add(max(50, 10*raster->GetPageDelay(i)));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue