diff options
Diffstat (limited to 'blenderkit/icons.py')
-rw-r--r-- | blenderkit/icons.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/blenderkit/icons.py b/blenderkit/icons.py new file mode 100644 index 00000000..3c6cea4b --- /dev/null +++ b/blenderkit/icons.py @@ -0,0 +1,53 @@ +# ##### BEGIN GPL LICENSE BLOCK ##### +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# ##### END GPL LICENSE BLOCK ##### + + +import os +import bpy + +# We can store multiple preview collections here, +# however in this example we only store "main" +icon_collections = {} + +icons_read = { + 'fp.png': 'free', + 'flp.png': 'full', +} + + +def register_icons(): + # Note that preview collections returned by bpy.utils.previews + # are regular py objects - you can use them to store custom data. + import bpy.utils.previews + pcoll = bpy.utils.previews.new() + + # path to the folder where the icon is + # the path is calculated relative to this py file inside the addon folder + icons_dir = os.path.join(os.path.dirname(__file__), "thumbnails") + + # load a preview thumbnail of a file and store in the previews collection + for ir in icons_read.keys(): + pcoll.load(icons_read[ir], os.path.join(icons_dir, ir), 'IMAGE') + + icon_collections["main"] = pcoll + + +def unregister_icons(): + for pcoll in icon_collections.values(): + bpy.utils.previews.remove(pcoll) + icon_collections.clear() |