Ejemplo n.º 1
0
        public LayerBrushRegistration RegisterLayerBrush(LayerBrushDescriptor descriptor)
        {
            if (descriptor == null)
            {
                throw new ArgumentNullException(nameof(descriptor));
            }

            return(LayerBrushStore.Add(descriptor));
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }