DynamicBitmap::DynamicBitmap(RenderObjectPtr<RenderObject> parentPtr, uint width, uint height) : Bitmap(parentPtr, TYPE_DYNAMICBITMAP) { // Das BS_Bitmap konnte nicht erzeugt werden, daher muss an dieser Stelle abgebrochen werden. if (!_initSuccess) return; _initSuccess = createRenderedImage(width, height); }
DynamicBitmap::DynamicBitmap(RenderObjectPtr<RenderObject> parentPtr, uint width, uint height) : Bitmap(parentPtr, TYPE_DYNAMICBITMAP) { // The BS_BITMAP could not be created, so stop. if (!_initSuccess) return; _initSuccess = createRenderedImage(width, height); }
bool DynamicBitmap::unpersist(InputPersistenceBlock &reader) { bool result = true; result &= Bitmap::unpersist(reader); // Ein RenderedImage mit den gespeicherten Maßen erstellen. result &= createRenderedImage(_width, _height); // Bilddaten werden nicht gespeichert (s.o.). BS_LOG_WARNINGLN("Unpersisting a BS_DynamicBitmap. Bitmap contents are missing."); // Bild mit durchsichtigen Bilddaten initialisieren. byte *transparentImageData = (byte *)calloc(_width * _height * 4, 1); _image->setContent(transparentImageData, _width * _height); free(transparentImageData); result &= RenderObject::unpersistChildren(reader); return reader.isGood() && result; }
bool DynamicBitmap::unpersist(InputPersistenceBlock &reader) { #if 0 bool result = true; result &= Bitmap::unpersist(reader); result &= createRenderedImage(_width, _height); warning("Unpersisting a BS_DynamicBitmap. Bitmap contents are missing."); // Initialize a transparent image. byte *transparentImageData = (byte *)calloc(_width * _height * 4, 1); _image->setContent(transparentImageData, _width * _height); free(transparentImageData); result &= RenderObject::unpersistChildren(reader); return reader.isGood() && result; #endif error("Request to unpersist a dynamic bitmap (video) - probably a corrupted saved game or a bug"); }