48 lines
		
	
	
		
			966 B
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			966 B
		
	
	
	
		
			V
		
	
	
module clipboard
 | 
						|
 | 
						|
pub struct Clipboard {
 | 
						|
	mut:
 | 
						|
	text string // text data sent or received
 | 
						|
	got_text bool // used to confirm that we have got the text
 | 
						|
	is_owner bool // to save selection owner state
 | 
						|
}
 | 
						|
 | 
						|
fn new_clipboard() &Clipboard {
 | 
						|
   eprintln('TODO: support clipboard on solaris')
 | 
						|
   return &Clipboard{}
 | 
						|
}
 | 
						|
 | 
						|
pub fn new_primary() &Clipboard {
 | 
						|
   eprintln('TODO: support clipboard on solaris')
 | 
						|
   return &Clipboard{}
 | 
						|
}
 | 
						|
 | 
						|
fn (cb mut Clipboard) set_text(text string) bool {
 | 
						|
   cb.text = text
 | 
						|
   cb.is_owner = true
 | 
						|
   cb.got_text = true
 | 
						|
   return true
 | 
						|
}
 | 
						|
 | 
						|
fn (cb mut Clipboard) get_text() string {
 | 
						|
   return cb.text
 | 
						|
}
 | 
						|
 | 
						|
fn (cb mut Clipboard) clear(){
 | 
						|
   cb.text = ''
 | 
						|
   cb.is_owner = false
 | 
						|
}
 | 
						|
 | 
						|
fn (cb mut Clipboard) free(){   
 | 
						|
}
 | 
						|
 | 
						|
fn (cb &Clipboard) has_ownership() bool {
 | 
						|
   return cb.is_owner
 | 
						|
}
 | 
						|
 | 
						|
fn (cb &Clipboard) check_availability() bool {
 | 
						|
   // This is a dummy clipboard implementation, 
 | 
						|
   // which can be always used, although it does not do much...
 | 
						|
   return true
 | 
						|
}
 |