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) |