Set all devices at once with Set All button, add common function to set device to custom mode

This commit is contained in:
Adam Honse 2019-06-18 12:26:06 -05:00
parent ab4a07244a
commit af0bfde610
13 changed files with 48 additions and 3 deletions

View file

@ -27,6 +27,7 @@ BEGIN_MESSAGE_MAP(OpenAuraSDKDialog, CDialogEx)
ON_CBN_CLOSEUP(IDC_COMBO_OPENAURASDK_MODE, &OpenAuraSDKDialog::OnCbnCloseupComboOpenaurasdkMode)
ON_BN_CLICKED(IDC_BUTTON_OPENAURASDK_SET_ZONE, &OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetZone)
ON_BN_CLICKED(IDC_BUTTON_OPENAURASDK_SET_COLORS_LED, &OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColorsLed)
ON_BN_CLICKED(IDC_BUTTON_OPENAURASDK_SET_COLORS_DEVICE, &OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColorsDevice)
END_MESSAGE_MAP()
BOOL OpenAuraSDKDialog::OnInitDialog()
@ -77,15 +78,17 @@ void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkI2cdetect()
void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColorsAll()
{
CComboBox* controller_box = (CComboBox*)GetDlgItem(IDC_COMBO_OPENAURASDK_DEVICE);
RGBColor color = ToRGBColor(
GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_R),
GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_G),
GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_B)
);
controllers[controller_box->GetCurSel()]->SetAllLEDs(color);
for (int i = 0; i < controllers.size(); i++)
{
controllers[i]->SetCustomMode();
controllers[i]->SetAllLEDs(color);
}
}
@ -161,3 +164,17 @@ void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColorsLed()
controllers[controller_box->GetCurSel()]->SetLED(led_box->GetCurSel(), color);
}
void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColorsDevice()
{
CComboBox* controller_box = (CComboBox*)GetDlgItem(IDC_COMBO_OPENAURASDK_DEVICE);
RGBColor color = ToRGBColor(
GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_R),
GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_G),
GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_B)
);
controllers[controller_box->GetCurSel()]->SetAllLEDs(color);
}

View file

@ -32,6 +32,7 @@ public:
afx_msg void OnCbnCloseupComboOpenaurasdkMode();
afx_msg void OnBnClickedButtonOpenaurasdkSetZone();
afx_msg void OnBnClickedButtonOpenaurasdkSetColorsLed();
afx_msg void OnBnClickedButtonOpenaurasdkSetColorsDevice();
};
#endif

View file

@ -57,6 +57,7 @@ public:
virtual int GetMode() = 0;
virtual void SetMode(int mode) = 0;
virtual void SetCustomMode() = 0;
virtual void SetAllLEDs(RGBColor color) = 0;
virtual void SetAllZoneLEDs(int zone, RGBColor color) = 0;
virtual void SetLED(int led, RGBColor color) = 0;

View file

@ -30,6 +30,11 @@ void RGBController_AorusGPU::SetMode(int mode)
}
void RGBController_AorusGPU::SetCustomMode()
{
}
void RGBController_AorusGPU::SetAllLEDs(RGBColor color)
{
data[9] = RGBGetRValue(color);

View file

@ -21,6 +21,7 @@ public:
RGBController_AorusGPU();
int GetMode();
void SetMode(int mode);
void SetCustomMode();
void SetAllLEDs(RGBColor color);
void SetAllZoneLEDs(int zone, RGBColor color);
void SetLED(int led, RGBColor color);

View file

@ -34,6 +34,11 @@ void RGBController_Aura::SetMode(int mode)
}
}
void RGBController_Aura::SetCustomMode()
{
aura->SetDirect(true);
}
void RGBController_Aura::SetAllLEDs(RGBColor color)
{
unsigned char red = RGBGetRValue(color);

View file

@ -18,6 +18,7 @@ public:
RGBController_Aura(AuraController* aura_ptr);
int GetMode();
void SetMode(int mode);
void SetCustomMode();
void SetAllLEDs(RGBColor color);
void SetAllZoneLEDs(int zone, RGBColor color);
void SetLED(int led, RGBColor color);

View file

@ -19,6 +19,11 @@ void RGBController_Corsair::SetMode(int mode)
corsair->SetMode(mode);
}
void RGBController_Corsair::SetCustomMode()
{
}
void RGBController_Corsair::SetAllLEDs(RGBColor color)
{
unsigned char red = RGBGetRValue(color);

View file

@ -18,6 +18,7 @@ public:
RGBController_Corsair(CorsairController* corsair_ptr);
int GetMode();
void SetMode(int mode);
void SetCustomMode();
void SetAllLEDs(RGBColor color);
void SetAllZoneLEDs(int zone, RGBColor color);
void SetLED(int led, RGBColor color);

View file

@ -114,6 +114,11 @@ void RGBController_OpenRazer::SetMode(int mode)
}
void RGBController_OpenRazer::SetCustomMode()
{
SetMode(RAZER_MODE_CUSTOM);
}
void RGBController_OpenRazer::SetAllLEDs(RGBColor color)
{
for(int i = 0; i < color_buffer.size(); i++)

View file

@ -18,6 +18,7 @@ public:
RGBController_OpenRazer(std::string dev_path);
int GetMode();
void SetMode(int mode);
void SetCustomMode();
void SetAllLEDs(RGBColor color);
void SetAllZoneLEDs(int zone, RGBColor color);
void SetLED(int led, RGBColor color);

Binary file not shown.

View file

@ -27,6 +27,8 @@
#define IDC_BUTTON_OPENAURASDK_SET_COLORS_ALL2 1021
#define IDC_BUTTON_OPENAURASDK_SET_COLORS_LED 1021
#define IDC_EDIT_OPENAURASDK_LED_1_G 1022
#define IDC_BUTTON_OPENAURASDK_SET_COLORS_ALL3 1022
#define IDC_BUTTON_OPENAURASDK_SET_COLORS_DEVICE 1022
#define IDC_EDIT_OPENAURASDK_LED_1_B 1023
#define IDC_EDIT_OPENAURASDK_LED_2_R 1024
#define IDC_EDIT_OPENAURASDK_LED_2_G 1025