| 330 | } |
| 331 | |
| 332 | IGraphics::CTextureHandle CGraphics_Threaded::LoadSpriteTexture(const CImageInfo &FromImageInfo, const CDataSprite *pSprite) |
| 333 | { |
| 334 | int ImageGridX = FromImageInfo.m_Width / pSprite->m_pSet->m_Gridx; |
| 335 | int ImageGridY = FromImageInfo.m_Height / pSprite->m_pSet->m_Gridy; |
| 336 | int x = pSprite->m_X * ImageGridX; |
| 337 | int y = pSprite->m_Y * ImageGridY; |
| 338 | int w = pSprite->m_W * ImageGridX; |
| 339 | int h = pSprite->m_H * ImageGridY; |
| 340 | |
| 341 | CImageInfo SpriteInfo; |
| 342 | SpriteInfo.m_Width = w; |
| 343 | SpriteInfo.m_Height = h; |
| 344 | SpriteInfo.m_Format = FromImageInfo.m_Format; |
| 345 | SpriteInfo.m_pData = static_cast<uint8_t *>(malloc(SpriteInfo.DataSize())); |
| 346 | SpriteInfo.CopyRectFrom(FromImageInfo, x, y, w, h, 0, 0); |
| 347 | return LoadTextureRawMove(SpriteInfo, 0, pSprite->m_pName); |
| 348 | } |
| 349 | |
| 350 | bool CGraphics_Threaded::IsImageSubFullyTransparent(const CImageInfo &FromImageInfo, int x, int y, int w, int h) |
| 351 | { |
no test coverage detected