Skip to content

Commit 073f3e8

Browse files
committed
Replacing BP_MOUSEPOS_MODE and BP_CIRCLE_START with LP_START_MODE
1 parent aaab745 commit 073f3e8

5 files changed

Lines changed: 24 additions & 20 deletions

File tree

Src/DasherCore/DefaultFilter.cpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "CircleStartHandler.h"
1010
#include "DasherTypes.h"
1111
#include "ModuleSettings.h"
12+
#include "Parameters.h"
1213
#include "TwoBoxStartHandler.h"
1314

1415
using namespace Dasher;
@@ -38,7 +39,7 @@ static SModuleSettings sSettings[] = {
3839

3940
void CDefaultFilter::GetUISettings(std::vector<Dasher::Parameter>& List) {
4041
CDynamicFilter::GetUISettings(List);
41-
AddSettings(List, {BP_DRAW_MOUSE_LINE,BP_DRAW_MOUSE,BP_CURVE_MOUSE_LINE,BP_START_MOUSE,BP_START_SPACE,BP_MOUSEPOS_MODE,BP_TURBO_MODE,BP_AUTOCALIBRATE,BP_REMAP_XTREME,BP_CIRCLE_START,BP_STOP_OUTSIDE,LP_LINE_WIDTH,LP_TARGET_OFFSET,LP_GEOMETRY});
42+
AddSettings(List, {BP_DRAW_MOUSE_LINE,BP_DRAW_MOUSE,BP_CURVE_MOUSE_LINE,BP_START_MOUSE,BP_START_SPACE,BP_TURBO_MODE,BP_AUTOCALIBRATE,BP_REMAP_XTREME,LP_START_MODE,BP_STOP_OUTSIDE,LP_LINE_WIDTH,LP_TARGET_OFFSET,LP_GEOMETRY});
4243
}
4344

4445
bool CDefaultFilter::GetSettings(SModuleSettings** sets, int* iCount)
@@ -66,8 +67,7 @@ CDefaultFilter::CDefaultFilter(CSettingsStore* pSettingsStore, CDasherInterfaceB
6667
{
6768
switch (p)
6869
{
69-
case BP_CIRCLE_START:
70-
case BP_MOUSEPOS_MODE:
70+
case LP_START_MODE:
7171
CreateStartHandler();
7272
break;
7373
case BP_TURBO_MODE:
@@ -275,11 +275,14 @@ void CDefaultFilter::Deactivate()
275275

276276
CStartHandler* CDefaultFilter::MakeStartHandler()
277277
{
278-
if (m_pSettingsStore->GetBoolParameter(BP_CIRCLE_START))
279-
return new CCircleStartHandler(this);
280-
if (m_pSettingsStore->GetBoolParameter(BP_MOUSEPOS_MODE))
281-
return new CTwoBoxStartHandler(this, m_pSettingsStore);
282-
return NULL;
278+
switch (m_pSettingsStore->GetLongParameter(LP_START_MODE)) {
279+
case Dasher::Options::StartMode::circle_start:
280+
return new CCircleStartHandler(this);
281+
case Dasher::Options::StartMode::mouse_pos_start:
282+
return new CTwoBoxStartHandler(this, m_pSettingsStore);
283+
default:
284+
return nullptr;
285+
}
283286
}
284287

285288
double xmax(double y)

Src/DasherCore/OneDimensionalFilter.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,12 @@ bool COneDimensionalFilter::GetSettings(SModuleSettings **pSettings, int *iCount
103103
}
104104

105105
CStartHandler *COneDimensionalFilter::MakeStartHandler() {
106-
if (m_pSettingsStore->GetBoolParameter(BP_CIRCLE_START)) {
107-
108-
return new C1DCircleStartHandler(this, m_pSettingsStore);
106+
switch (m_pSettingsStore->GetLongParameter(LP_START_MODE)) {
107+
case Dasher::Options::StartMode::circle_start:
108+
return new C1DCircleStartHandler(this, m_pSettingsStore);
109+
default:
110+
return CDefaultFilter::MakeStartHandler();
109111
}
110-
return CDefaultFilter::MakeStartHandler();
111112
}
112113

113114
C1DCircleStartHandler::C1DCircleStartHandler(COneDimensionalFilter* f, CSettingsStore* pSettingsStore): CCircleStartHandler(f), m_pSettingsStore(pSettingsStore)

Src/DasherCore/Parameters.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ namespace Dasher{
1111
{BP_CURVE_MOUSE_LINE , Parameter_Value{"CurveMouseLine" , PARAM_BOOL, Persistence::PERSISTENT, false, "Curve mouse line according to screen nonlinearity", "", Settings::UIControlType::Switch}},
1212
{BP_START_MOUSE , Parameter_Value{"StartOnLeft" , PARAM_BOOL, Persistence::PERSISTENT, true , "StartOnLeft", "", Settings::UIControlType::Switch}},
1313
{BP_START_SPACE , Parameter_Value{"StartOnSpace" , PARAM_BOOL, Persistence::PERSISTENT, false, "StartOnSpace", "", Settings::UIControlType::Switch}},
14-
{BP_MOUSEPOS_MODE , Parameter_Value{"StartOnMousePosition" , PARAM_BOOL, Persistence::PERSISTENT, false, "StartOnMousePosition", "", Settings::UIControlType::Switch}},
1514
{BP_PALETTE_CHANGE , Parameter_Value{"PaletteChange" , PARAM_BOOL, Persistence::PERSISTENT, false , "Switch from color palette in setting automatically to the one provided in the alphabet"}},
1615
{BP_TURBO_MODE , Parameter_Value{"TurboMode" , PARAM_BOOL, Persistence::PERSISTENT, true , "Boost speed when holding key1 or right mouse button", "", Settings::UIControlType::Switch}},
1716
{BP_SMOOTH_PRESS_MODE , Parameter_Value{"SmoothPressMode" , PARAM_BOOL, Persistence::PERSISTENT, true , "Use Press-Input in the Smoothing-Input-Filter", "", Settings::UIControlType::Switch}},
@@ -23,7 +22,6 @@ namespace Dasher{
2322
{BP_REMAP_XTREME , Parameter_Value{"RemapXtreme" , PARAM_BOOL, Persistence::PERSISTENT, false, "Pointer at extreme Y translates more and zooms less", "", Settings::UIControlType::Switch}},
2423
{BP_AUTO_SPEEDCONTROL , Parameter_Value{"AutoSpeedControl" , PARAM_BOOL, Persistence::PERSISTENT, true , "AutoSpeedControl", "", Settings::UIControlType::Switch}},
2524
{BP_LM_ADAPTIVE , Parameter_Value{"LMAdaptive" , PARAM_BOOL, Persistence::PERSISTENT, true , "Whether language model should learn as you enter text"}},
26-
{BP_CIRCLE_START , Parameter_Value{"CircleStart" , PARAM_BOOL, Persistence::PERSISTENT, false, "Start on circle mode", "", Settings::UIControlType::Switch}},
2725
{BP_NONLINEAR_Y , Parameter_Value{"NonlinearY" , PARAM_BOOL, Persistence::PERSISTENT, true , "Apply nonlinearities to Y axis (i.e. compress top &amp; bottom)"}},
2826
{BP_STOP_OUTSIDE , Parameter_Value{"PauseOutside" , PARAM_BOOL, Persistence::PERSISTENT, false, "Whether to stop when pointer leaves canvas area", "", Settings::UIControlType::Switch}},
2927
#ifdef TARGET_OS_IPHONE
@@ -48,6 +46,11 @@ namespace Dasher{
4846
{LP_DASHER_FONTSIZE , Parameter_Value{ "DasherFontSize" , PARAM_LONG, Persistence::PERSISTENT, 22l , "Font size reached at crosshair (in points)"}},
4947
{LP_MESSAGE_FONTSIZE , Parameter_Value{ "MessageFontSize" , PARAM_LONG, Persistence::PERSISTENT, 14l , "Size of font for messages (in points)"}},
5048
{LP_SHAPE_TYPE , Parameter_Value{ "RenderStyle" , PARAM_LONG, Persistence::PERSISTENT, static_cast<long>(Options::OVERLAPPING_RECTANGLE), "Shapes to render in (see Options::Rendering_Shape_Types)"}},
49+
{LP_START_MODE , Parameter_Value{ "StartMode" , PARAM_LONG, Persistence::PERSISTENT, static_cast<long>(Options::StartMode::none), "Movement Starting Mode", "", Settings::UIControlType::Enum, {
50+
{"None", Options::StartMode::none},
51+
{"Circle Start", Options::StartMode::circle_start},
52+
{"Mouse Positon Start", Options::StartMode::mouse_pos_start}
53+
}}},
5154
{LP_UNIFORM , Parameter_Value{ "UniformTimes1000" , PARAM_LONG, Persistence::PERSISTENT, 50l , "UniformTimes1000"}},
5255
{LP_MOUSEPOSDIST , Parameter_Value{ "MousePositionBoxDistance" , PARAM_LONG, Persistence::PERSISTENT, 50l , "MousePositionBoxDistance"}},
5356
{LP_PY_PROB_SORT_THRES , Parameter_Value{ "PYProbabilitySortThreshold", PARAM_LONG, Persistence::PERSISTENT, 85l , "Sort converted syms in descending probability order up to this percentage"}},

Src/DasherCore/Parameters.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,10 @@ namespace Dasher
1313
BP_DRAW_MOUSE_LINE, BP_DRAW_MOUSE, BP_CURVE_MOUSE_LINE,
1414
BP_START_MOUSE,
1515
BP_START_SPACE, BP_SMOOTH_PRESS_MODE, BP_SMOOTH_ONLY_FORWARD, BP_SMOOTH_DRAW_MOUSE, BP_SMOOTH_DRAW_MOUSE_LINE,
16-
BP_MOUSEPOS_MODE,
1716
BP_PALETTE_CHANGE, BP_TURBO_MODE, BP_EXACT_DYNAMICS,
1817
BP_AUTOCALIBRATE, BP_REMAP_XTREME,
1918
BP_AUTO_SPEEDCONTROL,
20-
BP_LM_ADAPTIVE,
21-
BP_CIRCLE_START, BP_NONLINEAR_Y,
19+
BP_LM_ADAPTIVE, BP_NONLINEAR_Y,
2220
BP_STOP_OUTSIDE, BP_BACKOFF_BUTTON,
2321
BP_TWOBUTTON_REVERSE, BP_2B_INVERT_DOUBLE, BP_SLOW_START,
2422
BP_COPY_ALL_ON_STOP, BP_SPEAK_ALL_ON_STOP, BP_SPEAK_WORDS,
@@ -27,7 +25,7 @@ namespace Dasher
2725
END_OF_BPS,
2826

2927
LP_ORIENTATION, LP_MAX_BITRATE, LP_FRAMERATE,
30-
LP_LANGUAGE_MODEL_ID, LP_DASHER_FONTSIZE, LP_MESSAGE_FONTSIZE, LP_SHAPE_TYPE,
28+
LP_LANGUAGE_MODEL_ID, LP_DASHER_FONTSIZE, LP_MESSAGE_FONTSIZE, LP_SHAPE_TYPE, LP_START_MODE,
3129
LP_UNIFORM, LP_MOUSEPOSDIST, LP_PY_PROB_SORT_THRES, LP_MESSAGE_TIME,
3230
LP_LM_MAX_ORDER, LP_LM_EXCLUSION,
3331
LP_LM_UPDATE_EXCLUSION, LP_LM_ALPHA, LP_LM_BETA,

Src/DasherCore/StylusFilter.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ void CStylusFilter::GetUISettings(std::vector<Dasher::Parameter>& List) {
1313
CDefaultFilter::GetUISettings(List);
1414
AddSettings(List, {LP_ZOOMSTEPS, LP_S, LP_MAXZOOM, LP_TAP_TIME});
1515

16-
RemoveDeclaredSetting(List, Dasher::Parameter::BP_MOUSEPOS_MODE);
17-
RemoveDeclaredSetting(List, Dasher::Parameter::BP_CIRCLE_START);
16+
RemoveDeclaredSetting(List, Dasher::Parameter::LP_START_MODE);
1817
}
1918

2019
CStylusFilter::CStylusFilter(CSettingsStore* pSettingsStore, CDasherInterfaceBase *pInterface, CFrameRate *pFramerate, const char *szName)

0 commit comments

Comments
 (0)