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;
}
void BaseButtonInstance::setButtonListener(ButtonListener* buttonListener)
{
listener = buttonListener;
}
void BaseButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouseDown){}
bool BaseButtonInstance::mouseInButton(float mousex, float mousey, RenderDevice* rd){return false;}

View File

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

View File

@@ -134,6 +134,6 @@ void ImageButtonInstance::drawObj(RenderDevice* rd, Vector2 mousePos, bool mouse
rd->popState();
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
rendering mode so you can fly around the scene.
*/
class Demo : public GApplet {
public:
@@ -135,6 +140,8 @@ class App : public GApp {
HWND mainHWnd;
};
App *usableApp = NULL;
HWND App::getHWND()
{
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()
{
TextButtonInstance* button = makeTextButton();
@@ -353,6 +374,7 @@ void initGUI()
button->setAllColorsSame();
ImageButtonInstance* instance = makeImageButton(go, go_ovr, go_dn);
instance->name = "go";
instance->size = Vector2(65,65);
instance->position = Vector2(6.5, 25);
instance->parent = dataModel;
@@ -429,7 +451,7 @@ void initGUI()
instance->floatRight = true;
instance->position = Vector2(-77, -90);
instance->parent = dataModel;
instance->disabled = true;
instance->setButtonListener(new ForwardButtonListener());
instance = makeImageButton(
Texture::fromFile(GetFileInPath("/content/images/CameraZoomOut.png")),
@@ -1130,6 +1152,7 @@ void Demo::onGraphics(RenderDevice* rd) {
void App::main() {
usableApp = this;
setDebugMode(false);
debugController.setActive(false);
// Load objects here
@@ -1262,6 +1285,7 @@ int main(int argc, char** argv) {
if(hwndMain == NULL)
{
MessageBox(NULL, "Failed to create HWND","Dynamica Crash", MB_OK);
return 0;
}
SetParent(hwnd, hwndMain);
App app = App(settings, wnd, hwndMain, wnd);