| 589 |
|
size: Integer; |
| 590 |
|
x, y: Word; |
| 591 |
|
bpp: Byte; |
| 592 |
+ |
minside: Byte; |
| 593 |
|
begin |
| 594 |
+ |
minside := 1; |
| 595 |
|
case Self.FStoreType of |
| 596 |
|
9: |
| 597 |
< |
bpp := 8; |
| 597 |
> |
begin |
| 598 |
> |
bpp := 4; |
| 599 |
> |
minside := 4; |
| 600 |
> |
end; |
| 601 |
|
0, 1, 2: |
| 602 |
|
bpp := 16; |
| 603 |
|
8: |
| 615 |
|
repeat |
| 616 |
|
x := x div 2; |
| 617 |
|
y := y div 2; |
| 618 |
< |
size := (size + x * y * bpp) div 8; |
| 619 |
< |
until (x = 1) or (y = 1); |
| 618 |
> |
size := size + (x * y * bpp) div 8; |
| 619 |
> |
until (x = minside) or (y = minside); |
| 620 |
> |
if FStoreType = 9 then |
| 621 |
> |
begin |
| 622 |
> |
repeat |
| 623 |
> |
x := x div 2; |
| 624 |
> |
y := y div 2; |
| 625 |
> |
size := size + (x * y * 16) div 8; |
| 626 |
> |
until (x = 1) or (y = 1); |
| 627 |
> |
end; |
| 628 |
|
end; |
| 629 |
|
Result := size; |
| 630 |
|
end; |