Pushes the states indicated by Bits onto the state stack
| 764 | |
| 765 | //! Pushes the states indicated by Bits onto the state stack |
| 766 | void ILAPIENTRY ilPushAttrib(ILuint Bits) |
| 767 | { |
| 768 | // Should we check here to see if ilCurrentPos is negative? |
| 769 | |
| 770 | if (ilCurrentPos >= IL_ATTRIB_STACK_MAX - 1) { |
| 771 | ilCurrentPos = IL_ATTRIB_STACK_MAX - 1; |
| 772 | ilSetError(IL_STACK_OVERFLOW); |
| 773 | return; |
| 774 | } |
| 775 | |
| 776 | ilCurrentPos++; |
| 777 | |
| 778 | // memcpy(&ilStates[ilCurrentPos], &ilStates[ilCurrentPos - 1], sizeof(IL_STATES)); |
| 779 | |
| 780 | ilDefaultStates(); |
| 781 | |
| 782 | if (Bits & IL_ORIGIN_BIT) { |
| 783 | ilStates[ilCurrentPos].ilOriginMode = ilStates[ilCurrentPos-1].ilOriginMode; |
| 784 | ilStates[ilCurrentPos].ilOriginSet = ilStates[ilCurrentPos-1].ilOriginSet; |
| 785 | } |
| 786 | if (Bits & IL_FORMAT_BIT) { |
| 787 | ilStates[ilCurrentPos].ilFormatMode = ilStates[ilCurrentPos-1].ilFormatMode; |
| 788 | ilStates[ilCurrentPos].ilFormatSet = ilStates[ilCurrentPos-1].ilFormatSet; |
| 789 | } |
| 790 | if (Bits & IL_TYPE_BIT) { |
| 791 | ilStates[ilCurrentPos].ilTypeMode = ilStates[ilCurrentPos-1].ilTypeMode; |
| 792 | ilStates[ilCurrentPos].ilTypeSet = ilStates[ilCurrentPos-1].ilTypeSet; |
| 793 | } |
| 794 | if (Bits & IL_FILE_BIT) { |
| 795 | ilStates[ilCurrentPos].ilOverWriteFiles = ilStates[ilCurrentPos-1].ilOverWriteFiles; |
| 796 | } |
| 797 | if (Bits & IL_PAL_BIT) { |
| 798 | ilStates[ilCurrentPos].ilAutoConvPal = ilStates[ilCurrentPos-1].ilAutoConvPal; |
| 799 | } |
| 800 | if (Bits & IL_LOADFAIL_BIT) { |
| 801 | ilStates[ilCurrentPos].ilDefaultOnFail = ilStates[ilCurrentPos-1].ilDefaultOnFail; |
| 802 | } |
| 803 | if (Bits & IL_COMPRESS_BIT) { |
| 804 | ilStates[ilCurrentPos].ilCompression = ilStates[ilCurrentPos-1].ilCompression; |
| 805 | } |
| 806 | if (Bits & IL_FORMAT_SPECIFIC_BIT) { |
| 807 | ilStates[ilCurrentPos].ilTgaCreateStamp = ilStates[ilCurrentPos-1].ilTgaCreateStamp; |
| 808 | ilStates[ilCurrentPos].ilJpgQuality = ilStates[ilCurrentPos-1].ilJpgQuality; |
| 809 | ilStates[ilCurrentPos].ilPngInterlace = ilStates[ilCurrentPos-1].ilPngInterlace; |
| 810 | ilStates[ilCurrentPos].ilTgaRle = ilStates[ilCurrentPos-1].ilTgaRle; |
| 811 | ilStates[ilCurrentPos].ilBmpRle = ilStates[ilCurrentPos-1].ilBmpRle; |
| 812 | ilStates[ilCurrentPos].ilSgiRle = ilStates[ilCurrentPos-1].ilSgiRle; |
| 813 | ilStates[ilCurrentPos].ilJpgFormat = ilStates[ilCurrentPos-1].ilJpgFormat; |
| 814 | ilStates[ilCurrentPos].ilDxtcFormat = ilStates[ilCurrentPos-1].ilDxtcFormat; |
| 815 | ilStates[ilCurrentPos].ilPcdPicNum = ilStates[ilCurrentPos-1].ilPcdPicNum; |
| 816 | |
| 817 | ilStates[ilCurrentPos].ilPngAlphaIndex = ilStates[ilCurrentPos-1].ilPngAlphaIndex; |
| 818 | |
| 819 | // Strings |
| 820 | if (ilStates[ilCurrentPos].ilTgaId) |
| 821 | ifree(ilStates[ilCurrentPos].ilTgaId); |
| 822 | if (ilStates[ilCurrentPos].ilTgaAuthName) |
| 823 | ifree(ilStates[ilCurrentPos].ilTgaAuthName); |
nothing calls this directly
no test coverage detected