Is it faster than redrawing whole button?
Is faster than BGRAImageButton (that was using BGRABitmapThemeUtils) because the code for slice scaling the image is optimized by circular =)
Is faster than BGRASpriteAnimation because in BGRASpriteAnimation I strp each frame of the bitmap in each frame redraw, the whole component isn't optimized. With a TTimer and a TBGRAMultiSliceScaling I can load and draw each frame faster.
It can be faster than drawing from BGRABitmap (well, I don't know), because for example I can apply effects to the button in Photoshop (i.e layer styles) and save it to a png file, then load with BGRASliceScaling and is just stretching and drawing a bitmap, all the effects are in the plain png.
To understand how it works, test the customdrawn_windows7 and see the code, for example, to draw a button or to draw a progress bar.
Edit: or just run the customdrawn_windows7 project and clic 'Debug' button, and move the sliders to change the progressbar percent, you'll understand it quickly.