Browse Source

Removed the GuiFilterCtrl

The GuiFilterCtrl appears to be an ancient way to plot a graph. We have far more sophisticated tools to do such things now.
Peter Robinson 3 years ago
parent
commit
d6a6a0b231

+ 0 - 2
engine/compilers/VisualStudio 2017/Torque 2D.vcxproj

@@ -832,7 +832,6 @@
     <ClCompile Include="..\..\source\gui\containers\guiWindowCtrl.cc" />
     <ClCompile Include="..\..\source\gui\containers\guiWindowCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiDebugger.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiDebugger.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiEditCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiEditCtrl.cc" />
-    <ClCompile Include="..\..\source\gui\editor\guiFilterCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiGraphCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiGraphCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiInspector.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiInspector.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiInspectorTypes.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiInspectorTypes.cc" />
@@ -1412,7 +1411,6 @@
     <ClInclude Include="..\..\source\gui\containers\guiWindowCtrl.h" />
     <ClInclude Include="..\..\source\gui\containers\guiWindowCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiDebugger.h" />
     <ClInclude Include="..\..\source\gui\editor\guiDebugger.h" />
     <ClInclude Include="..\..\source\gui\editor\guiEditCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiEditCtrl.h" />
-    <ClInclude Include="..\..\source\gui\editor\guiFilterCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiGraphCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiGraphCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiInspector.h" />
     <ClInclude Include="..\..\source\gui\editor\guiInspector.h" />
     <ClInclude Include="..\..\source\gui\editor\guiInspectorTypes.h" />
     <ClInclude Include="..\..\source\gui\editor\guiInspectorTypes.h" />

+ 0 - 6
engine/compilers/VisualStudio 2017/Torque 2D.vcxproj.filters

@@ -480,9 +480,6 @@
     <ClCompile Include="..\..\source\gui\editor\guiEditCtrl.cc">
     <ClCompile Include="..\..\source\gui\editor\guiEditCtrl.cc">
       <Filter>gui\editor</Filter>
       <Filter>gui\editor</Filter>
     </ClCompile>
     </ClCompile>
-    <ClCompile Include="..\..\source\gui\editor\guiFilterCtrl.cc">
-      <Filter>gui\editor</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\source\gui\editor\guiGraphCtrl.cc">
     <ClCompile Include="..\..\source\gui\editor\guiGraphCtrl.cc">
       <Filter>gui\editor</Filter>
       <Filter>gui\editor</Filter>
     </ClCompile>
     </ClCompile>
@@ -1629,9 +1626,6 @@
     <ClInclude Include="..\..\source\gui\editor\guiEditCtrl.h">
     <ClInclude Include="..\..\source\gui\editor\guiEditCtrl.h">
       <Filter>gui\editor</Filter>
       <Filter>gui\editor</Filter>
     </ClInclude>
     </ClInclude>
-    <ClInclude Include="..\..\source\gui\editor\guiFilterCtrl.h">
-      <Filter>gui\editor</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\source\gui\editor\guiGraphCtrl.h">
     <ClInclude Include="..\..\source\gui\editor\guiGraphCtrl.h">
       <Filter>gui\editor</Filter>
       <Filter>gui\editor</Filter>
     </ClInclude>
     </ClInclude>

+ 0 - 2
engine/compilers/VisualStudio 2019/Torque 2D.vcxproj

@@ -836,7 +836,6 @@
     <ClCompile Include="..\..\source\gui\containers\guiWindowCtrl.cc" />
     <ClCompile Include="..\..\source\gui\containers\guiWindowCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiDebugger.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiDebugger.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiEditCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiEditCtrl.cc" />
-    <ClCompile Include="..\..\source\gui\editor\guiFilterCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiGraphCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiGraphCtrl.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiInspector.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiInspector.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiInspectorTypes.cc" />
     <ClCompile Include="..\..\source\gui\editor\guiInspectorTypes.cc" />
@@ -1416,7 +1415,6 @@
     <ClInclude Include="..\..\source\gui\containers\guiWindowCtrl.h" />
     <ClInclude Include="..\..\source\gui\containers\guiWindowCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiDebugger.h" />
     <ClInclude Include="..\..\source\gui\editor\guiDebugger.h" />
     <ClInclude Include="..\..\source\gui\editor\guiEditCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiEditCtrl.h" />
-    <ClInclude Include="..\..\source\gui\editor\guiFilterCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiGraphCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiGraphCtrl.h" />
     <ClInclude Include="..\..\source\gui\editor\guiInspector.h" />
     <ClInclude Include="..\..\source\gui\editor\guiInspector.h" />
     <ClInclude Include="..\..\source\gui\editor\guiInspectorTypes.h" />
     <ClInclude Include="..\..\source\gui\editor\guiInspectorTypes.h" />

