Added QIcon isMask and setIsMask (#157)
This commit is contained in:
parent
b5f21bae0b
commit
bd1c334722
@ -18,4 +18,6 @@ public:
|
||||
QIcon *getInternalInstance();
|
||||
// Wrapped methods
|
||||
Napi::Value pixmap(const Napi::CallbackInfo& info);
|
||||
Napi::Value isMask(const Napi::CallbackInfo& info);
|
||||
Napi::Value setIsMask(const Napi::CallbackInfo& info);
|
||||
};
|
||||
|
||||
@ -11,6 +11,8 @@ Napi::Object QIconWrap::init(Napi::Env env, Napi::Object exports)
|
||||
char CLASSNAME[] = "QIcon";
|
||||
Napi::Function func = DefineClass(env, CLASSNAME, {
|
||||
InstanceMethod("pixmap", &QIconWrap::pixmap),
|
||||
InstanceMethod("isMask", &QIconWrap::isMask),
|
||||
InstanceMethod("setIsMask", &QIconWrap::setIsMask),
|
||||
COMPONENT_WRAPPED_METHODS_EXPORT_DEFINE
|
||||
});
|
||||
constructor = Napi::Persistent(func);
|
||||
@ -74,3 +76,29 @@ Napi::Value QIconWrap::pixmap(const Napi::CallbackInfo& info)
|
||||
auto instance = QPixmapWrap::constructor.New({ Napi::External<QPixmap>::New(env, pixmap) });
|
||||
return instance;
|
||||
}
|
||||
|
||||
Napi::Value QIconWrap::isMask(const Napi::CallbackInfo& info)
|
||||
{
|
||||
Napi::Env env = info.Env();
|
||||
Napi::HandleScope scope(env);
|
||||
|
||||
return Napi::Boolean::New(env, this->instance->isMask());
|
||||
}
|
||||
|
||||
Napi::Value QIconWrap::setIsMask(const Napi::CallbackInfo& info)
|
||||
{
|
||||
Napi::Env env = info.Env();
|
||||
Napi::HandleScope scope(env);
|
||||
|
||||
if (info.Length() == 1)
|
||||
{
|
||||
Napi::Boolean isMask = info[0].As<Napi::Boolean>();
|
||||
this->instance->setIsMask(isMask.Value());
|
||||
}
|
||||
else
|
||||
{
|
||||
Napi::TypeError::New(env, "Wrong number of arguments").ThrowAsJavaScriptException();
|
||||
}
|
||||
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ shortcut.addEventListener(QShortcutEvents.activated, () => {
|
||||
const trayIcon = new QIcon(
|
||||
path.resolve(__dirname, "../extras/assets/nodegui_white.png")
|
||||
);
|
||||
trayIcon.setIsMask(true);
|
||||
|
||||
const tray = new QSystemTrayIcon();
|
||||
tray.setIcon(trayIcon);
|
||||
|
||||
@ -41,4 +41,12 @@ export class QIcon extends Component {
|
||||
}
|
||||
return new QPixmap(nativePixmap);
|
||||
};
|
||||
|
||||
isMask(): boolean {
|
||||
return this.native.isMask();
|
||||
}
|
||||
|
||||
setIsMask(isMask: boolean) {
|
||||
this.native.setIsMask(isMask);
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,3 +44,13 @@ Returns a pixmap with the requested size, mode, and state, generating one if nec
|
||||
- `height`: number
|
||||
- `mode?`: QIconMode
|
||||
- `state?`: QIconState
|
||||
|
||||
### `icon.isMask()`
|
||||
|
||||
Returns true if this icon has been marked as a mask image. It calls the native method [QIcon: isMask](https://doc.qt.io/qt-5/qicon.html#isMask).
|
||||
|
||||
### `icon.setIsMask(isMask)`
|
||||
|
||||
Indicate that this icon is a mask image, and hence can potentially be modified based on where it's displayed. It calls the native method [QIcon: setIsMask](https://doc.qt.io/qt-5/qicon.html#setIsMask).
|
||||
|
||||
- `isMask`: boolean
|
||||
|
||||
Loading…
Reference in New Issue
Block a user