| 158 | } |
| 159 | |
| 160 | bool Texture2D::initWithData(const void* data, |
| 161 | ssize_t dataLen, |
| 162 | backend::PixelFormat pixelFormat, |
| 163 | backend::PixelFormat renderFormat, |
| 164 | int pixelsWide, |
| 165 | int pixelsHigh, |
| 166 | bool preMultipliedAlpha) |
| 167 | { |
| 168 | AXASSERT(dataLen > 0, "Invalid size"); |
| 169 | AXASSERT(pixelsWide > 0, "Invalid size"); |
| 170 | AXASSERT(pixelsHigh > 0, "Invalid size"); |
| 171 | |
| 172 | // if data has no mipmaps, we will consider it has only one mipmap |
| 173 | MipmapInfo mipmap; |
| 174 | mipmap.address = (unsigned char*)data; |
| 175 | mipmap.len = static_cast<int>(dataLen); |
| 176 | return initWithMipmaps(&mipmap, 1, pixelFormat, renderFormat, pixelsWide, pixelsHigh, preMultipliedAlpha); |
| 177 | } |
| 178 | |
| 179 | bool Texture2D::initWithMipmaps(MipmapInfo* mipmaps, |
| 180 | int mipmapsNum, |