Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __OgreViewportOverlay_H__
00037 #define __OgreViewportOverlay_H__
00038
00039 #include "Ogre.h"
00040 #include "OgrePanelOverlayElement.h"
00041 #include "Position.h"
00042
00043 using namespace Ogre;
00044
00045 class OgreViewportOverlay
00046 {
00047 public:
00048 bool isVisible;
00049 int width, height;
00050 Hikari::Position position;
00051
00052 Ogre::Viewport* viewport;
00053 Ogre::PanelOverlayElement* panel;
00054 Ogre::Overlay* overlay;
00055
00056 OgreViewportOverlay(const std::string& name, Ogre::Viewport* viewport, int width, int height, const Hikari::Position& pos, const std::string& matName, unsigned short zOrder);
00057 ~OgreViewportOverlay();
00058
00059 inline PanelOverlayElement* getPanel()
00060 {
00061 return panel;
00062 }
00063 inline Viewport* getViewport()
00064 {
00065 return viewport;
00066 }
00067 inline Overlay* getOverlay()
00068 {
00069 return overlay;
00070 }
00071
00072 inline void setViewport(Ogre::Viewport* _viewport)
00073 {
00074 viewport = _viewport;
00075 };
00076 inline void setOverlay(Ogre::Overlay* _overlay)
00077 {
00078 overlay = _overlay;
00079 };
00080 inline void setPanelOverlayElement(Ogre::PanelOverlayElement* _panel)
00081 {
00082 panel =_panel;
00083 };
00084
00085 void move(int deltaX, int deltaY);
00086 void setPosition(const Hikari::Position& position);
00087 void resetPosition();
00088
00089 void resize(int width, int height);
00090
00091 void hide();
00092 void show();
00093
00094 int getRelativeX(int absX);
00095 int getRelativeY(int absY);
00096
00097 bool isWithinBounds(int absX, int absY);
00098 };
00099
00100
00101
00102 #endif