mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-26 23:59:54 -06:00
Allows you to drag the input for the analogs.
This commit is contained in:
@ -54,7 +54,8 @@ TASInputDlg::TASInputDlg(wxWindow *parent, wxWindowID id, const wxString &title,
|
|||||||
wxBoxSizer* const main_stick_box = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* const main_stick_box = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
static_bitmap_main = new wxStaticBitmap(this, ID_MAIN_STICK, TASInputDlg::CreateStickBitmap(128,128), wxDefaultPosition, wxDefaultSize);
|
static_bitmap_main = new wxStaticBitmap(this, ID_MAIN_STICK, TASInputDlg::CreateStickBitmap(128,128), wxDefaultPosition, wxDefaultSize);
|
||||||
static_bitmap_main->Connect(wxEVT_LEFT_UP, wxMouseEventHandler(TASInputDlg::OnMouseUpL), NULL, this);
|
static_bitmap_main->Connect(wxEVT_MOTION, wxMouseEventHandler(TASInputDlg::OnMouseDownL), NULL, this);
|
||||||
|
static_bitmap_main->Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(TASInputDlg::OnMouseDownL), NULL, this);
|
||||||
static_bitmap_main->Connect(wxEVT_RIGHT_UP, wxMouseEventHandler(TASInputDlg::OnMouseUpR), NULL, this);
|
static_bitmap_main->Connect(wxEVT_RIGHT_UP, wxMouseEventHandler(TASInputDlg::OnMouseUpR), NULL, this);
|
||||||
wx_mainX_s = new wxSlider(this, ID_MAIN_X_SLIDER, 128, 0, 255, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
|
wx_mainX_s = new wxSlider(this, ID_MAIN_X_SLIDER, 128, 0, 255, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
|
||||||
wx_mainX_s->SetMinSize(wxSize(120,-1));
|
wx_mainX_s->SetMinSize(wxSize(120,-1));
|
||||||
@ -80,7 +81,8 @@ TASInputDlg::TASInputDlg(wxWindow *parent, wxWindowID id, const wxString &title,
|
|||||||
wxBoxSizer* const c_stick_box = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* const c_stick_box = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
static_bitmap_c = new wxStaticBitmap(this, ID_C_STICK, TASInputDlg::CreateStickBitmap(128,128), wxDefaultPosition, wxDefaultSize);
|
static_bitmap_c = new wxStaticBitmap(this, ID_C_STICK, TASInputDlg::CreateStickBitmap(128,128), wxDefaultPosition, wxDefaultSize);
|
||||||
static_bitmap_c->Connect(wxEVT_LEFT_UP, wxMouseEventHandler(TASInputDlg::OnMouseUpL), NULL, this);
|
static_bitmap_c->Connect(wxEVT_MOTION, wxMouseEventHandler(TASInputDlg::OnMouseDownL), NULL, this);
|
||||||
|
static_bitmap_c->Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(TASInputDlg::OnMouseDownL), NULL, this);
|
||||||
static_bitmap_c->Connect(wxEVT_RIGHT_UP, wxMouseEventHandler(TASInputDlg::OnMouseUpR), NULL, this);
|
static_bitmap_c->Connect(wxEVT_RIGHT_UP, wxMouseEventHandler(TASInputDlg::OnMouseUpR), NULL, this);
|
||||||
wx_cX_s = new wxSlider(this, ID_C_X_SLIDER, 128, 0, 255, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
|
wx_cX_s = new wxSlider(this, ID_C_X_SLIDER, 128, 0, 255, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL);
|
||||||
wx_cX_s->SetMinSize(wxSize(120,-1));
|
wx_cX_s->SetMinSize(wxSize(120,-1));
|
||||||
@ -766,8 +768,11 @@ void TASInputDlg::OnMouseUpR(wxMouseEvent& event)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TASInputDlg::OnMouseUpL(wxMouseEvent& event)
|
void TASInputDlg::OnMouseDownL(wxMouseEvent& event)
|
||||||
{
|
{
|
||||||
|
if(!event.LeftIsDown())
|
||||||
|
return;
|
||||||
|
|
||||||
wxSlider *sliderX,*sliderY;
|
wxSlider *sliderX,*sliderY;
|
||||||
wxStaticBitmap *sbitmap;
|
wxStaticBitmap *sbitmap;
|
||||||
wxTextCtrl *textX, *textY;
|
wxTextCtrl *textX, *textY;
|
||||||
@ -799,6 +804,7 @@ void TASInputDlg::OnMouseUpL(wxMouseEvent& event)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxPoint ptM(event.GetPosition());
|
wxPoint ptM(event.GetPosition());
|
||||||
*x = ptM.x *2;
|
*x = ptM.x *2;
|
||||||
*y = ptM.y * 2;
|
*y = ptM.y * 2;
|
||||||
@ -806,9 +812,15 @@ void TASInputDlg::OnMouseUpL(wxMouseEvent& event)
|
|||||||
if(*x > 255)
|
if(*x > 255)
|
||||||
*x = 255;
|
*x = 255;
|
||||||
|
|
||||||
|
if(*x < 0)
|
||||||
|
*x =0;
|
||||||
|
|
||||||
if(*y > 255)
|
if(*y > 255)
|
||||||
*y = 255;
|
*y = 255;
|
||||||
|
|
||||||
|
if(*y <0)
|
||||||
|
*y = 0;
|
||||||
|
|
||||||
sbitmap->SetBitmap(TASInputDlg::CreateStickBitmap(*x,*y));
|
sbitmap->SetBitmap(TASInputDlg::CreateStickBitmap(*x,*y));
|
||||||
|
|
||||||
textX->SetValue(wxString::Format(wxT("%i"), *x));
|
textX->SetValue(wxString::Format(wxT("%i"), *x));
|
||||||
|
@ -37,7 +37,7 @@ class TASInputDlg : public wxDialog
|
|||||||
void OnCloseWindow(wxCloseEvent& event);
|
void OnCloseWindow(wxCloseEvent& event);
|
||||||
void UpdateFromSliders(wxCommandEvent& event);
|
void UpdateFromSliders(wxCommandEvent& event);
|
||||||
void UpdateFromText(wxCommandEvent& event);
|
void UpdateFromText(wxCommandEvent& event);
|
||||||
void OnMouseUpL(wxMouseEvent& event);
|
void OnMouseDownL(wxMouseEvent& event);
|
||||||
void OnMouseUpR(wxMouseEvent& event);
|
void OnMouseUpR(wxMouseEvent& event);
|
||||||
void ResetValues();
|
void ResetValues();
|
||||||
void GetValues(SPADStatus *PadStatus, int controllerID);
|
void GetValues(SPADStatus *PadStatus, int controllerID);
|
||||||
|
Reference in New Issue
Block a user