+ 0 - 6
engine/compilers/VisualStudio 2019/Torque 2D.vcxproj.filters

@@ -480,9 +480,6 @@
     <ClCompile Include="..\..\source\gui\editor\guiEditCtrl.cc">
     <ClCompile Include="..\..\source\gui\editor\guiEditCtrl.cc">
       <Filter>gui\editor</Filter>
       <Filter>gui\editor</Filter>
     </ClCompile>
     </ClCompile>
-    <ClCompile Include="..\..\source\gui\editor\guiFilterCtrl.cc">
-      <Filter>gui\editor</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\source\gui\editor\guiGraphCtrl.cc">
     <ClCompile Include="..\..\source\gui\editor\guiGraphCtrl.cc">
       <Filter>gui\editor</Filter>
       <Filter>gui\editor</Filter>
     </ClCompile>
     </ClCompile>
@@ -1629,9 +1626,6 @@
     <ClInclude Include="..\..\source\gui\editor\guiEditCtrl.h">
     <ClInclude Include="..\..\source\gui\editor\guiEditCtrl.h">
       <Filter>gui\editor</Filter>
       <Filter>gui\editor</Filter>
     </ClInclude>
     </ClInclude>
-    <ClInclude Include="..\..\source\gui\editor\guiFilterCtrl.h">
-      <Filter>gui\editor</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\source\gui\editor\guiGraphCtrl.h">
     <ClInclude Include="..\..\source\gui\editor\guiGraphCtrl.h">
       <Filter>gui\editor</Filter>
       <Filter>gui\editor</Filter>
     </ClInclude>
     </ClInclude>

+ 0 - 296
engine/source/gui/editor/guiFilterCtrl.cc

