コード例 #1
0
ファイル: ilu_utilities.cpp プロジェクト: DentonW/DevIL
//! Retrieves information about the current bound image.
void ILAPIENTRY iluGetImageInfo(ILinfo *Info)
{
	iluCurImage = ilGetCurImage();
	if (iluCurImage == NULL || Info == NULL) {
		ilSetError(ILU_ILLEGAL_OPERATION);
		return;
	}

	Info->Id			= ilGetCurName();
	Info->Data			= ilGetData();
	Info->Width			= iluCurImage->Width;
	Info->Height		= iluCurImage->Height;
	Info->Depth			= iluCurImage->Depth;
	Info->Bpp			= iluCurImage->Bpp;
	Info->SizeOfData	= iluCurImage->SizeOfData;
	Info->Format		= iluCurImage->Format;
	Info->Type			= iluCurImage->Type;
	Info->Origin		= iluCurImage->Origin;
	Info->Palette		= iluCurImage->Pal.Palette;
	Info->PalType		= iluCurImage->Pal.PalType;
	Info->PalSize		= iluCurImage->Pal.PalSize;
	iGetIntegervImage(iluCurImage, IL_NUM_IMAGES,             
	                        (ILint*)&Info->NumNext);
	iGetIntegervImage(iluCurImage, IL_NUM_MIPMAPS, 
	                        (ILint*)&Info->NumMips);
	iGetIntegervImage(iluCurImage, IL_NUM_LAYERS, 
	                        (ILint*)&Info->NumLayers);
	
	return;
}
コード例 #2
0
ファイル: il_states.cpp プロジェクト: wg-lesta/ResIL
//! Sets Param equal to the current value of the Mode
void ILAPIENTRY ilGetIntegerv(ILenum Mode, ILint *Param)
{
    if (Param == NULL) {
        ilSetError(IL_INVALID_PARAM);
        return;
    }

    *Param = 0;

    switch (Mode) {
    // Integer values
    case IL_COMPRESS_MODE:
        *Param = ilStates[ilCurrentPos].ilCompression;
        break;
    case IL_CUR_IMAGE:
        if (iCurImage == NULL) {
            ilSetError(IL_ILLEGAL_OPERATION);
            break;
        }
        *Param = ilGetCurName();
        break;
    case IL_FORMAT_MODE:
        *Param = ilStates[ilCurrentPos].ilFormatMode;
        break;
    case IL_INTERLACE_MODE:
        *Param = ilStates[ilCurrentPos].ilInterlace;
        break;
    case IL_KEEP_DXTC_DATA:
        *Param = ilStates[ilCurrentPos].ilKeepDxtcData;
        break;
    case IL_ORIGIN_MODE:
        *Param = ilStates[ilCurrentPos].ilOriginMode;
        break;
    case IL_MAX_QUANT_INDICES:
        *Param = ilStates[ilCurrentPos].ilQuantMaxIndexs;
        break;
    case IL_NEU_QUANT_SAMPLE:
        *Param = ilStates[ilCurrentPos].ilNeuSample;
        break;
    case IL_QUANTIZATION_MODE:
        *Param = ilStates[ilCurrentPos].ilQuantMode;
        break;
    case IL_TYPE_MODE:
        *Param = ilStates[ilCurrentPos].ilTypeMode;
        break;
    case IL_VERSION_NUM:
        *Param = IL_VERSION;
        break;

    // Image specific values
    case IL_ACTIVE_IMAGE:
    case IL_ACTIVE_MIPMAP:
    case IL_ACTIVE_LAYER:
        *Param = iGetActiveNum(Mode);
        break;

    // Format-specific values
    case IL_BMP_RLE:
        *Param = ilStates[ilCurrentPos].ilBmpRle;
        break;
    case IL_DXTC_FORMAT:
        *Param = ilStates[ilCurrentPos].ilDxtcFormat;
        break;
    case IL_JPG_QUALITY:
        *Param = ilStates[ilCurrentPos].ilJpgQuality;
        break;
    case IL_JPG_SAVE_FORMAT:
        *Param = ilStates[ilCurrentPos].ilJpgFormat;
        break;
    case IL_PCD_PICNUM:
        *Param = ilStates[ilCurrentPos].ilPcdPicNum;
        break;
    case IL_PNG_ALPHA_INDEX:
        *Param = ilStates[ilCurrentPos].ilPngAlphaIndex;
        break;
    case IL_PNG_INTERLACE:
        *Param = ilStates[ilCurrentPos].ilPngInterlace;
        break;
    case IL_SGI_RLE:
        *Param = ilStates[ilCurrentPos].ilSgiRle;
        break;
    case IL_TGA_CREATE_STAMP:
        *Param = ilStates[ilCurrentPos].ilTgaCreateStamp;
        break;
    case IL_TGA_RLE:
        *Param = ilStates[ilCurrentPos].ilTgaRle;
        break;
    case IL_VTF_COMP:
        *Param = ilStates[ilCurrentPos].ilVtfCompression;
        break;

    // Boolean values
    case IL_CONV_PAL:
        *Param = ilStates[ilCurrentPos].ilAutoConvPal;
        break;
    case IL_DEFAULT_ON_FAIL:
        *Param = ilStates[ilCurrentPos].ilDefaultOnFail;
        break;
    case IL_FILE_MODE:
        *Param = ilStates[ilCurrentPos].ilOverWriteFiles;
        break;
    case IL_FORMAT_SET:
        *Param = ilStates[ilCurrentPos].ilFormatSet;
        break;
    case IL_ORIGIN_SET:
        *Param = ilStates[ilCurrentPos].ilOriginSet;
        break;
    case IL_TYPE_SET:
        *Param = ilStates[ilCurrentPos].ilTypeSet;
        break;
    case IL_USE_KEY_COLOUR:
        *Param = ilStates[ilCurrentPos].ilUseKeyColour;
        break;
    case IL_BLIT_BLEND:
        *Param = ilStates[ilCurrentPos].ilBlitBlend;
        break;
    case IL_JPG_PROGRESSIVE:
        *Param = ilStates[ilCurrentPos].ilJpgProgressive;
        break;
    case IL_NVIDIA_COMPRESS:
        *Param = ilStates[ilCurrentPos].ilUseNVidiaDXT;
        break;
    case IL_SQUISH_COMPRESS:
        *Param = ilStates[ilCurrentPos].ilUseSquishDXT;
        break;

    default:
        iGetIntegervImage(iCurImage, Mode, Param);
    }

    return;
}