Test of forward button
This commit is contained in:
@@ -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;}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
26
main.cpp
26
main.cpp
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user