Add inverted-color-scheme-changed event
This commit is contained in:
parent
223e9d97a0
commit
8b16b82ce9
3 changed files with 45 additions and 3 deletions
|
@ -19,6 +19,21 @@ const wchar_t kSystemPreferencesWindowClass[] =
|
|||
|
||||
namespace api {
|
||||
|
||||
class SystemPreferencesColorChangeListener :
|
||||
public gfx::SysColorChangeListener {
|
||||
public:
|
||||
explicit SystemPreferencesColorChangeListener(SystemPreferences* prefs):
|
||||
prefs_(prefs) {
|
||||
}
|
||||
|
||||
void OnSysColorChange() {
|
||||
prefs_->OnColorChanged();
|
||||
}
|
||||
|
||||
private:
|
||||
SystemPreferences* prefs_;
|
||||
};
|
||||
|
||||
bool SystemPreferences::IsAeroGlassEnabled() {
|
||||
return ui::win::IsAeroGlassEnabled();
|
||||
}
|
||||
|
@ -59,6 +74,10 @@ void SystemPreferences::InitializeWindow() {
|
|||
0, WS_POPUP, 0, 0, 0, 0, 0, 0, instance_, 0);
|
||||
gfx::CheckWindowCreated(window_);
|
||||
gfx::SetWindowUserData(window_, this);
|
||||
|
||||
color_change_listener_.reset(
|
||||
new gfx::ScopedSysColorChangeListener(
|
||||
new SystemPreferencesColorChangeListener(this)));
|
||||
}
|
||||
|
||||
LRESULT CALLBACK SystemPreferences::WndProcStatic(HWND hwnd,
|
||||
|
@ -88,6 +107,14 @@ LRESULT CALLBACK SystemPreferences::WndProc(HWND hwnd,
|
|||
return ::DefWindowProc(hwnd, message, wparam, lparam);
|
||||
}
|
||||
|
||||
void SystemPreferences::OnColorChanged() {
|
||||
bool new_invertered_color_scheme = IsInvertedColorScheme();
|
||||
if (new_invertered_color_scheme != invertered_color_scheme_) {
|
||||
Emit("inverted-color-scheme-changed", new_invertered_color_scheme);
|
||||
invertered_color_scheme_ = new_invertered_color_scheme;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace api
|
||||
|
||||
} // namespace atom
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue