9fans.net/go@v0.0.5/draw/freesubfont.go (about)

     1  package draw
     2  
     3  // Free frees the server resources for the Subfont. Subfonts have a finalizer that
     4  // calls Free automatically, if necessary, for garbage collected Images, but it
     5  // is more efficient to be explicit.
     6  // TODO: Implement the finalizer!
     7  func (f *subfont) Free() {
     8  	if f == nil {
     9  		return
    10  	}
    11  	f.Bits.Display.mu.Lock()
    12  	defer f.Bits.Display.mu.Unlock()
    13  	f.free()
    14  }
    15  
    16  func (f *subfont) free() {
    17  	if f == nil {
    18  		return
    19  	}
    20  	f.ref--
    21  	if f.ref > 0 {
    22  		return
    23  	}
    24  	uninstallsubfont(f)
    25  	f.Bits.free()
    26  }