|
1 | 1 | (******************************************************************************)
|
2 | 2 | (* uOpenGLGraphikEngine.pas ??.??.???? *)
|
3 | 3 | (* *)
|
4 |
| -(* Version : 0.09 *) |
| 4 | +(* Version : 0.10 *) |
5 | 5 | (* *)
|
6 | 6 | (* Author : Uwe Schächterle (Corpsman) *)
|
7 | 7 | (* *)
|
|
37 | 37 | (* 0.07 - LoadAlphaPNGGraphik *)
|
38 | 38 | (* 0.08 - Fix Memleaks *)
|
39 | 39 | (* 0.09 - Fix LoadAlphaColorGraphik *)
|
| 40 | +(* 0.10 - Fix speedup graphik loading *) |
40 | 41 | (* *)
|
41 | 42 | (******************************************************************************)
|
42 | 43 | Unit uopengl_graphikengine;
|
|
742 | 743 | Else Begin
|
743 | 744 | Stretchdraw(b2.canvas, rect(0, 0, nw, nh), b, imNearestNeighbour);
|
744 | 745 | End;
|
745 |
| - |
746 |
| - b.Width := nw; |
747 |
| - b.height := nh; |
748 |
| - b.canvas.draw(0, 0, b2); |
749 |
| - b2.free; |
| 746 | + b.free; |
| 747 | + b := b2; |
750 | 748 | End;
|
751 | 749 | End;
|
752 | 750 | smClamp: Begin
|
|
758 | 756 | b2.width := nw;
|
759 | 757 | b2.height := nh;
|
760 | 758 | b2.canvas.Draw(0, 0, b);
|
761 |
| - b.Width := nw; |
762 |
| - b.height := nh; |
763 |
| - b.canvas.draw(0, 0, b2); |
764 |
| - b2.free; |
| 759 | + b.free; |
| 760 | + b := b2; |
765 | 761 | End;
|
766 | 762 | End;
|
767 | 763 | End;
|
|
877 | 873 | Else Begin
|
878 | 874 | Stretchdraw(b2.canvas, rect(0, 0, nw, nh), b, imNearestNeighbour);
|
879 | 875 | End;
|
880 |
| - b.Width := nw; |
881 |
| - b.height := nh; |
882 |
| - b.canvas.draw(0, 0, b2); |
883 |
| - b2.free; |
| 876 | + b.free; |
| 877 | + b := b2; |
884 | 878 | End;
|
885 | 879 | End;
|
886 | 880 | smClamp: Begin
|
|
892 | 886 | b2.width := nw;
|
893 | 887 | b2.height := nh;
|
894 | 888 | b2.canvas.Draw(0, 0, b);
|
895 |
| - b.Width := nw; |
896 |
| - b.height := nh; |
897 |
| - b.canvas.draw(0, 0, b2); |
898 |
| - b2.free; |
| 889 | + b.free; |
| 890 | + b := b2; |
899 | 891 | End;
|
900 | 892 | End;
|
901 | 893 | End;
|
|
1185 | 1177 | Else Begin
|
1186 | 1178 | Stretchdraw(b2.canvas, rect(0, 0, nw, nh), b, imNearestNeighbour);
|
1187 | 1179 | End;
|
1188 |
| - b.Width := nw; |
1189 |
| - b.height := nh; |
1190 |
| - b.canvas.draw(0, 0, b2); |
1191 |
| - b2.free; |
| 1180 | + b.free; |
| 1181 | + b := b2; |
1192 | 1182 | End;
|
1193 | 1183 | End;
|
1194 | 1184 | smClamp: Begin
|
|
1200 | 1190 | b2.width := nw;
|
1201 | 1191 | b2.height := nh;
|
1202 | 1192 | b2.canvas.Draw(0, 0, b);
|
1203 |
| - b.Width := nw; |
1204 |
| - b.height := nh; |
1205 |
| - b.canvas.draw(0, 0, b2); |
1206 |
| - b2.free; |
| 1193 | + b.free; |
| 1194 | + b := b2; |
1207 | 1195 | End;
|
1208 | 1196 | End;
|
1209 | 1197 | End;
|
|
1406 | 1394 | Else Begin
|
1407 | 1395 | Stretchdraw(b2.canvas, rect(0, 0, nw, nh), b, imNearestNeighbour);
|
1408 | 1396 | End;
|
1409 |
| - b.Width := nw; |
1410 |
| - b.height := nh; |
1411 |
| - b.canvas.draw(0, 0, b2); |
1412 |
| - b2.free; |
| 1397 | + b.free; |
| 1398 | + b := b2; |
1413 | 1399 | End;
|
1414 | 1400 | End;
|
1415 | 1401 | smClamp: Begin
|
|
1421 | 1407 | b2.width := nw;
|
1422 | 1408 | b2.height := nh;
|
1423 | 1409 | b2.canvas.Draw(0, 0, b);
|
1424 |
| - b.Width := nw; |
1425 |
| - b.height := nh; |
1426 |
| - b.canvas.draw(0, 0, b2); |
1427 |
| - b2.free; |
| 1410 | + b.free; |
| 1411 | + b := b2; |
1428 | 1412 | End;
|
1429 | 1413 | End;
|
1430 | 1414 | End;
|
|
1555 | 1539 | Else Begin
|
1556 | 1540 | Stretchdraw(b2.canvas, rect(0, 0, nw, nh), g, imNearestNeighbour);
|
1557 | 1541 | End;
|
1558 |
| - g.Width := nw; |
1559 |
| - g.height := nh; |
1560 |
| - g.canvas.draw(0, 0, b2); |
1561 |
| - b2.free; |
| 1542 | + g.free; |
| 1543 | + g := b2; |
1562 | 1544 | End;
|
1563 | 1545 | If (nw <> a.width) Or (nh <> a.height) Then Begin
|
1564 | 1546 | b2 := TBitmap.create;
|
|
1571 | 1553 | Else Begin
|
1572 | 1554 | Stretchdraw(b2.canvas, rect(0, 0, nw, nh), a, imNearestNeighbour);
|
1573 | 1555 | End;
|
1574 |
| - a.Width := nw; |
1575 |
| - a.height := nh; |
1576 |
| - a.canvas.draw(0, 0, b2); |
1577 |
| - b2.free; |
| 1556 | + a.free; |
| 1557 | + a := b2; |
1578 | 1558 | End;
|
1579 | 1559 | End;
|
1580 | 1560 | smClamp: Begin
|
|
1586 | 1566 | b2.width := nw;
|
1587 | 1567 | b2.height := nh;
|
1588 | 1568 | b2.canvas.Draw(0, 0, g);
|
1589 |
| - g.Width := nw; |
1590 |
| - g.height := nh; |
1591 |
| - g.canvas.draw(0, 0, b2); |
1592 |
| - b2.free; |
| 1569 | + g.free; |
| 1570 | + g := b2; |
1593 | 1571 | End;
|
1594 | 1572 | If (nw <> a.width) Or (nh <> a.height) Then Begin
|
1595 | 1573 | b2 := TBitmap.create;
|
1596 | 1574 | b2.PixelFormat := pf24bit;
|
1597 | 1575 | b2.width := nw;
|
1598 | 1576 | b2.height := nh;
|
1599 | 1577 | b2.canvas.Draw(0, 0, a);
|
1600 |
| - a.Width := nw; |
1601 |
| - a.height := nh; |
1602 |
| - a.canvas.draw(0, 0, b2); |
1603 |
| - b2.free; |
| 1578 | + a.free; |
| 1579 | + a := b2; |
1604 | 1580 | End;
|
1605 | 1581 | End;
|
1606 | 1582 | End;
|
|
1774 | 1750 | Else Begin
|
1775 | 1751 | Stretchdraw(b2.canvas, rect(0, 0, nw, nh), b, imNearestNeighbour);
|
1776 | 1752 | End;
|
1777 |
| - b.Width := nw; |
1778 |
| - b.height := nh; |
1779 |
| - b.canvas.draw(0, 0, b2); |
1780 |
| - b2.free; |
| 1753 | + b.free; |
| 1754 | + b := b2; |
1781 | 1755 | End;
|
1782 | 1756 | If (nw <> a.width) Or (nh <> a.height) Then Begin
|
1783 | 1757 | b2 := TBitmap.create;
|
1784 | 1758 | b2.PixelFormat := pf24bit;
|
1785 | 1759 | b2.width := nw;
|
1786 | 1760 | b2.height := nh;
|
1787 | 1761 | b2.canvas.StretchDraw(rect(0, 0, nw, nh), a);
|
1788 |
| - a.Width := nw; |
1789 |
| - a.height := nh; |
1790 |
| - a.canvas.draw(0, 0, b2); |
1791 |
| - b2.free; |
| 1762 | + a.free; |
| 1763 | + a := b2; |
1792 | 1764 | End;
|
1793 | 1765 | End;
|
1794 | 1766 | smClamp: Begin
|
|
1800 | 1772 | b2.width := nw;
|
1801 | 1773 | b2.height := nh;
|
1802 | 1774 | b2.canvas.Draw(0, 0, b);
|
1803 |
| - b.Width := nw; |
1804 |
| - b.height := nh; |
1805 |
| - b.canvas.draw(0, 0, b2); |
1806 |
| - b2.free; |
| 1775 | + b.free; |
| 1776 | + b := b2; |
1807 | 1777 | End;
|
1808 | 1778 | If (nw <> a.width) Or (nh <> a.height) Then Begin
|
1809 | 1779 | b2 := TBitmap.create;
|
1810 | 1780 | b2.PixelFormat := pf24bit;
|
1811 | 1781 | b2.width := nw;
|
1812 | 1782 | b2.height := nh;
|
1813 | 1783 | b2.canvas.Draw(0, 0, a);
|
1814 |
| - a.Width := nw; |
1815 |
| - a.height := nh; |
1816 |
| - a.canvas.draw(0, 0, b2); |
1817 |
| - b2.free; |
| 1784 | + a.free; |
| 1785 | + a := b2; |
1818 | 1786 | End;
|
1819 | 1787 | End;
|
1820 | 1788 | End;
|
|
0 commit comments