You can either wrap that pixel pointer in an SkPixmap object, then you can create an SkImage from the SkPixmap using SkImage::MakeFromRaster(SkPixmap) and use SkCanvas::drawImage() to draw the resulting SkImage to the canvas. This codepath is similar to drawing any other raster image, and will respect clips, transforms, paint attributes etc.
Alternatively, you can call SkCanvas::writePixels() to write the raw pixel data directly into the SkCanvas. This ignores the currently set transform and clip.
Without knowing your usecase it's hard to recommend one or the other.