[dasher] OneDimensionalFilter: use input X coord, if non-zero, to reduce radius
- From: Patrick Welche <pwelche src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dasher] OneDimensionalFilter: use input X coord, if non-zero, to reduce radius
- Date: Tue, 18 Jan 2011 17:16:40 +0000 (UTC)
commit c66716505c4c6054dab1498febcf26291c287965
Author: Alan Lawrence <acl33 inf phy cam ac uk>
Date: Wed Nov 17 18:11:28 2010 +0000
OneDimensionalFilter: use input X coord, if non-zero, to reduce radius
Src/DasherCore/OneDimensionalFilter.cpp | 12 ++++++++++--
Src/DasherCore/OneDimensionalFilter.h | 5 +++++
2 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/Src/DasherCore/OneDimensionalFilter.cpp b/Src/DasherCore/OneDimensionalFilter.cpp
index 2f374fe..be80d6e 100644
--- a/Src/DasherCore/OneDimensionalFilter.cpp
+++ b/Src/DasherCore/OneDimensionalFilter.cpp
@@ -8,9 +8,14 @@ using namespace Dasher;
}*/
COneDimensionalFilter::COneDimensionalFilter(Dasher::CEventHandler * pEventHandler, CSettingsStore *pSettingsStore, CDasherInterfaceBase *pInterface, ModuleID_t iID, const char *szName)
- : CDefaultFilter(pEventHandler, pSettingsStore, pInterface, iID, szName) {
+ : CDefaultFilter(pEventHandler, pSettingsStore, pInterface, iID, szName), forwardmax(GetLongParameter(LP_MAX_Y)/2.5) {
}
+bool COneDimensionalFilter::Timer(int Time, CDasherView *pView, CDasherModel *pModel, Dasher::VECTOR_SYMBOL_PROB *pAdded, int *pNumDeleted, CExpansionPolicy **pol) {
+ myint iDasherMinX,iDasherMaxY,iDasherMinY;
+ pView->VisibleRegion(iDasherMinX, iDasherMinY, m_iDasherMaxX, iDasherMaxY);
+ return CDefaultFilter::Timer(Time,pView,pModel,pAdded,pNumDeleted,pol);
+}
void COneDimensionalFilter::ApplyTransform(myint &iDasherX, myint &iDasherY) {
@@ -19,7 +24,7 @@ void COneDimensionalFilter::ApplyTransform(myint &iDasherX, myint &iDasherY) {
// The distance between the Y coordinate and the centreline in pixels
disty=(myint)GetLongParameter(LP_OY)-iDasherY;
- circlesize= (myint)GetLongParameter(LP_MAX_Y)/2.5;
+ circlesize= forwardmax*(1.0-max(0.0,min(1.0,(double)iDasherX/m_iDasherMaxX)));
yforwardrange= (myint)GetLongParameter(LP_MAX_Y)/3.2; // Was 1.6
yfullrange= yforwardrange*1.6;
ybackrange= yfullrange-yforwardrange;
@@ -67,3 +72,6 @@ void COneDimensionalFilter::ApplyTransform(myint &iDasherX, myint &iDasherY) {
iDasherX = myint(x);
}
+bool COneDimensionalFilter::GetSettings(SModuleSettings **pSettings, int *iCount) {
+ return false;
+}
\ No newline at end of file
diff --git a/Src/DasherCore/OneDimensionalFilter.h b/Src/DasherCore/OneDimensionalFilter.h
index 9422635..6d21e1c 100644
--- a/Src/DasherCore/OneDimensionalFilter.h
+++ b/Src/DasherCore/OneDimensionalFilter.h
@@ -10,8 +10,13 @@ class COneDimensionalFilter : public CDefaultFilter {
public:
// COneDimensionalFilter(Dasher::CEventHandler * pEventHandler, CSettingsStore *pSettingsStore, CDasherInterfaceBase *pInterface, CDasherModel *m_pDasherModel);
COneDimensionalFilter(Dasher::CEventHandler * pEventHandler, CSettingsStore *pSettingsStore, CDasherInterfaceBase *pInterface, ModuleID_t iID = 4, const char *szName = _("One Dimensional Mode"));
+ bool Timer(int Time, CDasherView *m_pDasherView, CDasherModel *m_pDasherModel, Dasher::VECTOR_SYMBOL_PROB *pAdded, int *pNumDeleted, CExpansionPolicy **pol);
+ ///Override to remove DefaultFilters BP_REMAP_XTREME, BP_AUTOCALIBRATE, LP_OFFSET
+ bool GetSettings(SModuleSettings **pSettings, int *iCount);
protected:
virtual void ApplyTransform(myint &iDasherX, myint &iDasherY);
+ const myint forwardmax;
+ myint m_iDasherMaxX;
};
}
/// @}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]