@@ -1,296 +0,0 @@
-//-----------------------------------------------------------------------------
-// Copyright (c) 2013 GarageGames, LLC
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to
-// deal in the Software without restriction, including without limitation the
-// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-// IN THE SOFTWARE.
-//-----------------------------------------------------------------------------
-
-#include "console/console.h"
-#include "console/consoleTypes.h"
-#include "graphics/dgl.h"
-#include "graphics/TextureManager.h"
-#include "gui/editor/guiFilterCtrl.h"
-#include "platform/event.h"
-#include "math/mMath.h"
-
-IMPLEMENT_CONOBJECT(GuiFilterCtrl);
-
-GuiFilterCtrl::GuiFilterCtrl()
-{
-   mControlPointRequest = 7;
-   mFilter.setSize(7);
-   identity();
-}
-
-
-void GuiFilterCtrl::initPersistFields()
-{
-   Parent::initPersistFields();
-   addField("controlPoints", TypeS32, Offset(mControlPointRequest, GuiFilterCtrl));
-   addField("filter", TypeF32Vector, Offset(mFilter, GuiFilterCtrl));
-}
-
-ConsoleMethod( GuiFilterCtrl, getValue, const char*, 2, 2, "() Use the getValue method to get all the values in the filter.\n"
-																"@return Returns a n-tuple floating-point vector of values for each knot (left to right)")
-{
-   static char buffer[512];
-   const Filter *filter = object->get();
-   *buffer = 0;
-
-   for (U32 i=0; i < (U32)filter->size(); i++)
-   {
-      char value[32];
-      dSprintf(value, 31, "%1.5f ", *(filter->begin()+i) );
-      dStrcat(buffer, value);
-   }
-
-   return buffer;
-}
-
-ConsoleMethod( GuiFilterCtrl, setValue, void, 3, 20, "( knots ) Sets the knot value for each knot by position.\n"
-																"@param knots a vector containing the knot positions for each knot. Each knot has a value between 0.0 and 1.0.\n"
-																"@return No return value")
-{
-   Filter filter;
-
-   argc -= 2;
-   argv += 2;
-
-   filter.set(argc, argv);
-	object->set(filter);
-}
-
-ConsoleMethod( GuiFilterCtrl, identity, void, 2, 2, "() Resets the filter and places all knots on a line following a 45 degree angle from 0.0 (bottom) on the left to 1.0 (top) on the right.\n"
-																"@return No return value")
-{
-   object->identity();
-}
-
-bool GuiFilterCtrl::onWake()
-{
-   if (!Parent::onWake())
-      return false;
-
-   if (U32(mControlPointRequest) != mFilter.size())
-   {
-      mFilter.setSize(mControlPointRequest);
-      identity();
-   }
-
-   return true;
-}
-
-
-void GuiFilterCtrl::identity()
-{
-   S32 size = mFilter.size()-1;
-   for (U32 i=0; S32(i) <= size; i++)
-      mFilter[i] = (F32)i/(F32)size;
-}
-
-
-void GuiFilterCtrl::onMouseDown(const GuiEvent &event)
-{
-   mouseLock();
-   setFirstResponder();
-
-   Point2I p = globalToLocalCoord(event.mousePoint);
-
-   // determine which knot (offset same as in onRender)
-   F32 w = F32(mBounds.extent.x-4) / F32(mFilter.size()-1);
-   F32 val = (F32(p.x) + (w / 2.f)) / w;
-   mCurKnot = S32(val);
-
-   mFilter[mCurKnot] = 1.0f - F32(getMin(getMax(0, p.y), mBounds.extent.y)/(F32)mBounds.extent.y);
-   setUpdate();
-}
-
-
-void GuiFilterCtrl::onMouseDragged(const GuiEvent &event)
-{
-   mouseLock();
-   setFirstResponder();
-
-   Point2I p = globalToLocalCoord(event.mousePoint);
-   mFilter[mCurKnot] = 1.0f - F32(getMin(getMax(0, p.y), mBounds.extent.y)/(F32)mBounds.extent.y);
-   setUpdate();
-}
-
-void GuiFilterCtrl::onMouseUp(const GuiEvent &)
-{
-   mouseUnlock();
-   if (mConsoleCommand[0])
-      Con::evaluate(mConsoleCommand, false);
-}
-
-void GuiFilterCtrl::onPreRender()
-{
-   if(U32(mControlPointRequest) != mFilter.size())
-   {
-      mFilter.setSize(mControlPointRequest);
-      identity();
-      setUpdate();
-   }
-}
-
-void GuiFilterCtrl::onRender(Point2I offset, const RectI &updateRect)
-{
-   Point2I pos = offset;
-   Point2I ext = mBounds.extent;
-
-   RectI r(pos, ext);
-   dglDrawRectFill(r, ColorI(255,255,255));
-   dglDrawRect(r, ColorI(0,0,0));
-
-   // shrink by 2 pixels
-   pos.x += 2;
-   pos.y += 2;
-   ext.x -= 4;
-   ext.y -= 4;
-
-#if defined(TORQUE_OS_IOS) || defined(TORQUE_OS_ANDROID) || defined(TORQUE_OS_EMSCRIPTEN)
-	//this was the same drawing as dglDrawLine		<Mat>
-	dglDrawLine( (pos.x), (pos.y+ext.y), (pos.x+ext.x), (pos.y), ColorI(255 *0.9, 255 *0.9, 255 *0.9, 255 *1) );
-
-   // draw the curv
-   glColor4f(0.4f, 0.4f, 0.4f, 1.0f);
-
-	GLfloat verts[] = {
-		0.0f, 0.0f,
-		0.0f, 0.0f		
-	};
-	glVertexPointer(2, GL_FLOAT, 0, verts );	
-
-	F32 scale = 1.0f/F32(ext.x);
-
-	F32 index = 0;
-	S32 y = (S32)(ext.y*(1.0f-mFilter.getValue(index)));
-	verts[0] = pos.x;
-	verts[1] = pos.y+y;
-	
-	//unreaveled, i = 0 above
-	for (U32 i=1; S32(i) < ext.x; i++)
-      {
-         index = F32(i)*scale;
-         y = (S32)(ext.y*(1.0f-mFilter.getValue(index)));
-         //glVertex2i(pos.x+i, pos.y+y );
-		  verts[2] = pos.x+i;
-		  verts[3] = pos.y+y;
-
-		  // need to draw a line between each point, and the previous point, so save this point for next time (we get the very first point outside this loop)
-		  glDrawArrays(GL_LINES, 0, 2);
-		  verts[0] = verts[2];
-		  verts[1] = verts[3];
-      }
-#else
-   // draw the identity line
-   glColor3f(0.9f, 0.9f, 0.9f);
-   glBegin(GL_LINES);
-      glVertex2i(pos.x, pos.y+ext.y);
-      glVertex2i(pos.x+ext.x, pos.y);
-   glEnd();
-
-   // draw the curve
-   glColor3f(0.4f, 0.4f, 0.4f);
-   glBegin(GL_LINE_STRIP);
-
-      F32 scale = 1.0f/F32(ext.x);
-      for (U32 i=0; S32(i) < ext.x; i++)
-      {
-         F32 index = F32(i)*scale;
-         S32 y = (S32)(ext.y*(1.0f-mFilter.getValue(index)));
-         glVertex2i(pos.x+i, pos.y+y );
-      }
-   glEnd();
-#endif
-
-   // draw the knots
-   for (U32 k=0; k < (U32)mFilter.size(); k++)
-   {
-      RectI r;
-      r.point.x = (S32)(((F32)ext.x/(F32)(mFilter.size()-1)*(F32)k));
-      r.point.y = (S32)(ext.y - ((F32)ext.y * mFilter[k]));
-      r.point += pos + Point2I(-2,-2);
-      r.extent = Point2I(5,5);
-
-      dglDrawRectFill(r, ColorI(255,0,0));
-   }
-
-   renderChildControls(offset, mBounds, updateRect);
-}
-
-
-
-//--------------------------------------
-void Filter::set(S32 argc, const char *argv[])
-{
-   setSize(0);
-   if (argc == 1)
-   {  // in the form of one string "1.0 1.0 1.0"
-      char list[1024];
-      dStrcpy(list, *argv);    // strtok modifies the string so we need to copy it
-      char *value = dStrtok(list, " ");
-      while (value)
-      {
-         push_back(dAtof(value));
-         value = dStrtok(NULL, " ");
-      }
-   }
-   else
-   {  // in the form of seperate strings "1.0" "1.0" "1.0"
-      for (; argc ; argc--, argv++)
-         push_back(dAtof(*argv));
-   }
-}
-
-
-//--------------------------------------
-F32 Filter::getValue(F32 x) const
-{
-   if (size() < 2)
-      return 0.0f;
-
-   x = mClampF(x, 0.0f, 1.0f);
-   x *= F32(size()-1);
-
-   F32 p0,p1,p2,p3;
-   S32 i1 = (S32)mFloor(x);
-   S32 i2 = i1+1;
-   F32 dt = x - F32(i1);
-
-   p1 = *(begin()+i1);
-   p2 = *(begin()+i2);
-
-   if (i1 == 0)
-      p0 = p1 + (p1 - p2);
-   else
-      p0 = *(begin()+i1-1);
-
-   if (i2 == S32(size()-1))
-      p3 = p2 + (p2 - p1);
-   else
-      p3 = *(begin()+i2+1);
-
-   return mClampF( mCatmullrom(dt, p0, p1, p2, p3), 0.0f, 1.0f );
-}
-
-
-
-
-
-

