You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.0 KiB
50 lines
1.0 KiB
package com.fine.theme.icon; |
|
|
|
import com.fr.third.errorprone.annotations.Immutable; |
|
import org.jetbrains.annotations.NotNull; |
|
|
|
import javax.swing.Icon; |
|
import java.awt.Dimension; |
|
import java.util.Collection; |
|
|
|
/** |
|
* 图标集 |
|
* |
|
* @author vito |
|
* @since 11.0 |
|
* Created on 2023/11/6 |
|
*/ |
|
@Immutable |
|
public interface IconSet extends Identifiable { |
|
|
|
/** |
|
* 返回集合中所有 Icons 的 id。 |
|
* |
|
* @return 集合中所有 Icons 的 id。 |
|
*/ |
|
@NotNull |
|
Collection<String> getIds(); |
|
|
|
/** |
|
* 将指定 IconSource 引用的新 Icon 添加到集合中。 |
|
* |
|
* @param icon icon 源 |
|
*/ |
|
void addIcon(@NotNull IconSource<? extends Icon> icon); |
|
|
|
/** |
|
* 将指定 IconSource 引用的新 Icon 添加到集合中。 |
|
* |
|
* @param icon icon 源 |
|
*/ |
|
void addIcon(@NotNull IconSource<? extends Icon>... icon); |
|
|
|
/** |
|
* 返回指定 id 的 Icon。 |
|
* |
|
* @param id id |
|
* @return Icon |
|
*/ |
|
Icon findIcon(@NotNull String id, @NotNull Dimension dimension, IconType type); |
|
|
|
}
|
|
|