aboutsummaryrefslogtreecommitdiffstats
path: root/layout/subimage.go
diff options
context:
space:
mode:
Diffstat (limited to 'layout/subimage.go')
-rw-r--r--layout/subimage.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/layout/subimage.go b/layout/subimage.go
new file mode 100644
index 0000000..ecbe931
--- /dev/null
+++ b/layout/subimage.go
@@ -0,0 +1,17 @@
+package layout
+
+import (
+ "image"
+ "image/draw"
+)
+
+type subimager interface {
+ SubImage(image.Rectangle) image.Image
+}
+
+// Subimage returns an image representing the portion of the image m visible through r.
+// The returned value shares pixels with the original.
+// Panics if the concrete image type does not have a SubImage() method.
+func subimage(m draw.Image, r image.Rectangle) draw.Image {
+ return m.(subimager).SubImage(r).(draw.Image)
+}