+ 0 - 91
engine/source/gui/editor/guiFilterCtrl.h

@@ -1,91 +0,0 @@
-//-----------------------------------------------------------------------------
-// Copyright (c) 2013 GarageGames, LLC
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to
-// deal in the Software without restriction, including without limitation the
-// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-// IN THE SOFTWARE.
-//-----------------------------------------------------------------------------
-
-#ifndef _GUIFILTERCTRL_H_
-#define _GUIFILTERCTRL_H_
-
-#ifndef _GUICONTROL_H_
-#include "gui/guiControl.h"
-#endif
-
-
-
-//--------------------------------------
-// helper class
-class Filter: public Vector<F32>
-{
-public:
-   Filter() : Vector<F32>(__FILE__, __LINE__) { }
-
-   void set(S32 argc, const char *argv[]);
-   F32  getValue(F32 t) const;
-};
-
-
-//--------------------------------------
-class GuiFilterCtrl : public GuiControl
-{
-  private:
-   typedef GuiControl Parent;
-
-   S32 mControlPointRequest;
-   S32 mCurKnot;
-   Filter mFilter;
-
-  public:
-   //creation methods
-   DECLARE_CONOBJECT(GuiFilterCtrl);
-   GuiFilterCtrl();
-   static void initPersistFields();
-
-   //Parental methods
-   bool onWake();
-
-   void onMouseDown(const GuiEvent &event);
-   void onMouseDragged(const GuiEvent &event);
-   void onMouseUp(const GuiEvent &);
-
-   F32  getValue(S32 n);
-   const Filter* get() { return &mFilter; }
-   void set(const Filter &f);
-   S32  getNumControlPoints() {return mFilter.size(); }
-   void identity();
-
-   void onPreRender();
-   void onRender(Point2I offset, const RectI &updateRect );
-};
-
-
-inline F32 GuiFilterCtrl::getValue(S32 n)
-{
-   getMin(getMax(n,0), (S32)mFilter.size()-1);
-   return mFilter[n];
-}
-
-
-inline void GuiFilterCtrl::set(const Filter &f)
-{
-   mControlPointRequest = f.size();
-   mFilter = f;
-}
-
-#endif