6#include <albert/export.h>
33 virtual std::unique_ptr<Icon>
clone()
const = 0;
41 virtual QSize
actualSize(
const QSize &device_independent_size,
double device_pixel_ratio);
48 virtual QPixmap
pixmap(
const QSize &device_independent_size,
double device_pixel_ratio);
51 virtual void paint(QPainter *painter,
const QRect &rect) = 0;
61 virtual QString
toUrl()
const = 0;
71 static QIcon
qIcon(std::unique_ptr<albert::Icon> icon);
77 static std::unique_ptr<Icon>
iconFromUrls(
const QStringList &urls);
83 static std::unique_ptr<Icon>
image(
const QString &path);
86 static std::unique_ptr<Icon>
image(
const std::filesystem::path &path);
94 static std::unique_ptr<Icon>
fileType(
const QString &path);
97 static std::unique_ptr<Icon>
fileType(
const std::filesystem::path &path);
105 static std::unique_ptr<Icon>
theme(
const QString &icon_name);
118 TitleBarMinButton = 1,
119 TitleBarMenuButton = 0,
120 TitleBarMaxButton = 2,
121 TitleBarCloseButton = 3,
122 TitleBarNormalButton = 4,
123 TitleBarShadeButton = 5,
124 TitleBarUnshadeButton = 6,
125 TitleBarContextHelpButton = 7,
126 MessageBoxInformation = 9,
127 MessageBoxWarning = 10,
128 MessageBoxCritical = 11,
129 MessageBoxQuestion = 12,
143 DirLinkOpenIcon = 24,
146 FileDialogStart = 29,
148 FileDialogToParent = 31,
149 FileDialogNewFolder = 32,
150 FileDialogDetailedView = 33,
151 FileDialogInfoView = 34,
152 FileDialogContentsView = 35,
153 FileDialogListView = 36,
155 DockWidgetCloseButton = 8,
156 ToolBarHorizontalExtensionButton = 27,
157 ToolBarVerticalExtensionButton = 28,
159 DialogCancelButton = 40,
160 DialogHelpButton = 41,
161 DialogOpenButton = 42,
162 DialogSaveButton = 43,
163 DialogCloseButton = 44,
164 DialogApplyButton = 45,
165 DialogResetButton = 46,
166 DialogDiscardButton = 47,
167 DialogYesButton = 48,
182 MediaSkipForward = 64,
183 MediaSkipBackward = 65,
184 MediaSeekForward = 66,
185 MediaSeekBackward = 67,
187 MediaVolumeMuted = 69,
188 LineEditClearButton = 70,
189 DialogYesToAllButton = 71,
190 DialogNoToAllButton = 72,
191 DialogSaveAllButton = 73,
192 DialogAbortButton = 74,
193 DialogRetryButton = 75,
194 DialogIgnoreButton = 76,
195 RestoreDefaultsButton = 77,
209 static std::unique_ptr<Icon>
grapheme(
const QString &grapheme,
double scalar = 1.0);
212 static std::unique_ptr<Icon>
grapheme(
const QString &grapheme,
214 const QBrush &brush);
234 std::unique_ptr<Icon> icon,
235 const QBrush &background_brush = iconifiedDefaultBackgroundBrush(),
236 double border_radius = 1.0,
237 int border_width = 1,
238 const QBrush &border_color = iconifiedDefaultBorderBrush());
251 static std::unique_ptr<Icon>
composed(std::unique_ptr<Icon> icon1,
252 std::unique_ptr<Icon> icon2,
Abstract icon engine.
Definition icon.h:26
static std::unique_ptr< Icon > fileType(const std::filesystem::path &path)
Returns an icon representing the file type of the file at path.
static std::unique_ptr< Icon > theme(const QString &icon_name)
Returns an icon from the current icon theme with the given icon_name.
static QBrush graphemeDefaultBrush()
Returns the window text color of the current application palette.
virtual void paint(QPainter *painter, const QRect &rect)=0
Uses the given painter to paint the icon into the rectangle rect.
virtual QPixmap pixmap(const QSize &device_independent_size, double device_pixel_ratio)
Returns a pixmap for the requested device_independent_size and device_pixel_ratio.
static const QBrush & iconifiedDefaultBackgroundBrush()
Returns the default background brush (a top down gradient from white to some darker white).
virtual QString cacheKey()
Returns the cache key of the icon.
virtual QString toUrl() const =0
Returns a URL representation of the icon.
virtual std::unique_ptr< Icon > clone() const =0
Returns a clone of this icon.
static std::unique_ptr< Icon > fileType(const QString &path)
Returns an icon representing the file type of the file at path.
static std::unique_ptr< Icon > grapheme(const QString &grapheme, double scalar=1.0)
Returns an icon rendering the given grapheme with graphemeDefaultBrush, scaled by scalar.
static QIcon qIcon(std::unique_ptr< albert::Icon > icon)
Returns a QIcon using icon as icon engine.
virtual QSize actualSize(const QSize &device_independent_size, double device_pixel_ratio)
Returns the device independent size of the available icon for the given device_independent_size and d...
static std::unique_ptr< Icon > iconFromUrls(const QStringList &urls)
Returns a built-in icon for the given urls.
StandardIconType
Definition icon.h:117
static std::unique_ptr< Icon > iconified(std::unique_ptr< Icon > icon, const QBrush &background_brush=iconifiedDefaultBackgroundBrush(), double border_radius=1.0, int border_width=1, const QBrush &border_color=iconifiedDefaultBorderBrush())
Returns iconified icon.
static std::unique_ptr< Icon > image(const QString &path)
Returns an icon from an image file at path.
static const QBrush & iconifiedDefaultBorderBrush()
Returns the default border color (a gradient slightly darker than the default background).
virtual bool isNull()
Returns true if the icon is valid; otherwise returns false.
static std::unique_ptr< Icon > iconFromUrl(const QString &url)
Returns a built-in icon for the given url.
static std::unique_ptr< Icon > grapheme(const QString &grapheme, double scalar, const QBrush &brush)
Returns an icon rendering the given grapheme, scaled by scalar and colored with brush.
static std::unique_ptr< Icon > image(const std::filesystem::path &path)
Returns an icon from an image file at path.
static std::unique_ptr< Icon > composed(std::unique_ptr< Icon > icon1, std::unique_ptr< Icon > icon2, double size1=0.7, double size2=0.7, double x1=0.0, double y1=0.0, double x2=1.0, double y2=1.0)
Returns a composed icon from icon1 and icon2.
static std::unique_ptr< Icon > standard(StandardIconType type)
Returns a standard icon for the given type.
virtual ~Icon()
Destructs the icon.
The Albert namespace.
Definition app.h:55