summaryrefslogtreecommitdiff
path: root/src/page.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/page.vala')
-rw-r--r--src/page.vala30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/page.vala b/src/page.vala
index cfe70e1..67c8010 100644
--- a/src/page.vala
+++ b/src/page.vala
@@ -219,6 +219,31 @@ public class Page : Object
this.crop_width = (crop_x + crop_width > scan_width) ? scan_width : crop_width;
this.crop_height = (crop_y + crop_height > scan_height) ? scan_height : crop_height;
}
+
+ public Page copy()
+ {
+ var copy = new Page.from_data (
+ scan_width,
+ scan_height,
+ rowstride,
+ n_channels,
+ depth,
+ dpi,
+ scan_direction,
+ color_profile,
+ pixels,
+ has_crop,
+ crop_name,
+ crop_x,
+ crop_y,
+ crop_width,
+ crop_height
+ );
+
+ copy.scan_line = scan_line;
+
+ return copy;
+ }
public void set_page_info (ScanPageInfo info)
{
@@ -649,10 +674,9 @@ public class Page : Object
public void copy_to_clipboard (Gtk.Window window)
{
- var display = window.get_display ();
- var clipboard = Gtk.Clipboard.get_for_display (display, Gdk.SELECTION_CLIPBOARD);
+ var clipboard = window.get_clipboard();
var image = get_image (true);
- clipboard.set_image (image);
+ clipboard.set_value (image);
}
public void save_png (File file) throws Error