Test of forward button

This commit is contained in:
andreja6
2018-04-24 20:24:34 -07:00
parent a9d533e447
commit 1f7c5b28f8
4 changed files with 33 additions and 2 deletions

View File

@@ -16,6 +16,11 @@ BaseButtonInstance::~BaseButtonInstance(void)
delete listener; delete listener;
} }
void BaseButtonInstance::setButtonListener(ButtonListener* buttonListener)
{
listener = buttonListener;
}
void BaseButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown){} void BaseButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown){}
bool BaseButtonInstance::mouseInButton(float mousex, float mousey, RenderDevice* rd){return false;} bool BaseButtonInstance::mouseInButton(float mousex, float mousey, RenderDevice* rd){return false;}

View File

@@ -2,6 +2,7 @@
#include "instance.h" #include "instance.h"
#pragma once #pragma once
#include "ButtonListener.h" #include "ButtonListener.h"
class ButtonListener;
class BaseButtonInstance : public Instance class BaseButtonInstance : public Instance
{ {
public: public:
@@ -10,6 +11,7 @@ public:
virtual void drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown); virtual void drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown);
virtual bool mouseInButton(float, float, RenderDevice* rd); virtual bool mouseInButton(float, float, RenderDevice* rd);
virtual void onMouseClick(); virtual void onMouseClick();
void setButtonListener(ButtonListener*);
bool floatBottom; bool floatBottom;
bool floatRight; bool floatRight;
bool floatCenter; bool floatCenter;

View File

@@ -134,6 +134,6 @@ void ImageButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouse
rd->popState(); rd->popState();
if(drawDisabledBox) if(drawDisabledBox)
{ {
Draw::box(Box(Vector3(positionRelative.x, positionRelative.y, 0), Vector3(positionRelative.x+size.x, positionRelative.y+size.y, 0)), rd, Color4(0.7,0.7,0.7,0.3), Color4::clear()); Draw::box(Box(Vector3(positionRelative.x, positionRelative.y, 0), Vector3(positionRelative.x+size.x, positionRelative.y+size.y, 0)), rd, Color4(0.7F,0.7F,0.7F,0.3F), Color4::clear());
} }
} }

View File

@@ -66,6 +66,11 @@ Instance* selectedInstance = NULL;
This simple demo applet uses the debug mode as the regular This simple demo applet uses the debug mode as the regular
rendering mode so you can fly around the scene. rendering mode so you can fly around the scene.
*/ */
class Demo : public GApplet { class Demo : public GApplet {
public: public:
@@ -135,6 +140,8 @@ class App : public GApp {
HWND mainHWnd; HWND mainHWnd;
}; };
App *usableApp = NULL;
HWND App::getHWND() HWND App::getHWND()
{ {
return hwnd; return hwnd;
@@ -225,6 +232,20 @@ ImageButtonInstance* makeImageButton(G3D::TextureRef newImage = NULL, G3D::Textu
} }
class ForwardButtonListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};
void ForwardButtonListener::onButton1MouseClick(BaseButtonInstance*)
{
CoordinateFrame frame = usableApp->renderDevice->getCameraToWorldMatrix();
cameraPos = Vector3(cameraPos.x, cameraPos.y, cameraPos.z) + frame.lookVector()*2;
}
void initGUI() void initGUI()
{ {
TextButtonInstance* button = makeTextButton(); TextButtonInstance* button = makeTextButton();
@@ -353,6 +374,7 @@ void initGUI()
button->setAllColorsSame(); button->setAllColorsSame();
ImageButtonInstance* instance = makeImageButton(go, go_ovr, go_dn); ImageButtonInstance* instance = makeImageButton(go, go_ovr, go_dn);
instance->name = "go";
instance->size = Vector2(65,65); instance->size = Vector2(65,65);
instance->position = Vector2(6.5, 25); instance->position = Vector2(6.5, 25);
instance->parent = dataModel; instance->parent = dataModel;
@@ -429,7 +451,7 @@ void initGUI()
instance->floatRight = true; instance->floatRight = true;
instance->position = Vector2(-77, -90); instance->position = Vector2(-77, -90);
instance->parent = dataModel; instance->parent = dataModel;
instance->disabled = true; instance->setButtonListener(new ForwardButtonListener());
instance = makeImageButton( instance = makeImageButton(
Texture::fromFile(GetFileInPath("/content/images/CameraZoomOut.png")), Texture::fromFile(GetFileInPath("/content/images/CameraZoomOut.png")),
@@ -1130,6 +1152,7 @@ void Demo::onGraphics(RenderDevice* rd) {
void App::main() { void App::main() {
usableApp = this;
setDebugMode(false); setDebugMode(false);
debugController.setActive(false); debugController.setActive(false);
// Load objects here // Load objects here
@@ -1262,6 +1285,7 @@ int main(int argc, char** argv) {
if(hwndMain == NULL) if(hwndMain == NULL)
{ {
MessageBox(NULL, "Failed to create HWND","Dynamica Crash", MB_OK); MessageBox(NULL, "Failed to create HWND","Dynamica Crash", MB_OK);
return 0;
} }
SetParent(hwnd, hwndMain); SetParent(hwnd, hwndMain);
App app = App(settings, wnd, hwndMain, wnd); App app = App(settings, wnd, hwndMain, wnd);