28 lines
		
	
	
		
			673 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			673 B
		
	
	
	
		
			Factor
		
	
	
 | 
						|
USING: kernel namespaces arrays x11.xlib mortar mortar.sugar
 | 
						|
       slot-accessors x x.font ;
 | 
						|
 | 
						|
IN: x.gc
 | 
						|
 | 
						|
SYMBOL: <gc>
 | 
						|
 | 
						|
<gc> { "dpy" "ptr" "font" } accessors define-independent-class
 | 
						|
 | 
						|
<gc> "create" !( <gc> -- gc ) [
 | 
						|
new-empty dpy get >>dpy
 | 
						|
dpy get $ptr  dpy get $default-root $id  0 f XCreateGC >>ptr
 | 
						|
"6x13" <font> new* >>font
 | 
						|
] add-class-method
 | 
						|
 | 
						|
<gc> {
 | 
						|
 | 
						|
"set-subwindow-mode" !( gc mode -- gc )
 | 
						|
  [ >r dup $dpy $ptr over $ptr r> XSetSubwindowMode drop ]
 | 
						|
 | 
						|
"set-function" !( gc function -- gc )
 | 
						|
  [ >r dup $dpy $ptr over $ptr r> XSetFunction drop ]
 | 
						|
 | 
						|
"set-foreground" !( gc foreground -- gc )
 | 
						|
  [ >r dup $dpy $ptr over $ptr r> lookup-color XSetForeground drop ]
 | 
						|
 | 
						|
} add-methods |