X-Git-Url: https://sfsrealm.hopto.org/projects/gitweb.cgi?a=blobdiff_plain;f=grpapi%2Fgrpapi.cpp;h=d2066146df5dfa569cdef9d405c6015d83a213a0;hb=6ae306569505e091aa7f5415ce26ee920bff2f5c;hp=6c96c561290fac94dfba899aa2deb14a2561daef;hpb=72348a2de786fe37fccc3600d9c4d3cd0b4f63e9;p=grpapi.git diff --git a/grpapi/grpapi.cpp b/grpapi/grpapi.cpp index 6c96c56..d206614 100644 --- a/grpapi/grpapi.cpp +++ b/grpapi/grpapi.cpp @@ -233,7 +233,8 @@ BOOL GRPAPI WINAPI DrawGrp(HANDLE hGrp, HDC hdcDest, int nXDest, int nYDest, WOR FrameSize = j; } } - if (FrameSize == 0xFFFFFF) { + if (FrameSize == 0xFFFFFF || FrameSize == GrpFrame->Width * GrpFrame->Height) { + FrameSize = 0xFFFFFF; for (i = 0; i + 1 < GrpFile->nFrames; i++) { j = GrpFrames[i].Offset - GrpFrames[0].Offset; if (j > 0 && j < FrameSize) @@ -400,6 +401,19 @@ BOOL GRPAPI WINAPI GetGrpInfo(HANDLE hGrp, GRPHEADER *GrpInfo) return TRUE; } +BOOL GRPAPI WINAPI GetGrpFrameInfo(HANDLE hGrp, WORD nFrame, DWORD *nLeft, DWORD *nTop, DWORD *nWidth, DWORD *nHeight) +{ + if (!hGrp || hGrp==INVALID_HANDLE_VALUE) return FALSE; + FRAMEHEADER *GrpFrame = &((FRAMEHEADER *)(((char *)hGrp)+6))[nFrame]; + + if (nLeft) *nLeft = GrpFrame->Left; + if (nTop) *nTop = GrpFrame->Top; + if (nWidth) *nWidth = GrpFrame->Width; + if (nHeight) *nHeight = GrpFrame->Height; + + return TRUE; +} + void GRPAPI WINAPI SetFunctionGetPixel(GETPIXELPROC lpGetPixelProc) { if (!lpGetPixelProc)