46 lines
		
	
	
		
			929 B
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			929 B
		
	
	
	
		
			V
		
	
	
| module clipboard
 | |
| 
 | |
| // create a new clipboard
 | |
| pub fn new() &Clipboard {
 | |
| 	return new_clipboard()
 | |
| }
 | |
| 
 | |
| // copy some text into the clipboard
 | |
| pub fn (cb mut Clipboard) copy(text string) bool {
 | |
| 	return cb.set_text(text)
 | |
| }
 | |
| 
 | |
| // get the text from the clipboard
 | |
| pub fn (cb mut Clipboard) paste() string {
 | |
| 	return cb.get_text()
 | |
| }
 | |
| 
 | |
| // clear the clipboard
 | |
| pub fn (cb mut Clipboard) clear_all() {
 | |
| 	cb.clear()
 | |
| } 
 | |
| 
 | |
| // destroy the clipboard
 | |
| pub fn (cb mut Clipboard) destroy() {
 | |
| 	cb.free()
 | |
| }
 | |
| 
 | |
| // check if we own the clipboard
 | |
| pub fn (cb mut Clipboard) check_ownership() bool {
 | |
| 	return cb.has_ownership()
 | |
| }
 | |
| 
 | |
| // check if clipboard can be used
 | |
| pub fn (cb &Clipboard) is_available() bool {
 | |
| 	return cb.check_availability()
 | |
| }
 | |
| 
 | |
| // create a new PRIMARY clipboard (only supported on Linux)
 | |
| pub fn new_primary() &Clipboard {
 | |
| 	$if linux {
 | |
| 		return new_x11_clipboard(.primary)
 | |
| 	} $else {
 | |
| 		panic("Primary clipboard is not supported on non-Linux systems.")
 | |
| 	}
 | |
| }
 |