31 lines
		
	
	
		
			624 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			624 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import os
 | 
						|
import bpy
 | 
						|
 | 
						|
from bpy.utils import previews
 | 
						|
 | 
						|
icons = None
 | 
						|
directory = os.path.abspath(os.path.join(__file__, '..', '..', '..', 'icons'))
 | 
						|
 | 
						|
def id(identifier):
 | 
						|
    return image(identifier).icon_id
 | 
						|
 | 
						|
def image(identifier):
 | 
						|
    def icon(identifier):
 | 
						|
        if identifier in icons:
 | 
						|
            return icons[identifier]
 | 
						|
        return icons.load(identifier, os.path.join(directory, identifier + '.png'), 'IMAGE')
 | 
						|
 | 
						|
    if icons:
 | 
						|
        return icon(identifier)
 | 
						|
    else:
 | 
						|
        create()
 | 
						|
        return icon(identifier)
 | 
						|
 | 
						|
 | 
						|
def create():
 | 
						|
    global icons
 | 
						|
    icons = previews.new()
 | 
						|
 | 
						|
 | 
						|
def remove():
 | 
						|
    previews.remove(icons) |