public LayerBrushRegistration RegisterLayerBrush(LayerBrushDescriptor descriptor) { if (descriptor == null) { throw new ArgumentNullException(nameof(descriptor)); } return(LayerBrushStore.Add(descriptor)); }
/// <summary> /// Registers a layer brush descriptor for a given layer brush, so that it appears in the UI. /// <para>Note: You do not need to manually remove these on disable</para> /// </summary> /// <typeparam name="T">The type of the layer brush you wish to register</typeparam> /// <param name="displayName">The name to display in the UI</param> /// <param name="description">The description to display in the UI</param> /// <param name="icon"> /// The Material icon to display in the UI, a full reference can be found /// <see href="https://materialdesignicons.com">here</see> /// </param> protected void RegisterLayerBrushDescriptor<T>(string displayName, string description, string icon) where T : BaseLayerBrush { if (!IsEnabled) throw new ArtemisPluginException(Plugin, "Can only add a layer brush descriptor when the plugin is enabled"); LayerBrushDescriptor descriptor = new(displayName, description, icon, typeof(T), this); _layerBrushDescriptors.Add(descriptor); LayerBrushStore.Add(descriptor); }
/// <summary> /// Registers a layer brush descriptor for a given layer brush, so that it appears in the UI. /// <para>Note: You do not need to manually remove these on disable</para> /// </summary> /// <typeparam name="T">The type of the layer brush you wish to register</typeparam> /// <param name="displayName">The name to display in the UI</param> /// <param name="description">The description to display in the UI</param> /// <param name="icon"> /// The Material icon to display in the UI, a full reference can be found /// <see href="https://materialdesignicons.com">here</see> /// </param> protected void RegisterLayerBrushDescriptor <T>(string displayName, string description, string icon) where T : BaseLayerBrush { if (!IsEnabled) { throw new ArtemisPluginException(Plugin, "Can only add a layer brush descriptor when the plugin is enabled"); } if (icon.ToLower().EndsWith(".svg")) { icon = Plugin.ResolveRelativePath(icon); } LayerBrushDescriptor descriptor = new(displayName, description, icon, typeof(T), this); _layerBrushDescriptors.Add(descriptor); LayerBrushStore.Add(descriptor); }