From 0e3968acd4f80589b4ad3a4cc6405446b48a666f Mon Sep 17 00:00:00 2001 From: Vulpovile Date: Mon, 15 Mar 2021 01:53:25 -0700 Subject: [PATCH] Added surface tool --- Blocks3D.vcproj | 12 +++++++---- content/page/surface.html | 14 ++++++------ src/include/Enum.h | 2 +- src/include/Enums.h | 16 -------------- src/include/Tool/ArrowTool.h | 12 +++++------ src/include/Tool/SurfaceTool.h | 20 +++++++++++++++++ src/source/Application.cpp | 4 ++-- src/source/IEBrowser.cpp | 24 +++++++++++++++++++++ src/source/Tool/SurfaceTool.cpp | 38 +++++++++++++++++++++++++++++++++ 9 files changed, 106 insertions(+), 36 deletions(-) delete mode 100644 src/include/Enums.h create mode 100644 src/include/Tool/SurfaceTool.h create mode 100644 src/source/Tool/SurfaceTool.cpp diff --git a/Blocks3D.vcproj b/Blocks3D.vcproj index 3727dad..8fc48b9 100644 --- a/Blocks3D.vcproj +++ b/Blocks3D.vcproj @@ -311,6 +311,10 @@ RelativePath=".\src\source\Tool\ArrowTool.cpp" > + + @@ -661,10 +665,6 @@ RelativePath=".\src\include\Enum.h" > - - @@ -788,6 +788,10 @@ RelativePath=".\src\include\Tool\ArrowTool.h" > + + diff --git a/content/page/surface.html b/content/page/surface.html index 1b1b295..29d4e09 100644 --- a/content/page/surface.html +++ b/content/page/surface.html @@ -12,12 +12,12 @@ } - - - - - - - + + + + + + + \ No newline at end of file diff --git a/src/include/Enum.h b/src/include/Enum.h index 5c4dea7..1b1209b 100644 --- a/src/include/Enum.h +++ b/src/include/Enum.h @@ -5,7 +5,7 @@ namespace Enum namespace SurfaceType { enum Value { - Smooth, Snaps, Inlets, Glue, Weld, Spawn, Hinge, Motor, Bumps + Smooth = 0, Bumps = 1, Hinge = 2, Motor = 3, StepperMotor = 4, Spawn = 5 }; } namespace Shape diff --git a/src/include/Enums.h b/src/include/Enums.h deleted file mode 100644 index de05182..0000000 --- a/src/include/Enums.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef UENUMS -#ifndef ENUM_H -#define ENUM_H -static enum BinType {GameTool, Grab, Clone, Hammer}; -static enum ControllerType {None, KeyboardRight, KeyboardLeft, Joypad1, Joypad2, Chase, Flee}; -//static enum JointType {UNK0, WeldJoint, SnapJoint, UNK3, Rotate, RotateP, RotateV, GlueJoint, UNK8, UNK9, None}; -static enum ActionType {Nothing, Pause, Lose, Draw, Win}; -static enum AffectType {NoChange, Increase, Decrease}; -static enum InputType {NoInput, LeftTread, RightTread, Steer, Throtle, UpDown, Action1, Action2, Action3, Action4, Action5, Constant, Sin}; -//static enum SurfaceConstraint {None, Hinge, SteppingMotor, Motor}; -static enum SurfaceType{Smooth, Snaps, Inlets, Glue, Weld, Spawn, Hinge, Motor, Bumps}; -static enum SoundType {NoSound, Boing, Bomb, Break, Click, Clock, Slingshot, Page, Ping, Snap, Splat, Step, StepOn, Swoosh, Victory}; -static enum PartType {Ball, Block, Cylinder}; -static enum KeywordFilterType {Include, Exclude}; -#endif -#endif \ No newline at end of file diff --git a/src/include/Tool/ArrowTool.h b/src/include/Tool/ArrowTool.h index 0da873d..c46c635 100644 --- a/src/include/Tool/ArrowTool.h +++ b/src/include/Tool/ArrowTool.h @@ -7,12 +7,12 @@ class ArrowTool : public: ArrowTool(void); //OnSelect? ~ArrowTool(void); //OnDeselect? - virtual void onButton1MouseDown(Mouse); - virtual void onButton1MouseUp(Mouse); - virtual void onMouseMoved(Mouse mouse); - virtual void onSelect(Mouse mouse); - virtual void onKeyDown(int key); - virtual void onKeyUp(int key); + void onButton1MouseDown(Mouse); + void onButton1MouseUp(Mouse); + void onMouseMoved(Mouse mouse); + void onSelect(Mouse mouse); + void onKeyDown(int key); + void onKeyUp(int key); private: bool lctrlDown; bool rctrlDown; diff --git a/src/include/Tool/SurfaceTool.h b/src/include/Tool/SurfaceTool.h new file mode 100644 index 0000000..cbb53d6 --- /dev/null +++ b/src/include/Tool/SurfaceTool.h @@ -0,0 +1,20 @@ +#pragma once +#include "tool.h" +#include "Enum.h" + +class SurfaceTool : + public Tool +{ +public: + SurfaceTool(Enum::SurfaceType::Value surface, int extraParam); //OnSelect? + ~SurfaceTool(void); //OnDeselect? + void onButton1MouseDown(Mouse); + void onButton1MouseUp(Mouse); + void onMouseMoved(Mouse mouse); + void onSelect(Mouse mouse); + void onKeyDown(int key); + void onKeyUp(int key); +private: + Enum::SurfaceType::Value surface; + int param; +}; diff --git a/src/source/Application.cpp b/src/source/Application.cpp index 05b9741..a9f6d49 100644 --- a/src/source/Application.cpp +++ b/src/source/Application.cpp @@ -135,8 +135,8 @@ Application::Application(HWND parentWindow) : _propWindow(NULL) { //: GApp(setti webBrowser = new IEBrowser(_hwndToolbox); SetProp(_hwndToolbox,"Browser",(HANDLE)webBrowser); - navigateToolbox("http://androdome.com/res/ClientToolbox.php"); - //navigateToolbox(GetFileInPath("/content/page/controller.html")); + //navigateToolbox("http://androdome.com/res/ClientToolbox.php"); + navigateToolbox(GetFileInPath("/content/page/surface.html")); //navigateToolbox(GetFileInPath("/content/page/controller.html")); } diff --git a/src/source/IEBrowser.cpp b/src/source/IEBrowser.cpp index 60e91cd..57655c9 100644 --- a/src/source/IEBrowser.cpp +++ b/src/source/IEBrowser.cpp @@ -9,6 +9,8 @@ #include "Globals.h" #pragma once #include "ax.h" +#include "Tool/SurfaceTool.h" +#include "Application.h" HRESULT IEBrowser::doExternal(std::wstring funcName, DISPID dispIdMember, @@ -53,6 +55,28 @@ HRESULT IEBrowser::doExternal(std::wstring funcName, AudioPlayer::playSound(dingSound); return S_OK; } + else if(funcName==L"SetSurface") + { + if(pDispParams->cArgs < 2) + return E_NOTIMPL; + int j = pDispParams->rgvarg->intVal; + int i = (pDispParams->rgvarg+1)->intVal; + printf("Got values %d and %d", i, j); + if(i > 5 || i < 0) + return E_NOTIMPL; + g_usableApp->changeTool(new SurfaceTool((Enum::SurfaceType::Value)i, j)); + /*VARIANT val1; + VARIANT val2; + unsigned int puArgErr; + HRESULT res = DispGetParam(pDispParams,1,VT_VARIANT,&val1, &puArgErr); + if(res != S_OK) + return res; + //res = DispGetParam(pDispParams,1,VT_UI4,&val2, &puArgErr); + //if(res != S_OK) + //return res; + */ + return S_OK; + } else if(funcName==L"SetColor") { diff --git a/src/source/Tool/SurfaceTool.cpp b/src/source/Tool/SurfaceTool.cpp new file mode 100644 index 0000000..541673d --- /dev/null +++ b/src/source/Tool/SurfaceTool.cpp @@ -0,0 +1,38 @@ +#include "Tool/SurfaceTool.h" +#include "Application.h" + +SurfaceTool::SurfaceTool(Enum::SurfaceType::Value theSurface, int extraParam) +{ + surface = theSurface; + param = extraParam; +} + +SurfaceTool::~SurfaceTool(void) +{ +} + +void SurfaceTool::onButton1MouseDown(Mouse mouse) +{ + +} +void SurfaceTool::onButton1MouseUp(Mouse mouse) +{ + +} + +void SurfaceTool::onMouseMoved(Mouse mouse) +{ +} +void SurfaceTool::onSelect(Mouse mouse) +{ +} + +void SurfaceTool::onKeyDown(int key) +{ + +} + +void SurfaceTool::onKeyUp(int key) +{ + +} \ No newline at end of file