| 218 | } |
| 219 | |
| 220 | private fun drawViewInCanvas(canvas: Canvas, bitmap: Bitmap, view: View, transform: Matrix?, shouldScale: Boolean) { |
| 221 | val bitmapWidth = bitmap.width |
| 222 | val bitmapHeight = bitmap.height |
| 223 | val viewWidth = view.width |
| 224 | val viewHeight = view.height |
| 225 | |
| 226 | canvas.setBitmap(bitmap) |
| 227 | |
| 228 | if (transform != null) { |
| 229 | canvas.concat(transform) |
| 230 | } |
| 231 | |
| 232 | if (shouldScale) { |
| 233 | canvas.scale(bitmapWidth.toFloat() / viewWidth.toFloat(), bitmapHeight.toFloat() / viewHeight.toFloat()) |
| 234 | } |
| 235 | |
| 236 | view.draw(canvas) |
| 237 | |
| 238 | canvas.setBitmap(null) |
| 239 | } |
| 240 | |
| 241 | @Keep |
| 242 | fun raster(bitmap: Any?, left: Int, top: Int, right: Int, bottom: Int, rasterScaleX: Float, rasterScaleY: Float, transform: Any?): String? { |