def __init__(self, destLeft = 0, destTop = 0, destRight = 0, destBottom = 0, width = 0, height = 0, bitsPerPixel = 0, bitmapDataStream = ""):
        """
        @param destLeft: destination left coordinate
        @param destTop: destination top coordinate
        @param destRight: destination right coordinate
        @param destBottom: destination bottom coordinate
        @param width: width of image
        @param height: height of image
        @param bitsPerPixel: color depth
        @param bitmapDataStream: data
        """
        CompositeType.__init__(self)
        self.destLeft = UInt16Le(destLeft)
        self.destTop = UInt16Le(destTop)
        self.destRight = UInt16Le(destRight)
        self.destBottom = UInt16Le(destBottom)
        self.width = UInt16Le(width)
        self.height = UInt16Le(height)
        self.bitsPerPixel = UInt16Le(bitsPerPixel)
        self.flags = UInt16Le()
        self.bitmapLength = UInt16Le(lambda:(sizeof(self.bitmapComprHdr) + sizeof(self.bitmapDataStream)))
        self.bitmapComprHdr = BitmapCompressedDataHeader(bodySize = lambda:sizeof(self.bitmapDataStream), scanWidth = lambda:self.width.value, uncompressedSize = lambda:(self.width.value * self.height.value * self.bitsPerPixel.value), conditional = lambda:((self.flags.value & BitmapFlag.BITMAP_COMPRESSION) and not (self.flags.value & BitmapFlag.NO_BITMAP_COMPRESSION_HDR)))
        self.bitmapDataStream = String(bitmapDataStream, readLen = CallableValue(lambda:(self.bitmapLength.value if (not self.flags.value & BitmapFlag.BITMAP_COMPRESSION or self.flags.value & BitmapFlag.NO_BITMAP_COMPRESSION_HDR) else self.bitmapComprHdr.cbCompMainBodySize.value)))
def __init__ ( self , destLeft = 0 , destTop = 0 , destRight = 0 , destBottom = 0 , width = 0 , height = 0 , bitsPerPixel = 0 , bitmapDataStream = "" ) : CompositeType . __init__ ( self ) self . destLeft = UInt16Le ( destLeft ) self . destTop = UInt16Le ( destTop ) self . destRight = UInt16Le ( destRight ) self . destBottom = UInt16Le ( destBottom ) self . width = UInt16Le ( width ) self . height = UInt16Le ( height ) self . bitsPerPixel = UInt16Le ( bitsPerPixel ) self . flags = UInt16Le ( ) self . bitmapLength = UInt16Le ( lambda : ( sizeof ( self . bitmapComprHdr ) + sizeof ( self . bitmapDataStream ) ) ) self . bitmapComprHdr = BitmapCompressedDataHeader ( bodySize = lambda : sizeof ( self . bitmapDataStream ) , scanWidth = lambda : self . width . value , uncompressedSize = lambda : ( self . width . value * self . height . value * self . bitsPerPixel . value ) , conditional = lambda : ( ( self . flags . value & BitmapFlag . BITMAP_COMPRESSION ) and not ( self . flags . value & BitmapFlag . NO_BITMAP_COMPRESSION_HDR ) ) ) self . bitmapDataStream = String ( bitmapDataStream , readLen = CallableValue ( lambda : ( self . bitmapLength . value if ( not self . flags . value & BitmapFlag . BITMAP_COMPRESSION or self . flags . value & BitmapFlag . NO_BITMAP_COMPRESSION_HDR ) else self . bitmapComprHdr . cbCompMainBodySize . value ) ) )
@param destLeft: destination left coordinate
        @param destTop: destination top coordinate
        @param destRight: destination right coordinate
        @param destBottom: destination bottom coordinate
        @param width: width of image
        @param height: height of image
        @param bitsPerPixel: color depth
        @param bitmapDataStream: data