summaryrefslogtreecommitdiff
path: root/Source/Plugins/InputPluginCommon/Src/ConfigDiagBitmaps.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Plugins/InputPluginCommon/Src/ConfigDiagBitmaps.cpp')
-rw-r--r--Source/Plugins/InputPluginCommon/Src/ConfigDiagBitmaps.cpp319
1 files changed, 0 insertions, 319 deletions
diff --git a/Source/Plugins/InputPluginCommon/Src/ConfigDiagBitmaps.cpp b/Source/Plugins/InputPluginCommon/Src/ConfigDiagBitmaps.cpp
deleted file mode 100644
index 17e7936009..0000000000
--- a/Source/Plugins/InputPluginCommon/Src/ConfigDiagBitmaps.cpp
+++ /dev/null
@@ -1,319 +0,0 @@
-// Copyright (C) 2010 Dolphin Project.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 2.0.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License 2.0 for more details.
-
-// A copy of the GPL 2.0 should have been included with the program.
-// If not, see http://www.gnu.org/licenses/
-
-// Official SVN repository and contact information can be found at
-// http://code.google.com/p/dolphin-emu/
-
-#include "ConfigDiag.h"
-
-void ConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
-{
-
- GamepadPage* const current_page = (GamepadPage*)m_pad_notebook->GetPage( m_pad_notebook->GetSelection() );
-
- std::vector< ControlGroupBox* >::iterator g = current_page->control_groups.begin(),
- ge = current_page->control_groups.end();
- for ( ; g != ge; ++g )
- {
- // if this control group has a bitmap
- if ( (*g)->static_bitmap )
- {
-
- // don't want game thread updating input when we are using it here
- if ( false == m_plugin.interface_crit.TryEnter() )
- return;
-
- //if ( false == is_game_running )
- // just always update
- m_plugin.controller_interface.UpdateInput();
-
- wxMemoryDC dc;
- wxBitmap bitmap((*g)->static_bitmap->GetBitmap());
- dc.SelectObject(bitmap);
- dc.Clear();
-
- // label for sticks and stuff
- if (64 == bitmap.GetHeight())
- {
- wxFont small_font(6, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD);
- dc.SetFont(small_font);
- dc.SetTextForeground(0xC0C0C0);
- dc.DrawText(wxString::FromAscii((*g)->control_group->name).Upper(), 4, 2);
- }
-
- switch ( (*g)->control_group->type )
- {
- case GROUP_TYPE_TILT :
- case GROUP_TYPE_STICK :
- case GROUP_TYPE_CURSOR :
- {
- // this is starting to be a mess combining all these in one case
-
- float x = 0, y = 0, z = 0;
- float xx, yy;
-
- switch ((*g)->control_group->type)
- {
- case GROUP_TYPE_STICK :
- ((ControllerEmu::AnalogStick*)(*g)->control_group)->GetState( &x, &y, 32.0, 32-1.5 );
- break;
- case GROUP_TYPE_TILT :
- ((ControllerEmu::Tilt*)(*g)->control_group)->GetState( &x, &y, 32.0, 32-1.5 );
- break;
- case GROUP_TYPE_CURSOR :
- ((ControllerEmu::Cursor*)(*g)->control_group)->GetState( &x, &y, &z );
- x *= (32-1.5); x+= 32;
- y *= (32-1.5); y+= 32;
- break;
- }
-
- xx = (*g)->control_group->controls[3]->control_ref->State();
- xx -= (*g)->control_group->controls[2]->control_ref->State();
- yy = (*g)->control_group->controls[1]->control_ref->State();
- yy -= (*g)->control_group->controls[0]->control_ref->State();
- xx *= 32 - 1; xx += 32;
- yy *= 32 - 1; yy += 32;
-
- // draw the shit
-
- // ir cursor forward movement
- if (GROUP_TYPE_CURSOR == (*g)->control_group->type)
- {
- if (z)
- {
- dc.SetPen(*wxRED_PEN);
- dc.SetBrush(*wxRED_BRUSH);
- }
- else
- {
- dc.SetPen(*wxGREY_PEN);
- dc.SetBrush(*wxGREY_BRUSH);
- }
- dc.DrawRectangle( 0, 31 - z*31, 64, 2);
- }
-
- // circle for visual aid for diagonal adjustment
- dc.SetPen(*wxLIGHT_GREY_PEN);
- dc.SetBrush(*wxWHITE_BRUSH);
- if ( GROUP_TYPE_STICK == (*g)->control_group->type )
- {
- dc.SetBrush(*wxTRANSPARENT_BRUSH);
- dc.DrawCircle( 32, 32, 32);
- }
- else
- dc.DrawRectangle( 16, 16, 32, 32 );
-
- if ( GROUP_TYPE_CURSOR != (*g)->control_group->type )
- {
- // deadzone circle
- dc.SetBrush(*wxLIGHT_GREY_BRUSH);
- dc.DrawCircle( 32, 32, ((*g)->control_group)->settings[0]->value * 32 );
- }
-
- // raw dot
- dc.SetPen(*wxGREY_PEN);
- dc.SetBrush(*wxGREY_BRUSH);
- // i like the dot better than the cross i think
- dc.DrawRectangle( xx - 2, yy - 2, 4, 4 );
- //dc.DrawRectangle( xx-1, 64-yy-4, 2, 8 );
- //dc.DrawRectangle( xx-4, 64-yy-1, 8, 2 );
-
- // adjusted dot
- if (x!=32 || y!=32)
- {
- dc.SetPen(*wxRED_PEN);
- dc.SetBrush(*wxRED_BRUSH);
- dc.DrawRectangle( x-2, 64-y-2, 4, 4 );
- // i like the dot better than the cross i think
- //dc.DrawRectangle( x-1, 64-y-4, 2, 8 );
- //dc.DrawRectangle( x-4, 64-y-1, 8, 2 );
- }
-
- }
- break;
- case GROUP_TYPE_FORCE :
- {
- float raw_dot[3];
- float adj_dot[3];
- const float deadzone = 32 * ((*g)->control_group)->settings[0]->value;
-
- // adjusted
- ((ControllerEmu::Force*)(*g)->control_group)->GetState( adj_dot, 32.0, 32-1.5 );
-
- // raw
- for ( unsigned int i=0; i<3; ++i )
- {
- raw_dot[i] = (*g)->control_group->controls[i*2 + 1]->control_ref->State()
- - (*g)->control_group->controls[i*2]->control_ref->State();
- raw_dot[i] *= 32 - 1; raw_dot[i] += 32;
- }
-
- // deadzone rect for forward/backward visual
- dc.SetBrush(*wxLIGHT_GREY_BRUSH);
- dc.SetPen(*wxLIGHT_GREY_PEN);
- dc.DrawRectangle( 0, 32 - deadzone, 64, deadzone * 2 );
-
- // raw forward/background line
- dc.SetPen(*wxGREY_PEN);
- dc.SetBrush(*wxGREY_BRUSH);
- dc.DrawRectangle( 0, raw_dot[2] - 1, 64, 2 );
-
- // adjusted forward/background line
- if ( adj_dot[2]!=32 )
- {
- dc.SetPen(*wxRED_PEN);
- dc.SetBrush(*wxRED_BRUSH);
- dc.DrawRectangle( 0, adj_dot[2] - 1, 64, 2 );
- }
-
- // a rectangle, for looks i guess
- dc.SetBrush(*wxWHITE_BRUSH);
- dc.SetPen(*wxLIGHT_GREY_PEN);
- dc.DrawRectangle( 16, 16, 32, 32 );
-
- // deadzone square
- dc.SetBrush(*wxLIGHT_GREY_BRUSH);
- dc.DrawRectangle( 32 - deadzone, 32 - deadzone, deadzone * 2, deadzone * 2 );
-
- // raw dot
- dc.SetPen(*wxGREY_PEN);
- dc.SetBrush(*wxGREY_BRUSH);
- dc.DrawRectangle( raw_dot[1] - 2, raw_dot[0] - 2, 4, 4 );
-
- // adjusted dot
- if ( adj_dot[1]!=32 || adj_dot[0]!=32 )
- {
- dc.SetPen(*wxRED_PEN);
- dc.SetBrush(*wxRED_BRUSH);
- dc.DrawRectangle( adj_dot[1]-2, adj_dot[0]-2, 4, 4 );
- }
-
- }
- break;
- case GROUP_TYPE_BUTTONS :
- {
- const unsigned int button_count = ((unsigned int)(*g)->control_group->controls.size());
-
- // draw the shit
- dc.SetPen(*wxGREY_PEN);
-
- unsigned int * const bitmasks = new unsigned int[ button_count ];
- for ( unsigned int n = 0; n<button_count; ++n )
- bitmasks[n] = ( 1 << n );
-
- unsigned int buttons = 0;
- ((ControllerEmu::Buttons*)(*g)->control_group)->GetState( &buttons, bitmasks );
-
- for ( unsigned int n = 0; n<button_count; ++n )
- {
- if ( buttons & bitmasks[n] )
- dc.SetBrush( *wxRED_BRUSH );
- else
- {
- unsigned char amt = 255 - (*g)->control_group->controls[n]->control_ref->State() * 128;
- dc.SetBrush( wxBrush( wxColor( amt, amt, amt ) ) );
- }
- dc.DrawRectangle(n*12, 0, 14, 12);
- }
-
- delete[] bitmasks;
-
- }
- break;
- case GROUP_TYPE_TRIGGERS :
- {
- const unsigned int trigger_count = ((unsigned int)((*g)->control_group->controls.size()));
-
- // draw the shit
- dc.SetPen(*wxGREY_PEN);
- ControlState deadzone = (*g)->control_group->settings[0]->value;
-
- unsigned int* const trigs = new unsigned int[trigger_count];
- ((ControllerEmu::Triggers*)(*g)->control_group)->GetState( trigs, 64 );
-
- for ( unsigned int n = 0; n < trigger_count; ++n )
- {
- ControlState trig_r = (*g)->control_group->controls[n]->control_ref->State();
-
- // outline
- dc.SetPen(*wxGREY_PEN);
- dc.SetBrush(*wxWHITE_BRUSH);
- dc.DrawRectangle(0, n*12, 64, 14);
-
- // raw
- dc.SetBrush(*wxGREY_BRUSH);
- dc.DrawRectangle(0, n*12, trig_r*64, 14);
-
- // deadzone affected
- dc.SetBrush(*wxRED_BRUSH);
- dc.DrawRectangle(0, n*12, trigs[n], 14);
- }
-
- delete[] trigs;
-
- // deadzone box
- dc.SetPen(*wxLIGHT_GREY_PEN);
- dc.SetBrush(*wxTRANSPARENT_BRUSH);
- dc.DrawRectangle(0, 0, deadzone*64, trigger_count*14);
-
- }
- break;
- case GROUP_TYPE_MIXED_TRIGGERS :
- {
- const unsigned int trigger_count = ((unsigned int)((*g)->control_group->controls.size() / 2));
-
- // draw the shit
- dc.SetPen(*wxGREY_PEN);
- ControlState thresh = (*g)->control_group->settings[0]->value;
-
- for ( unsigned int n = 0; n < trigger_count; ++n )
- {
- dc.SetBrush(*wxRED_BRUSH);
- ControlState trig_d = (*g)->control_group->controls[n]->control_ref->State();
-
- ControlState trig_a = trig_d > thresh ? 1
- : (*g)->control_group->controls[n+trigger_count]->control_ref->State();
-
- dc.DrawRectangle(0, n*12, 64+20, 14);
- if ( trig_d <= thresh )
- dc.SetBrush(*wxWHITE_BRUSH);
- dc.DrawRectangle(trig_a*64, n*12, 64+20, 14);
- dc.DrawRectangle(64, n*12, 32, 14);
- }
-
- // threshold box
- dc.SetPen(*wxLIGHT_GREY_PEN);
- dc.SetBrush(*wxTRANSPARENT_BRUSH);
- dc.DrawRectangle(thresh*64, 0, 128, trigger_count*14);
-
- }
- break;
- default :
- break;
- }
-
- // box outline
- // Windows XP color
- dc.SetPen(wxPen(_T("#7f9db9")));
- dc.SetBrush(*wxTRANSPARENT_BRUSH);
- dc.DrawRectangle(0, 0, bitmap.GetWidth(), bitmap.GetHeight());
-
- dc.SelectObject(wxNullBitmap);
- (*g)->static_bitmap->SetBitmap(bitmap);
-
- m_plugin.interface_crit.Leave();
- }
- }
-
-}